From 86fcdf452814ea7ae27b93987b9162bc8a5baeda Mon Sep 17 00:00:00 2001 From: Johnny Date: Tue, 2 Aug 2022 23:47:52 +0000 Subject: [PATCH] AttributeProperty tries spawning child instances of default value (#2697). --- evennia/typeclasses/attributes.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/evennia/typeclasses/attributes.py b/evennia/typeclasses/attributes.py index b8c68bb7ac..90492a13d2 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. + + """ + try: + return self.__default() + except: + return self.__default + + @_default.setter + def _default(self, value): + self.__default = value def __set_name__(self, cls, name): """