diff --git a/src/engine/net/client/handlers/AttackCmdMsgHandler.java b/src/engine/net/client/handlers/AttackCmdMsgHandler.java index ea34f163..1784b2cb 100644 --- a/src/engine/net/client/handlers/AttackCmdMsgHandler.java +++ b/src/engine/net/client/handlers/AttackCmdMsgHandler.java @@ -58,11 +58,6 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler { break; case Building: target = BuildingManager.getBuilding(msg.getTargetID()); - if(target == null) - return true;// early exit for no building pulled - Building targetBuilding = (Building) target; - if (!targetBuilding.isVulnerable() || targetBuilding.getRank() < 0) - return true;// cannot attack destroyed building or protected building break; default: return true;//cannot attack anything other than the 3 above diff --git a/src/engine/net/client/handlers/MoveToPointHandler.java b/src/engine/net/client/handlers/MoveToPointHandler.java index 3c017b13..f81f5111 100644 --- a/src/engine/net/client/handlers/MoveToPointHandler.java +++ b/src/engine/net/client/handlers/MoveToPointHandler.java @@ -9,14 +9,14 @@ package engine.net.client.handlers; +import engine.Enum; import engine.exception.MsgSendException; +import engine.gameManager.BuildingManager; import engine.gameManager.MovementManager; import engine.net.client.ClientConnection; import engine.net.client.msg.ClientNetMsg; import engine.net.client.msg.MoveToPointMsg; -import engine.objects.AbstractWorldObject; -import engine.objects.Building; -import engine.objects.PlayerCharacter; +import engine.objects.*; public class MoveToPointHandler extends AbstractClientMsgHandler { @@ -32,22 +32,24 @@ public class MoveToPointHandler extends AbstractClientMsgHandler { PlayerCharacter pc = (origin != null) ? (origin.getPlayerCharacter()) : null; if (pc == null) return false; - PlayerCharacter player = origin.getPlayerCharacter(); - if (player == null) - return false; - AbstractWorldObject target = player.combatTarget; - - if (target != null) { - switch (target.getObjectType()) { - case NPC: - return false; - case Building: - Building targetBuilding = (Building) target; - if (!targetBuilding.isVulnerable() || targetBuilding.getRank() < 0) - return false; - } + AbstractWorldObject target; + Enum.GameObjectType targetType; + + targetType = Enum.GameObjectType.values()[msg.getTargetType()]; + switch(targetType){ + case Building: + target = BuildingManager.getBuilding(msg.getTargetID()); + if(target == null) + return true;// early exit for no building pulled + Building targetBuilding = (Building) target; + if (!targetBuilding.isVulnerable() || targetBuilding.getRank() < 0) + return true;// cannot attack destroyed building or protected building + break; + case NPC: + return true;//cannot attack anything other than the 3 above } + MovementManager.movement(msg, pc); return true; }