From ecbd843fb733f98f113acbab58ad8fc001417c2f Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Tue, 24 May 2011 23:47:19 -0400 Subject: [PATCH] fixed some NPEs with AIs --- .../src/mage/player/ai/ComputerPlayer6.java | 7 +++++-- .../src/mage/player/ai/ComputerPlayer2.java | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index dfa67a63c16..93fa87096a8 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -737,8 +737,11 @@ public class ComputerPlayer6 extends ComputerPlayer implements UUID opponentId = game.getCombat().getDefenders().iterator().next(); String attackers = ""; for (UUID attackerId: combat.getAttackers()) { - attackers = "[" + game.getCard(attackerId).getName() + "]"; - this.declareAttacker(attackerId, opponentId, game); + Permanent attacker = game.getPermanent(attackerId); + if (attacker != null) { + attackers = "[" + attacker.getName() + "]"; + this.declareAttacker(attackerId, opponentId, game); + } } logger.info("declare attackers: " + (attackers.isEmpty() ? "none" : attackers)); } diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java index 84a29314ed5..b8b3c1bdc60 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java @@ -59,6 +59,7 @@ import mage.game.Game; import mage.game.combat.Combat; import mage.game.combat.CombatGroup; import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; import mage.game.stack.StackAbility; import mage.game.stack.StackObject; import mage.game.turn.BeginCombatStep; @@ -703,8 +704,11 @@ public class ComputerPlayer2 extends ComputerPlayer implements if (i < combat.getGroups().size()) { for (UUID blockerId: combat.getGroups().get(i).getBlockers()) { this.declareBlocker(blockerId, groups.get(i).getAttackers().get(0), game); - if (logger.isDebugEnabled()) - logger.debug("blocking with:" + game.getPermanent(blockerId).getName()); + if (logger.isDebugEnabled()) { + Permanent blocker = game.getPermanent(blockerId); + if (blocker != null) + logger.debug("blocking with:" + blocker.getName()); + } } } }