diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index b63d21f6..ecb05f66 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -1316,18 +1316,17 @@ public enum CombatManager { Mob attackedMobile = (Mob) target; + //handle minion informing his captain of an attack + + if (attackedMobile.agentType.equals(AIAgentType.GUARDMINION) && attackedMobile.guardCaptain != null && attackedMobile.guardCaptain.isAlive()) + if (attackedMobile.guardCaptain.combatTarget == null) + attackedMobile.guardCaptain.setCombatTarget(attacker); + + // Mobile already has a target; don't switch. + if (attackedMobile.getCombatTarget() != null && !attackedMobile.isSiege()) return; - //handle minion informing his captain of the attack - if (attacker.getObjectType().equals(GameObjectType.Mob)) { - Mob mob = (Mob) attacker; - if (mob.agentType.equals(AIAgentType.GUARDMINION) && mob.guardCaptain != null && mob.guardCaptain.isAlive()) - if (mob.guardCaptain.combatTarget == null) - mob.guardCaptain.setCombatTarget(attacker); - - } - attackedMobile.setCombatTarget(attacker); }