- Fixed ChangeZoneAll with origin library.

This commit is contained in:
Sloth
2013-06-29 13:16:31 +00:00
parent 4ea3851fb4
commit 5b85dacfa4

View File

@@ -51,24 +51,25 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
if ((!sa.usesTargeting() && !sa.hasParam("Defined")) || sa.hasParam("UseAllOriginZones")) {
cards = game.getCardsIn(origin);
} else if (origin.contains(ZoneType.Library) && sa.hasParam("Search")) {
// Search library using changezoneall effect need a param "Search"
if (sa.getActivatingPlayer().hasKeyword("LimitSearchLibrary")) {
for (final Player p : tgtPlayers) {
cards.addAll(p.getCardsIn(origin));
cards.removeAll(p.getCardsIn(ZoneType.Library));
int fetchNum = Math.min(p.getCardsIn(ZoneType.Library).size(), 4);
cards.addAll(p.getCardsIn(ZoneType.Library, fetchNum));
}
}
if (sa.getActivatingPlayer().hasKeyword("CantSearchLibrary")) {
// all these cards have "then that player shuffles", mandatory shuffle
cards.removeAll(game.getCardsIn(ZoneType.Library));
}
} else {
for (final Player p : tgtPlayers) {
cards.addAll(p.getCardsIn(origin));
}
if (origin.contains(ZoneType.Library) && sa.hasParam("Search")) {
// Search library using changezoneall effect need a param "Search"
if (sa.getActivatingPlayer().hasKeyword("LimitSearchLibrary")) {
for (final Player p : tgtPlayers) {
cards.addAll(p.getCardsIn(origin));
cards.removeAll(p.getCardsIn(ZoneType.Library));
int fetchNum = Math.min(p.getCardsIn(ZoneType.Library).size(), 4);
cards.addAll(p.getCardsIn(ZoneType.Library, fetchNum));
}
}
if (sa.getActivatingPlayer().hasKeyword("CantSearchLibrary")) {
// all these cards have "then that player shuffles", mandatory shuffle
cards.removeAll(game.getCardsIn(ZoneType.Library));
}
}
}
if (origin.contains(ZoneType.Library) && sa.hasParam("Search") && !sa.getActivatingPlayer().hasKeyword("CantSearchLibrary")) {