diff --git a/evennia/typeclasses/attributes.py b/evennia/typeclasses/attributes.py index 4a00504bef..963877ff3e 100644 --- a/evennia/typeclasses/attributes.py +++ b/evennia/typeclasses/attributes.py @@ -202,6 +202,21 @@ class AttributeProperty: self._lockstring = lockstring self._autocreate = autocreate self._key = "" + + @property + def _default(self): + """ + Tries returning a new instance of default if callable. + + """ + if callable(self.__default): + return self.__default() + + return self.__default + + @_default.setter + def _default(self, value): + self.__default = value def __set_name__(self, cls, name): """