diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index ad8bf34c..61420105 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -665,7 +665,8 @@ public class ObjectService implements INetworkDispatch { parent.remove(object); object.setParentId(parentId); } else { - core.simulationService.remove(object, object.getWorldPosition().x, object.getWorldPosition().z, true); + if (!(object instanceof WaypointObject)) + core.simulationService.remove(object, object.getWorldPosition().x, object.getWorldPosition().z, true); } @SuppressWarnings("unchecked") Vector childObjects = (Vector) object.getAttachment("childObjects"); if(childObjects != null) diff --git a/src/services/quest/QuestService.java b/src/services/quest/QuestService.java index b1052ff6..294a8211 100644 --- a/src/services/quest/QuestService.java +++ b/src/services/quest/QuestService.java @@ -274,8 +274,10 @@ public class QuestService implements INetworkDispatch { QuestTask task = qData.getTasks().get(activeStep); - if (quest.getWaypointId() != 0) + if (quest.getWaypointId() != 0) { + player.getWaypoints().remove(quest.getWaypointId()); core.objectService.destroyObject(quest.getWaypointId()); + } if (quest.getTimer() != null) quest.getTimer().cancel(true);