From 1f064e322a9234db9d20271b69db8cd998f26347 Mon Sep 17 00:00:00 2001 From: Joe0 Date: Fri, 2 Dec 2011 09:13:22 -0600 Subject: [PATCH] Partial fix for issue #23. Objects that are still 'walkable' should be excluded from the additional distance. --- .../src/org/moparscape/msc/gs/event/WalkToPointEvent.java | 2 +- .../src/org/moparscape/msc/gs/phandler/client/PickupItem.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/GameServer/src/org/moparscape/msc/gs/event/WalkToPointEvent.java b/GameServer/src/org/moparscape/msc/gs/event/WalkToPointEvent.java index c6814c5..48ff618 100644 --- a/GameServer/src/org/moparscape/msc/gs/event/WalkToPointEvent.java +++ b/GameServer/src/org/moparscape/msc/gs/event/WalkToPointEvent.java @@ -29,8 +29,8 @@ public abstract class WalkToPointEvent extends DelayedEvent { public final void run() { if (stop && owner.withinRange(location, radius)) { - owner.resetPath(); arrived(); + owner.resetPath(); } else if (owner.hasMoved()) { return; // We're still moving } else if (owner.withinRange(location, radius)) { diff --git a/GameServer/src/org/moparscape/msc/gs/phandler/client/PickupItem.java b/GameServer/src/org/moparscape/msc/gs/phandler/client/PickupItem.java index bcb4428..3f59f43 100644 --- a/GameServer/src/org/moparscape/msc/gs/phandler/client/PickupItem.java +++ b/GameServer/src/org/moparscape/msc/gs/phandler/client/PickupItem.java @@ -75,8 +75,9 @@ public class PickupItem implements PacketHandler { } player.setStatus(Action.TAKING_GITEM); + int distance = tile.hasGameObject() ? 1 : 0; Instance.getDelayedEventHandler().add( - new WalkToPointEvent(player, location, 0, true) { + new WalkToPointEvent(player, location, distance, true) { public void arrived() { if (owner.isBusy() || owner.isRanging() || !tile.hasItem(item) || !owner.nextTo(item)