From e8b228af1f5ba5bc476f2e3af56f043b7c215000 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 6 Jul 2011 08:55:32 +0400 Subject: [PATCH] Fixed Issue 122. Also fixes issue with searching cards with no actual option. --- .../java/mage/player/ai/ComputerPlayer.java | 3 +++ .../src/mage/player/human/HumanPlayer.java | 13 +++++++++++-- Mage.Server/plugins/mage-player-human.jar | Bin 12278 -> 12535 bytes Mage/src/mage/players/PlayerImpl.java | 3 ++- 4 files changed, 16 insertions(+), 3 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 4f7063f7b8a..0013e29f572 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 @@ -793,6 +793,9 @@ public class ComputerPlayer> extends PlayerImpl i @Override public boolean choose(Outcome outcome, Cards cards, TargetCard target, Game game) { logger.debug("choose"); + if (cards != null && cards.isEmpty()) { + return false; + } while (!target.doneChosing()) { if (cards.isEmpty()) { if (!target.isRequired()) diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index d05fef2ceb6..388aad77b0d 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -241,14 +241,23 @@ public class HumanPlayer extends PlayerImpl { @Override public boolean choose(Outcome outcome, Cards cards, TargetCard target, Game game) { while (!abort) { - game.fireSelectTargetEvent(playerId, target.getMessage(), cards, target.isRequired()); + boolean required = target.isRequired(); + // if there is no cards to select from, then add possibility to cancel choosing action + if (cards == null) { + required = false; + } else { + int count = cards.count(target.getFilter(), game); + if (count == 0) required = false; + } + System.out.println("required: " + required); + game.fireSelectTargetEvent(playerId, target.getMessage(), cards, required); waitForResponse(); if (response.getUUID() != null) { if (target.canTarget(response.getUUID(), cards, game)) { target.add(response.getUUID(), game); return true; } - } else if (!target.isRequired()) { + } else if (!required) { return false; } } diff --git a/Mage.Server/plugins/mage-player-human.jar b/Mage.Server/plugins/mage-player-human.jar index ae6d18af5a4446048e782bd424d821cdb44e175a..b585e9fedade3cce2aa5e0217c47306334b3d831 100644 GIT binary patch delta 9981 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 delta 9750 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 implements Player, Ser //20091005 - 701.14c if (!game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.SEARCH_LIBRARY, playerId, playerId))) { TargetCardInLibrary newTarget; - if (library.count(target.getFilter(), game) < target.getNumberOfTargets()) + int count = library.count(target.getFilter(), game); + if (count < target.getNumberOfTargets()) newTarget = new TargetCardInLibrary(library.count(target.getFilter(), game), target.getMaxNumberOfTargets(), target.getFilter()); else newTarget = target;