- Added Aven Mindcensor

This commit is contained in:
swordshine
2013-05-07 01:01:08 +00:00
parent fe54e7d8fc
commit 7577d00896
20 changed files with 59 additions and 24 deletions

1
.gitattributes vendored
View File

@@ -651,6 +651,7 @@ res/cardsfolder/a/aven_flock.txt svneol=native#text/plain
res/cardsfolder/a/aven_fogbringer.txt svneol=native#text/plain
res/cardsfolder/a/aven_liberator.txt -text
res/cardsfolder/a/aven_mimeomancer.txt -text svneol=unset#text/plain
res/cardsfolder/a/aven_mindcensor.txt -text
res/cardsfolder/a/aven_redeemer.txt svneol=native#text/plain
res/cardsfolder/a/aven_riftwatcher.txt svneol=native#text/plain
res/cardsfolder/a/aven_shrine.txt -text

View File

@@ -0,0 +1,10 @@
Name:Aven Mindcensor
ManaCost:2 W
Types:Creature Bird Wizard
PT:2/1
K:Flash
K:Flying
S:Mode$ Continuous | Affected$ Player.Opponent | AddKeyword$ LimitSearchLibrary | Description$ If an opponent would search a library, that player searches the top four cards of that library instead.
SVar:Picture:http://www.wizards.com/global/images/magic/general/aven_mindcensor.jpg
Oracle:Flash (You may cast this spell any time you could cast an instant.)\nFlying\nIf an opponent would search a library, that player searches the top four cards of that library instead.
SetInfo:FUT Uncommon

View File

@@ -2,7 +2,7 @@ Name:Counterbore
ManaCost:3 U U
Types:Instant
A:SP$ Counter | Cost$ 3 U U | TargetType$ Spell | ValidTgts$ Card | RememberCountered$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Counter target spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Defined$ TargetedController | Origin$ Graveyard,Hand,Library | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Defined$ TargetedController | Origin$ Graveyard,Hand,Library | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/counterbore.jpg
Oracle:Counter target spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.

View File

@@ -2,7 +2,7 @@ Name:Cranial Extraction
ManaCost:3 B
Types:Sorcery
A:SP$ NameCard | Cost$ 3 B | Defined$ You | ValidCards$ Card.nonLand | ValidDesc$ nonland | SubAbility$ Exile | SpellDescription$ Name a nonland card. Search target player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
SVar:Exile:DB$ ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card.NamedCard | Shuffle$ True
SVar:Exile:DB$ ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card.NamedCard | Search$ True | Shuffle$ True
SVar:Picture:http://resources.wizards.com/magic/cards/chk/en-us/card80281.jpg
Oracle:Name a nonland card. Search target player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
SetInfo:CHK Rare

View File

@@ -2,7 +2,7 @@ Name:Eradicate
ManaCost:2 B B
Types:Sorcery
A:SP$ ChangeZone | Cost$ 2 B B | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBSearch | SpellDescription$ Exile target nonblack creature. Search its controller's graveyard, hand, and library for all cards with the same name as that creature and exile them. Then that player shuffles his or her library.
SVar:DBSearch:DB$ChangeZoneAll | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | ChangeType$ Remembered.sameName | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBSearch:DB$ChangeZoneAll | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | ChangeType$ Remembered.sameName | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/eradicate.jpg
Oracle:Exile target nonblack creature. Search its controller's graveyard, hand, and library for all cards with the same name as that creature and exile them. Then that player shuffles his or her library.

View File

@@ -3,7 +3,7 @@ ManaCost:B
Types:Instant
K:Split second
A:SP$ ChangeZone | Cost$ B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card.nonBasic | TgtPrompt$ Select target card in a graveyard other than a basic land | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBSearch | SpellDescription$ Choose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles his or her library.
SVar:DBSearch:DB$ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | Defined$ TargetedController | ChangeType$ Remembered.sameName | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBSearch:DB$ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | Defined$ TargetedController | ChangeType$ Remembered.sameName | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/extirpate.jpg
Oracle:Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)\nChoose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles his or her library.

View File

