diff --git a/res/cardsfolder/anarchist.txt b/res/cardsfolder/anarchist.txt index 9a7bdcc421d..9a4f3bfe0f8 100644 --- a/res/cardsfolder/anarchist.txt +++ b/res/cardsfolder/anarchist.txt @@ -3,7 +3,7 @@ ManaCost:4 R Types:Creature Human Wizard Text:When Anarchist enters the battlefield, you may return target sorcery card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Sorcery:Hand +K:etbReturnTgt:1/MayReturn:Sorcery:Hand SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/9ed/en-us/card84072.jpg End diff --git a/res/cardsfolder/auramancer.txt b/res/cardsfolder/auramancer.txt index e35977071e2..7fff1573418 100644 --- a/res/cardsfolder/auramancer.txt +++ b/res/cardsfolder/auramancer.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Human Wizard Text:When Auramancer enters the battlefield, you may return target enchantment card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Enchantment:Hand +K:etbReturnTgt:1/MayReturn:Enchantment:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/auramancer.jpg End diff --git a/res/cardsfolder/cadaver_imp.txt b/res/cardsfolder/cadaver_imp.txt index 5ed19a62526..b983b33e532 100644 --- a/res/cardsfolder/cadaver_imp.txt +++ b/res/cardsfolder/cadaver_imp.txt @@ -4,7 +4,7 @@ Types:Creature Imp Text:When Cadaver Imp enters the battlefield, you may return target creature card from your graveyard to your hand. PT:1/1 K:Flying -K:etbReturnTgt:1:Creature:Hand +K:etbReturnTgt:1/MayReturn:Creature:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/cadaver_imp.jpg End diff --git a/res/cardsfolder/cartographer.txt b/res/cardsfolder/cartographer.txt index c761caec560..7237fb7b990 100644 --- a/res/cardsfolder/cartographer.txt +++ b/res/cardsfolder/cartographer.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Human Text:When Cartographer enters the battlefield, you may return target land card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Land:Hand +K:etbReturnTgt:1/MayReturn:Land:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/cartographer.jpg End diff --git a/res/cardsfolder/corpse_cur.txt b/res/cardsfolder/corpse_cur.txt index 2674177270f..22cca6215b9 100644 --- a/res/cardsfolder/corpse_cur.txt +++ b/res/cardsfolder/corpse_cur.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Hound Text:When Corpse Cur enters the battlefield, you may return target creature card with infect from your graveyard to your hand. PT:2/2 K:Infect -K:etbReturnTgt:1:Creature.withInfect:Hand +K:etbReturnTgt:1/MayReturn:Creature.withInfect:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/corpse_cur.jpg End \ No newline at end of file diff --git a/res/cardsfolder/eternal_witness.txt b/res/cardsfolder/eternal_witness.txt index dfbb0ee2a94..0eba7ffad57 100644 --- a/res/cardsfolder/eternal_witness.txt +++ b/res/cardsfolder/eternal_witness.txt @@ -3,7 +3,7 @@ ManaCost:1 G G Types:Creature Human Shaman Text:When Eternal Witness enters the battlefield, you may return target card from your graveyard to your hand. PT:2/1 -K:etbReturnTgt:1:Card:Hand +K:etbReturnTgt:1/MayReturn:Card:Hand SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/5dn/en-us/card51628.jpg End diff --git a/res/cardsfolder/gravedigger.txt b/res/cardsfolder/gravedigger.txt index 8564ad5f54e..2e184454fba 100644 --- a/res/cardsfolder/gravedigger.txt +++ b/res/cardsfolder/gravedigger.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Zombie Text:When Gravedigger enters the battlefield, you may return target creature card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Creature:Hand +K:etbReturnTgt:1/MayReturn:Creature:Hand SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/9ed/en-us/card83114.jpg End diff --git a/res/cardsfolder/mnemonic_wall.txt b/res/cardsfolder/mnemonic_wall.txt index 0eb40f25f1a..535b1e7167f 100644 --- a/res/cardsfolder/mnemonic_wall.txt +++ b/res/cardsfolder/mnemonic_wall.txt @@ -4,7 +4,7 @@ Types:Creature Wall Text:When Mnemonic Wall enters the battlefield, you may return target instant or sorcery card from your graveyard to your hand. PT:0/4 K:Defender -K:etbReturnTgt:1:Instant,Sorcery:Hand +K:etbReturnTgt:1/MayReturn:Instant,Sorcery:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mnemonic_wall.jpg End diff --git a/res/cardsfolder/moriok_scavenger.txt b/res/cardsfolder/moriok_scavenger.txt index 78ce205466b..7ab7bf7bf52 100644 --- a/res/cardsfolder/moriok_scavenger.txt +++ b/res/cardsfolder/moriok_scavenger.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Human Rogue Text:When Moriok Scavenger enters the battlefield, you may return target artifact creature card from your graveyard to your hand. PT:2/3 -K:etbReturnTgt:1:Artifact+Creature:Hand +K:etbReturnTgt:1/MayReturn:Artifact+Creature:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/moriok_scavenger.jpg End diff --git a/res/cardsfolder/nucklavee.txt b/res/cardsfolder/nucklavee.txt index 73f6bb1a0e5..a897c8b509c 100644 --- a/res/cardsfolder/nucklavee.txt +++ b/res/cardsfolder/nucklavee.txt @@ -3,8 +3,8 @@ ManaCost:4 UR UR Types:Creature Beast Text:When Nucklavee enters the battlefield, you may return target red sorcery card from your graveyard to your hand.\r\nWhen Nucklavee enters the battlefield, you may return target blue instant card from your graveyard to your hand. PT:4/4 -K:etbReturnTgt:1:Sorcery.Red:Hand -K:etbReturnTgt:1:Instant.Blue:Hand +K:etbReturnTgt:1/MayReturn:Sorcery.Red:Hand +K:etbReturnTgt:1/MayReturn:Instant.Blue:Hand SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/nucklavee.jpg End diff --git a/res/cardsfolder/sanctum_gargoyle.txt b/res/cardsfolder/sanctum_gargoyle.txt index 17cc8d13cec..3dcf18af82f 100644 --- a/res/cardsfolder/sanctum_gargoyle.txt +++ b/res/cardsfolder/sanctum_gargoyle.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Gargoyle Text:When Sanctum Gargoyle enters the battlefield, you may return target artifact card from your graveyard to your hand. PT:2/3 K:Flying -K:etbReturnTgt:1:Artifact:Hand +K:etbReturnTgt:1/MayReturn:Artifact:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/sanctum_gargoyle.jpg End diff --git a/res/cardsfolder/scrivener.txt b/res/cardsfolder/scrivener.txt index b77f80fdd5d..e7fc917537b 100644 --- a/res/cardsfolder/scrivener.txt +++ b/res/cardsfolder/scrivener.txt @@ -3,7 +3,7 @@ ManaCost:4 U Types:Creature Human Wizard Text:When Scrivener enters the battlefield, you may return target instant card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Instant:Hand +K:etbReturnTgt:1/MayReturn:Instant:Hand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/scrivener.jpg End diff --git a/res/cardsfolder/sharuum_the_hegemon.txt b/res/cardsfolder/sharuum_the_hegemon.txt index c102676934f..f671f8c14e8 100644 --- a/res/cardsfolder/sharuum_the_hegemon.txt +++ b/res/cardsfolder/sharuum_the_hegemon.txt @@ -4,7 +4,7 @@ Types:Legendary Artifact Creature Sphinx Text:When Sharuum the Hegemon enters the battlefield, you may return target artifact card from your graveyard to the battlefield. PT:5/5 K:Flying -K:etbReturnTgt:1:Artifact:Battlefield +K:etbReturnTgt:1/MayReturn:Artifact:Battlefield SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/sharuum_the_hegemon.jpg End diff --git a/res/cardsfolder/strongarm_thug.txt b/res/cardsfolder/strongarm_thug.txt index e9564f5b55f..4b23d865bc9 100644 --- a/res/cardsfolder/strongarm_thug.txt +++ b/res/cardsfolder/strongarm_thug.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Human Mercenary Text:When Strongarm Thug enters the battlefield, you may return target Mercenary card from your graveyard to your hand. PT:1/1 -K:etbReturnTgt:1:Mercenary:Hand +K:etbReturnTgt:1/MayReturn:Mercenary:Hand SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/strongarm_thug.jpg End diff --git a/res/cardsfolder/treasure_hunter.txt b/res/cardsfolder/treasure_hunter.txt index c389862cf74..f67f964721f 100644 --- a/res/cardsfolder/treasure_hunter.txt +++ b/res/cardsfolder/treasure_hunter.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Human Text:When Treasure Hunter enters the battlefield, you may return target artifact card from your graveyard to your hand. PT:2/2 -K:etbReturnTgt:1:Artifact:Hand +K:etbReturnTgt:1/MayReturn:Artifact:Hand SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/treasure_hunter.jpg End diff --git a/res/cardsfolder/trickster_mage.txt b/res/cardsfolder/trickster_mage.txt index 29850eebdda..526d3286b84 100644 --- a/res/cardsfolder/trickster_mage.txt +++ b/res/cardsfolder/trickster_mage.txt @@ -1,6 +1,6 @@ Name:Trickster Mage ManaCost:U -Types:Human Spellshaper +Types:Creature Human Spellshaper Text:no text PT:1/1 K:abTapTgt U T Discard<1/Any>:Artifact,Creature,Land:Tap target artifact, creature, or land. diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 6e45b7a2912..050941b18f5 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -3926,6 +3926,7 @@ public class CardFactory implements NewConstants { card.removeIntrinsicKeyword(parse); String k[] = parse.split(":"); final boolean returnUpTo[] = {false}; + final boolean mayReturn[] = {false}; final int numCardsToReturn; String np[] = k[1].split("/"); @@ -3934,6 +3935,8 @@ public class CardFactory implements NewConstants { if (np.length > 1) { if (np[1].equals("UpTo")) { returnUpTo[0] = true; + } else if (np[1].equals("MayReturn")) { + mayReturn[0] = true; } } @@ -3950,7 +3953,7 @@ public class CardFactory implements NewConstants { String desc = ""; final String Drawback[] = {"none"}; - if (k.length > 4) { + if (k.length > 4) { if (k[4].contains("Drawback$")){ String kk[] = k[4].split("\\$"); @@ -4029,7 +4032,12 @@ public class CardFactory implements NewConstants { for (int i = 0; i < numCardsToReturn; i++) { if (grave.size() > 0) { - Object o = AllZone.Display.getChoiceOptional("Select a card", choices.toArray()); + Object o; + if (mayReturn[0] || returnUpTo[0]) { + o = AllZone.Display.getChoiceOptional("Select a card", choices.toArray()); + } else { + o = AllZone.Display.getChoice("Select a card", choices.toArray()); + } if (o == null) break; Card c = (Card) o; targets.add(c);