From 3cad7bf21219c27858c984d6177791ef44bae8af Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 26 Aug 2014 16:16:52 -0400 Subject: [PATCH] Fixed waypoint not being destroyed for quests --- src/services/object/ObjectService.java | 3 ++- src/services/quest/QuestService.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) 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);