diff --git a/evennia/objects/objects.py b/evennia/objects/objects.py index cabcdccfe2..353d46172f 100644 --- a/evennia/objects/objects.py +++ b/evennia/objects/objects.py @@ -959,7 +959,22 @@ class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)): if obj.key.startswith(key) and obj.key.lstrip(key).isdigit()) return "%s%03i" % (key, num) new_key = new_key or find_clone_key() - return ObjectDB.objects.copy_object(self, new_key=new_key) + new_obj = ObjectDB.objects.copy_object(self, new_key=new_key) + new_obj.at_object_creation_copy(self) + return new_obj + + def at_object_creation_copy(self, source_obj): + """ + Called by DefaultObject.copy(). Meant to be overloaded. In case there's extra data not covered by + .copy(), this can be used to deal with it. + + Args: + source_obj (Object): The Object this was copied from. + + Returns: + None + """ + pass def delete(self): """