diff --git a/src/services/objects/ObjectManager.java b/src/services/objects/ObjectManager.java index e2f42918e..059a6ff6d 100644 --- a/src/services/objects/ObjectManager.java +++ b/src/services/objects/ObjectManager.java @@ -221,7 +221,7 @@ public class ObjectManager extends Manager { private void updateAwarenessForObject(SWGObject obj) { Location location = obj.getLocation(); - if (location == null) + if (location == null || location.getTerrain() == null) return; List updatedAware = new ArrayList(); double x = location.getX(); diff --git a/src/services/player/ZoneService.java b/src/services/player/ZoneService.java index b17a69dc2..aeb9c23cb 100644 --- a/src/services/player/ZoneService.java +++ b/src/services/player/ZoneService.java @@ -161,7 +161,7 @@ public class ZoneService extends Service { private long createCharacter(ObjectManager objManager, Player player, ClientCreateCharacter create) { Location start = getStartLocation(create.getStart()); Race race = Race.getRaceByFile(create.getRace()); - CreatureObject creatureObj = (CreatureObject) objManager.createObject(race.getFilename()); + CreatureObject creatureObj = (CreatureObject) objManager.createObject(race.getFilename(), start); PlayerObject playerObj = (PlayerObject) objManager.createObject("object/player/shared_player.iff"); setCreatureObjectValues(objManager, creatureObj, create); @@ -170,7 +170,6 @@ public class ZoneService extends Service { createStarterClothing(objManager, creatureObj, create.getRace(), create.getClothes()); creatureObj.setVolume(0x000F4240); - creatureObj.setLocation(start); creatureObj.setOwner(player); creatureObj.setSlot("ghost", playerObj); playerObj.setTag(player.getAccessLevel());