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)