@@ -2,9 +2,7 @@ Name:Haunting Echoes
ManaCost:3 B B
Types:Sorcery
A:SP$ ChangeZoneAll | Cost$ 3 B B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card.nonBasic | RememberChanged$ True | SubAbility$ DBRepeat | SpellDescription$ Exile all cards from target player's graveyard other than basic land cards. For each card exiled this way, search that player's library for all cards with the same name as that card and exile them. Then that player shuffles his or her library.
SVar:DBRepeat:DB$ RepeatEach | UseImprinted$ True | RepeatCards$ Card.IsRemembered | Zone$ Exile | RepeatSubAbility$ DBRemove | SubAbility$ DBShuffle
SVar:DBRemove:DB$ ChangeZoneAll | Origin$ Library | Defined$ Targeted | Destination$ Exile | Mandatory$ True | ChangeType$ Card.sharesNameWith Imprinted | SubAbility$ DBCleanup
SVar:DBShuffle:DB$ Shuffle | Defined$ Targeted | SubAbility$ DBCleanup
SVar:DBRepeat:DB$ ChangeZoneAll | Origin$ Library | Defined$ Targeted | Destination$ Exile | Mandatory$ True | ChangeType$ Card.sharesNameWith Remembered | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/haunting_echoes.jpg

View File

@@ -2,7 +2,7 @@ Name:Lobotomy
ManaCost:2 U B
Types:Sorcery
A:SP$ ChangeZone | Cost$ 2 U B | Origin$ Hand | Destination$ Exile | ValidTgts$ Player | DefinedPlayer$ Targeted | Chooser$ You | ChangeType$ Card.nonBasic | ChangeNum$ 1 | IsCurse$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBSearch | SpellDescription$ Target player reveals his or her hand, then you choose a card other than a basic land card from it. Search that player's graveyard, hand, and library for all cards with the same name as the chosen card and exile them. Then that player shuffles his or her library.
SVar:DBSearch:DB$ ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | ChangeType$ Remembered.sameName | Shuffle$ True| Defined$ Targeted | SubAbility$ DBCleanup
SVar:DBSearch:DB$ ChangeZoneAll | Origin$ Graveyard,Hand,Library | Destination$ Exile | ChangeType$ Remembered.sameName | Shuffle$ True| Defined$ Targeted | Search$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/lobotomy.jpg
Oracle:Target player reveals his or her hand, then you choose a card other than a basic land card from it. Search that player's graveyard, hand, and library for all cards with the same name as the chosen card and exile them. Then that player shuffles his or her library.

View File

@@ -2,8 +2,8 @@ Name:Mirror of Fate
ManaCost:5
Types:Artifact
A:AB$ ChooseCard | Cost$ T Sac<1/CARDNAME> | Amount$ 7 | Choices$ Card.YouOwn+faceUp | SubAbility$ DBExile | RememberChosen$ True | ChoiceZone$ Exile | SpellDescription$ Choose up to seven face-up exiled cards you own. Exile all the cards from your library, then put the chosen cards on top of your library.
SVar:DBExile:DB$ ChangeZoneAll | Origin$ Library | Destination$ Exile | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Library | ChangeType$ Card.IsRemembered
SVar:DBExile:DB$ ChangeZoneAll | Origin$ Library | Destination$ Exile | Defined$ You | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Library | Defined$ You | ChangeType$ Card.IsRemembered
SVar:RemRandomDeck:True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/mirror_of_fate.jpg

View File

@@ -2,7 +2,7 @@ Name:Quash
ManaCost:2 U U
Types:Instant
A:SP$ Counter | Cost$ 2 U U | TargetType$ Spell | ValidTgts$ Instant,Sorcery | RememberCountered$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Counter target instant or sorcery spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.
SVar:DBChangeZoneAll:DB$ChangeZoneAll | ChangeType$ Remembered.sameName+YouDontCtrl | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName+YouDontCtrl | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/quash.jpg
Oracle:Counter target instant or sorcery spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.

View File

@@ -2,9 +2,7 @@ Name:Reap Intellect
ManaCost:X 2 U B
Types:Sorcery
A:SP$ ChangeZone | Cost$ X 2 U B | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | ChangeType$ Card.nonLand | ChangeNum$ X | References$ X | IsCurse$ True | Mandatory$ True | RememberChanged$ True | SubAbility$ DBExile | SpellDescription$ Target opponent reveals his or her hand. You choose X non-land cards from among them. Search that player's library, hand and graveyard for cards with the same name as those cards and exile them. Then, that player shuffles his or her library.
SVar:DBExile:DB$ RepeatEach | UseImprinted$ True | DefinedCards$ Remembered | RepeatSubAbility$ DBExileAll | SubAbility$ DBShuffle
SVar:DBExileAll:DB$ ChangeZoneAll | Origin$ Hand,Library,Graveyard | Destination$ Exile | Defined$ ImprintedController | ChangeType$ Card.sharesNameWith Imprinted
SVar:DBShuffle:DB$ Shuffle | Defined$ Targeted | SubAbility$ DBCleanup
SVar:DBExile:DB$ ChangeZoneAll | Origin$ Hand,Library,Graveyard | Destination$ Exile | Defined$ Targeted | Search$ True | ChangeType$ Card.sharesNameWith Remembered | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$xPaid
SVar:RemAIDeck:True

