From a3b99c7ff047017b4198cafae878f4477c25ea74 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 7 Sep 2012 20:48:44 +0400 Subject: [PATCH] Fixed AI exception for TargetCardInOpponentsGraveyard --- .../java/mage/player/ai/ComputerPlayer.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index deab60f3c1f..62842746666 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -432,7 +432,7 @@ public class ComputerPlayer> extends PlayerImpl i } } - if (!target.isRequired()) + //if (!target.isRequired()) return false; } if (target instanceof TargetCardInGraveyard) { @@ -445,7 +445,7 @@ public class ComputerPlayer> extends PlayerImpl i target.addTarget(card.getId(), source, game); return true; } - if (!target.isRequired()) + //if (!target.isRequired()) return false; } if (target instanceof TargetCardInLibrary) { @@ -479,6 +479,22 @@ public class ComputerPlayer> extends PlayerImpl i } return false; } + if (target instanceof TargetCardInOpponentsGraveyard) { + List cards = new ArrayList(); + for (UUID uuid: game.getOpponents(playerId)) { + Player player = game.getPlayer(uuid); + if (player != null) { + cards.addAll(player.getGraveyard().getCards(game)); + } + } + Card card = pickTarget(cards, outcome, target, source, game); + if (card != null) { + target.addTarget(card.getId(), source, game); + return true; + } + //if (!target.isRequired()) + return false; + } throw new IllegalStateException("Target wasn't handled. class:" + target.getClass().toString()); }