From 77ecea1253753d99e6f4e4fdb36c622184e0ae43 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Sun, 17 Jun 2012 13:12:36 +0400 Subject: [PATCH] Combat NPE fix for mad ai --- .../src/mage/player/ai/util/CombatUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java index dfaf52788c7..a113c30076a 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java @@ -186,7 +186,8 @@ public class CombatUtil { List blockers = new ArrayList(); for (Permanent blocker : possibleBlockers) { SurviveInfo info = willItSurvive(game, attackerId, defenderId, attacker, blocker); - if (info.isAttackerDied() && !info.isBlockerDied()) { + //if (info.isAttackerDied() && !info.isBlockerDied()) { + if (info.isAttackerDied()) { blockers.add(blocker); } } @@ -200,6 +201,10 @@ public class CombatUtil { combat.setAttacker(attackingPlayerId); combat.setDefenders(sim); + if (blocker == null || attacker == null || sim.getPlayer(defendingPlayerId) == null) { + return null; + } + sim.getPlayer(defendingPlayerId).declareBlocker(blocker.getId(), attacker.getId(), sim); sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_BLOCKERS, defendingPlayerId, defendingPlayerId));