View File

@@ -2,7 +2,7 @@ Name:Scour
ManaCost:2 W W
Types:Instant
A:SP$ ChangeZone | Cost$ 2 W W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Exile target enchantment. Search its controller's graveyard, hand, and library for all cards with the same name as that enchantment and exile them. Then that player shuffles his or her library.
SVar:DBChangeZoneAll:DB$ChangeZoneAll | ChangeType$ Remembered.sameName | Defined$ TargetedController | Origin$ Graveyard,Hand,Library | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ChangeZoneAll | ChangeType$ Remembered.sameName | Defined$ TargetedController | Origin$ Graveyard,Hand,Library | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/scour.jpg
Oracle:Exile target enchantment. Search its controller's graveyard, hand, and library for all cards with the same name as that enchantment and exile them. Then that player shuffles his or her library.

View File

@@ -5,7 +5,7 @@ PT:2/2
K:Flying
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigReveal | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player reveals his or her hand. You choose a nonland card from it. Search that player's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles his or her library.
SVar:TrigReveal:AB$ ChangeZone | Cost$ 0 | DefinedPlayer$ TriggeredTarget | Origin$ Hand | Destination$ Exile | ChangeType$ Card.nonLand | ChangeNum$ 1 | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBChangeZoneAll | Chooser$ You
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TriggeredTarget | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TriggeredTarget | Destination$ Exile | Shuffle$ True | Search$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/shimian_specter.jpg
Oracle:Flying\nWhenever Shimian Specter deals combat damage to a player, that player reveals his or her hand. You choose a nonland card from it. Search that player's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles his or her library.

View File

@@ -4,7 +4,7 @@ Types:Instant
A:SP$ ChangeZone | Cost$ R G | Origin$ Library | Destination$ Library | ChangeType$ Creature | ChangeNum$ 3 | RememberChanged$ True | Reveal$ True | Shuffle$ False | StackDescription$ SpellDescription | SubAbility$ DBChoose | SpellDescription$ Search your library for three creature cards and reveal them. If you reveal three cards with different names, choose one of them at random and put that card into your hand. Shuffle the rest into your library.
SVar:DBChoose:DB$ ChooseCard | Defined$ You | Amount$ 1 | AtRandom$ True | Choices$ Card.IsRemembered | ChoiceZone$ Library | SubAbility$ DBChange | StackDescription$ None | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ3
SVar:DBChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | Defined$ ChosenCard | StackDescription$ None | SubAbility$ DBShuffle | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ3
SVar:DBShuffle:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Library | Destination$ Library | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBShuffle:DB$ Shuffle | Defined$ You | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$DifferentCardNames_Creature.IsRemembered
SVar:RemAIDeck:True

View File

@@ -2,7 +2,7 @@ Name:Sowing Salt
ManaCost:2 R R
Types:Sorcery
A:SP$ ChangeZone | Cost$ 2 R R | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Land.nonBasic | TgtPrompt$ Select target nonbasic land | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Exile target nonbasic land. Search its controller's graveyard, hand, and library for all cards with the same name as that land and exile them. Then that player shuffles his or her library.
SVar:DBChangeZoneAll:DB$ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sowing_salt.jpg
Oracle:Exile target nonbasic land. Search its controller's graveyard, hand, and library for all cards with the same name as that land and exile them. Then that player shuffles his or her library.

View File

@@ -2,7 +2,7 @@ Name:Splinter
ManaCost:2 G G
Types:Sorcery
A:SP$ ChangeZone | Cost$ 2 G G | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Exile target artifact. Search its controller's graveyard, hand, and library for all cards with the same name as that artifact and exile them. Then that player shuffles his or her library.
SVar:DBChangeZoneAll:DB$ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered.sameName | Origin$ Graveyard,Hand,Library | Defined$ TargetedController | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/splinter.jpg
Oracle:Exile target artifact. Search its controller's graveyard, hand, and library for all cards with the same name as that artifact and exile them. Then that player shuffles his or her library.

