diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 59640e4a..7c512e91 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -656,7 +656,21 @@ public class ObjectService implements INetworkDispatch { } public CreatureObject getCreatureFromDB(long objectId) { - return core.getCreatureODB().get(new Long(objectId), Long.class, CreatureObject.class); + CreatureObject object = core.getCreatureODB().get(new Long(objectId), Long.class, CreatureObject.class); + + if (object != null && getObject(object.getObjectID()) == null) { + loadServerTemplate(object); + + object.viewChildren(object, true, true, new Traverser() { + + public void process(SWGObject child) { + loadServerTemplate(child); + } + + }); + } + + return object; } public long generateObjectID() {