diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 5fc185ac4..7a3278c53 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -54,7 +54,6 @@ public class CreatureObject extends TangibleObject { public CreatureObject(long objectId) { super(objectId); - setStf("species", race.getSpecies()); // TODO: Remove when automatic stf is in } public SWGList getEquipmentList() { diff --git a/src/resources/objects/weapon/WeaponObject.java b/src/resources/objects/weapon/WeaponObject.java index d2dbc22ab..9b70e8015 100644 --- a/src/resources/objects/weapon/WeaponObject.java +++ b/src/resources/objects/weapon/WeaponObject.java @@ -17,8 +17,6 @@ public class WeaponObject extends TangibleObject implements Encodable{ public WeaponObject(long objectId) { super(objectId); setComplexity(0); - setStf("weapon_name", "default_weapon"); // TODO: Remove when automatic stf is in - setDetailStf("weapon_name", "default_weapon"); // TODO: Remove when automatic stf is in } diff --git a/src/services/objects/ObjectManager.java b/src/services/objects/ObjectManager.java index 39cfca4d3..db5b61562 100644 --- a/src/services/objects/ObjectManager.java +++ b/src/services/objects/ObjectManager.java @@ -21,6 +21,8 @@ import network.packets.swg.zone.insertion.SelectCharacter; import resources.Location; import resources.Race; import resources.Terrain; +import resources.client_info.ClientFactory; +import resources.client_info.visitors.ObjectData; import resources.control.Intent; import resources.control.Manager; import resources.objects.SWGObject; @@ -40,6 +42,8 @@ public class ObjectManager extends Manager { private static final double AWARE_RANGE = 200; + private ClientFactory clientFac; + private ObjectDatabase objects; private Map > quadTree; private long maxObjectId; @@ -74,6 +78,9 @@ public class ObjectManager extends Manager { } } }); + + clientFac = new ClientFactory(); + return super.initialize(); } @@ -120,6 +127,7 @@ public class ObjectManager extends Manager { synchronized (objects) { long objectId = getNextObjectId(); SWGObject obj = createObjectFromTemplate(objectId, template); + addObjectAttributes(obj, template); obj.setTemplate(template); obj.setLocation(l); objects.put(objectId, obj); @@ -127,6 +135,14 @@ public class ObjectManager extends Manager { } } + private void addObjectAttributes(SWGObject obj, String template) { + + ObjectData attributes = (ObjectData) clientFac.getInfoFromFile(ClientFactory.formatToSharedFile(template)); + + obj.setStf((String) attributes.getAttribute("objectName")); + obj.setDetailStf((String) attributes.getAttribute("detailedDescription")); + } + private void zoneInCharacter(PlayerManager playerManager, long netId, long characterId) { Player player = playerManager.getPlayerFromNetworkId(netId); if (player != null) {