View File

@@ -4,8 +4,7 @@ Types:Sorcery
A:SP$ NameCard | Cost$ 2 B R | ValidCards$ Card.nonLand | SubAbility$ DBReveal | ValidDesc$ nonland | SpellDescription$ Name a nonland card. Target player reveals his or her hand. CARDNAME deals 3 damage to that player for each card with that name revealed this way. Search that player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
SVar:DBReveal:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBDamage
SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZoneAll | Defined$ Targeted | ChangeType$ Card.NamedCard | Origin$ Graveyard,Hand,Library | Destination$ Exile | SubAbility$ DBShuffle
SVar:DBShuffle:DB$ Shuffle | Defined$ Targeted | SubAbility$ DBCleanup
SVar:DBChangeZone:DB$ ChangeZoneAll | Defined$ Targeted | ChangeType$ Card.NamedCard | Origin$ Graveyard,Hand,Library | Destination$ Exile | Search$ True | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Valid Card.NamedCard/Times.3
SVar:RemAIDeck:True

View File

@@ -1106,6 +1106,13 @@ public class ChangeZoneAi extends SpellAbilityAi {
fetchList = AbilityUtils.filterListByType(fetchList, type, sa);
} else {
fetchList = player.getCardsIn(origin);
if (origin.contains(ZoneType.Library) && ai.hasKeyword("LimitSearchLibrary")
&& !sa.hasParam("NoLooking")) {
// Aven Mindcensor
fetchList.removeAll(player.getCardsIn(ZoneType.Library));
final int fetchNum = Math.min(player.getCardsIn(ZoneType.Library).size(), 4);
fetchList.addAll(player.getCardsIn(ZoneType.Library, fetchNum));
}
fetchList = AbilityUtils.filterListByType(fetchList, type, sa);
}

View File

@@ -9,6 +9,7 @@ import com.google.common.collect.Iterables;
import forge.Card;
import forge.CardCharacteristicName;
import forge.CardLists;
import forge.CardPredicates;
import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect;
@@ -47,12 +48,24 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
if ((tgtPlayers == null) || tgtPlayers.isEmpty() || sa.hasParam("UseAllOriginZones")) {
cards = game.getCardsIn(origin);
} else if (sa.getActivatingPlayer().hasKeyword("LimitSearchLibrary")
&& origin.contains(ZoneType.Library) && sa.hasParam("Search")) {
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));
}
} else {
for (final Player p : tgtPlayers) {
cards.addAll(p.getCardsIn(origin));
}
}
if (sa.getActivatingPlayer().isHuman() && origin.contains(ZoneType.Library)
&& sa.hasParam("Search")) {
GuiChoose.oneOrNone("Looking at the Library",
CardLists.getValidCards(cards, "Card.inZoneLibrary", sa.getActivatingPlayer(), sa.getSourceCard()));
}
cards = AbilityUtils.filterListByType(cards, sa.getParam("ChangeType"), sa);
if (sa.hasParam("ForgetOtherRemembered")) {

View File

@@ -682,13 +682,22 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
fetchList = game.getCardsIn(origin);
} else {
fetchList = player.getCardsIn(origin);
if (origin.contains(ZoneType.Library) && decider.hasKeyword("LimitSearchLibrary")
&& !sa.hasParam("NoLooking")) {// Aven Mindcensor
fetchList.removeAll(player.getCardsIn(ZoneType.Library));
final int fetchNum = Math.min(player.getCardsIn(ZoneType.Library).size(), 4);
fetchList.addAll(player.getCardsIn(ZoneType.Library, fetchNum));
}
}
if (!defined) {
if (origin.contains(ZoneType.Library) && !defined && !sa.hasParam("NoLooking")) {
final int fetchNum = Math.min(player.getCardsIn(ZoneType.Library).size(), 4);
// Look at whole library before moving onto choosing a card
GuiChoose.oneOrNone(sa.getSourceCard().getName() + " - Looking at Library",
player.getCardsIn(ZoneType.Library));
!decider.hasKeyword("LimitSearchLibrary")
? player.getCardsIn(ZoneType.Library)
: player.getCardsIn(ZoneType.Library, fetchNum));
}
// Look at opponents hand before moving onto choosing a card