diff --git a/release/Magarena/scripts/AEther_Vial.groovy b/release/Magarena/scripts/AEther_Vial.groovy index bf9018bf1e..ddea82a6d1 100644 --- a/release/Magarena/scripts/AEther_Vial.groovy +++ b/release/Magarena/scripts/AEther_Vial.groovy @@ -25,7 +25,7 @@ return new MagicEvent( source, targetChoice, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a creature card\$ with converted mana cost equal to " + "the number of charge counters on SN from his or her hand onto the battlefield." diff --git a/release/Magarena/scripts/Academy_Ruins.groovy b/release/Magarena/scripts/Academy_Ruins.groovy index f2b8dcc541..a2bb3919fd 100644 --- a/release/Magarena/scripts/Academy_Ruins.groovy +++ b/release/Magarena/scripts/Academy_Ruins.groovy @@ -15,7 +15,7 @@ return new MagicEvent( source, MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Put target artifact card\$ from your graveyard on top of your library" ); diff --git a/release/Magarena/scripts/Angel_of_Flight_Alabaster.groovy b/release/Magarena/scripts/Angel_of_Flight_Alabaster.groovy index 74f735ccaf..3a7c94ea58 100644 --- a/release/Magarena/scripts/Angel_of_Flight_Alabaster.groovy +++ b/release/Magarena/scripts/Angel_of_Flight_Alabaster.groovy @@ -6,7 +6,7 @@ new MagicEvent( permanent, MagicTargetChoice.TARGET_SPIRIT_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target Spirit card\$ from your graveyard to your hand." ): diff --git a/release/Magarena/scripts/Arcbound_Reclaimer.groovy b/release/Magarena/scripts/Arcbound_Reclaimer.groovy index ed4e48805b..d86c777c2c 100644 --- a/release/Magarena/scripts/Arcbound_Reclaimer.groovy +++ b/release/Magarena/scripts/Arcbound_Reclaimer.groovy @@ -14,7 +14,7 @@ return new MagicEvent( source, MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Put target artifact card\$ from your graveyard on top of your library" ); diff --git a/release/Magarena/scripts/Artisan_of_Kozilek.groovy b/release/Magarena/scripts/Artisan_of_Kozilek.groovy index 303ca0fa9f..4277f9144a 100644 --- a/release/Magarena/scripts/Artisan_of_Kozilek.groovy +++ b/release/Magarena/scripts/Artisan_of_Kozilek.groovy @@ -10,7 +10,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ return target creature card\$ from " + "his or her graveyard to the battlefield." diff --git a/release/Magarena/scripts/Attrition.groovy b/release/Magarena/scripts/Attrition.groovy index 50f147f4c4..989760f5ea 100644 --- a/release/Magarena/scripts/Attrition.groovy +++ b/release/Magarena/scripts/Attrition.groovy @@ -7,7 +7,7 @@ @Override public Iterable getCostEvent(final MagicPermanent source) { return [ - new MagicPayManaCostEvent(source,"{B}"), + new MagicPayManaCostEvent(source,"{B}"), new MagicSacrificePermanentEvent(source,MagicTargetChoice.SACRIFICE_CREATURE) ]; } diff --git a/release/Magarena/scripts/Auramancer.groovy b/release/Magarena/scripts/Auramancer.groovy index ec176aa767..0021cdd83f 100644 --- a/release/Magarena/scripts/Auramancer.groovy +++ b/release/Magarena/scripts/Auramancer.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_ENCHANTMENT_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target enchantment card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Beacon_of_Unrest.groovy b/release/Magarena/scripts/Beacon_of_Unrest.groovy index 7fb9f77c99..7dfee5270b 100644 --- a/release/Magarena/scripts/Beacon_of_Unrest.groovy +++ b/release/Magarena/scripts/Beacon_of_Unrest.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_ARTIFACT_OR_CREATURE_CARD_FROM_ALL_GRAVEYARDS, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target artifact or creature card\$ from a graveyard onto the battlefield under your control. "+ "Shuffle SN into its owner's library." diff --git a/release/Magarena/scripts/Cemetery_Reaper.groovy b/release/Magarena/scripts/Cemetery_Reaper.groovy index 4f46497806..f2437bbab5 100644 --- a/release/Magarena/scripts/Cemetery_Reaper.groovy +++ b/release/Magarena/scripts/Cemetery_Reaper.groovy @@ -13,9 +13,8 @@ public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) { return new MagicEvent( source, - MagicTargetChoice.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS, - // exiling a high cost card is good here - new MagicGraveyardTargetPicker(true), + MagicTargetChoice.Negative("target creature card from a graveyard"), + MagicGraveyardTargetPicker.ExileOpp, this, "Exile target creature card\$ from a graveyard. " + "Put a 2/2 black Zombie creature token onto the battlefield." diff --git a/release/Magarena/scripts/Corpse_Cur.groovy b/release/Magarena/scripts/Corpse_Cur.groovy index 3e6ab06401..4c427ec583 100644 --- a/release/Magarena/scripts/Corpse_Cur.groovy +++ b/release/Magarena/scripts/Corpse_Cur.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_WITH_INFECT_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target creature card\$ with " + "infect from his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Crypt_Creeper.groovy b/release/Magarena/scripts/Crypt_Creeper.groovy index 914446efb0..4648b0b73f 100644 --- a/release/Magarena/scripts/Crypt_Creeper.groovy +++ b/release/Magarena/scripts/Crypt_Creeper.groovy @@ -14,8 +14,7 @@ return new MagicEvent( source, MagicTargetChoice.NEG_TARGET_CARD_FROM_ALL_GRAVEYARDS, - // exiling a high cost card is good here - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.ExileOpp, this, "Exile target card\$ from a graveyard." ); diff --git a/release/Magarena/scripts/Deadwood_Treefolk.groovy b/release/Magarena/scripts/Deadwood_Treefolk.groovy index 81d7145f79..c86731c80c 100644 --- a/release/Magarena/scripts/Deadwood_Treefolk.groovy +++ b/release/Magarena/scripts/Deadwood_Treefolk.groovy @@ -23,7 +23,7 @@ def event = { return new MagicEvent( permanent, choice, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, action, "Return another target creature card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Deathrender.groovy b/release/Magarena/scripts/Deathrender.groovy index 7421064128..1a7faa07c2 100644 --- a/release/Magarena/scripts/Deathrender.groovy +++ b/release/Magarena/scripts/Deathrender.groovy @@ -8,7 +8,7 @@ new MagicMayChoice( MagicTargetChoice.CREATURE_CARD_FROM_HAND ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ put a creature card\$ from his or her hand " + "onto the battlefield and attach SN to it." diff --git a/release/Magarena/scripts/Debtors__Knell.groovy b/release/Magarena/scripts/Debtors__Knell.groovy index 1424ae4941..d3b122722f 100644 --- a/release/Magarena/scripts/Debtors__Knell.groovy +++ b/release/Magarena/scripts/Debtors__Knell.groovy @@ -6,7 +6,7 @@ new MagicEvent( permanent, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Put target creature card\$ in a graveyard onto the battlefield under your control." ): diff --git a/release/Magarena/scripts/Defy_Death.groovy b/release/Magarena/scripts/Defy_Death.groovy index bdb7a949ed..9f5100640f 100644 --- a/release/Magarena/scripts/Defy_Death.groovy +++ b/release/Magarena/scripts/Defy_Death.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from your graveyard to the " + "battlefield. If it's an Angel, put two +1/+1 counters on it." diff --git a/release/Magarena/scripts/Disentomb.groovy b/release/Magarena/scripts/Disentomb.groovy index f9e741260a..8d47d682f1 100644 --- a/release/Magarena/scripts/Disentomb.groovy +++ b/release/Magarena/scripts/Disentomb.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target creature card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Disturbed_Burial.groovy b/release/Magarena/scripts/Disturbed_Burial.groovy index 374e544e90..8030d838c8 100644 --- a/release/Magarena/scripts/Disturbed_Burial.groovy +++ b/release/Magarena/scripts/Disturbed_Burial.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target creature card\$ from your graveyard to your hand. " + "If the buyback cost was payed, return SN to its owner's hand as it resolves." diff --git a/release/Magarena/scripts/Dragon_Arch.groovy b/release/Magarena/scripts/Dragon_Arch.groovy index 1d8d5582e6..4175b9244b 100644 --- a/release/Magarena/scripts/Dragon_Arch.groovy +++ b/release/Magarena/scripts/Dragon_Arch.groovy @@ -16,7 +16,7 @@ return new MagicEvent( source, MagicTargetChoice.MULTICOLORED_CREATURE_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a multicolored creature card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Dramatic_Entrance.groovy b/release/Magarena/scripts/Dramatic_Entrance.groovy index 0ba16f3488..4a74f4150d 100644 --- a/release/Magarena/scripts/Dramatic_Entrance.groovy +++ b/release/Magarena/scripts/Dramatic_Entrance.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_GREEN_CREATURE_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Put a green creature card\$ from your hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Driver_of_the_Dead.groovy b/release/Magarena/scripts/Driver_of_the_Dead.groovy index 277a5721d4..63dec94130 100644 --- a/release/Magarena/scripts/Driver_of_the_Dead.groovy +++ b/release/Magarena/scripts/Driver_of_the_Dead.groovy @@ -18,7 +18,7 @@ return new MagicEvent( permanent, targetChoice, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN returns target creature card\$ with " + "converted mana cost 2 or less " + diff --git a/release/Magarena/scripts/Elvish_Pioneer.groovy b/release/Magarena/scripts/Elvish_Pioneer.groovy index c1f14233c8..ddc8346c63 100644 --- a/release/Magarena/scripts/Elvish_Pioneer.groovy +++ b/release/Magarena/scripts/Elvish_Pioneer.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.BASIC_LAND_CARD_FROM_HAND ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ put a basic land card\$ from his or her hand into play tapped." ); diff --git a/release/Magarena/scripts/Elvish_Piper.groovy b/release/Magarena/scripts/Elvish_Piper.groovy index beb03d9ea3..c4aed2bf9a 100644 --- a/release/Magarena/scripts/Elvish_Piper.groovy +++ b/release/Magarena/scripts/Elvish_Piper.groovy @@ -16,7 +16,7 @@ return new MagicEvent( source, MagicTargetChoice.CREATURE_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a creature card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Eternal_Witness.groovy b/release/Magarena/scripts/Eternal_Witness.groovy index 7135ab4f2a..6ac2cecc0e 100644 --- a/release/Magarena/scripts/Eternal_Witness.groovy +++ b/release/Magarena/scripts/Eternal_Witness.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Exhume.groovy b/release/Magarena/scripts/Exhume.groovy index b3a2bb0e85..2caf62c5ff 100644 --- a/release/Magarena/scripts/Exhume.groovy +++ b/release/Magarena/scripts/Exhume.groovy @@ -31,7 +31,7 @@ def EVENT_ACTION = new MagicEventAction() { event.getSource(), player, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, EVENT_ACTION, "PN puts a creature card from his or her graveyard onto the battlefield." )); diff --git a/release/Magarena/scripts/False_Prophet.groovy b/release/Magarena/scripts/False_Prophet.groovy index a3e9a78f80..64d61306bb 100644 --- a/release/Magarena/scripts/False_Prophet.groovy +++ b/release/Magarena/scripts/False_Prophet.groovy @@ -18,7 +18,7 @@ target, MagicLocationType.Exile )); - } + } } } ] diff --git a/release/Magarena/scripts/Glissa__the_Traitor.groovy b/release/Magarena/scripts/Glissa__the_Traitor.groovy index b381c8167d..f058b97f55 100644 --- a/release/Magarena/scripts/Glissa__the_Traitor.groovy +++ b/release/Magarena/scripts/Glissa__the_Traitor.groovy @@ -9,7 +9,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target artifact card\$ " + "from his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Goblin_Lackey.groovy b/release/Magarena/scripts/Goblin_Lackey.groovy index bf033b35f8..c5707d577d 100644 --- a/release/Magarena/scripts/Goblin_Lackey.groovy +++ b/release/Magarena/scripts/Goblin_Lackey.groovy @@ -9,7 +9,7 @@ new MagicMayChoice( MagicTargetChoice.GOBLIN_CARD_FROM_HAND ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ put a Goblin permanent card\$ from " + "his or her hand onto the battlefield." diff --git a/release/Magarena/scripts/Grave_Exchange.groovy b/release/Magarena/scripts/Grave_Exchange.groovy index 9e178f842d..df76e33972 100644 --- a/release/Magarena/scripts/Grave_Exchange.groovy +++ b/release/Magarena/scripts/Grave_Exchange.groovy @@ -18,7 +18,7 @@ def action = { return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target creature card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Gravedigger.groovy b/release/Magarena/scripts/Gravedigger.groovy index f5a39c383b..4a6a37bdfd 100644 --- a/release/Magarena/scripts/Gravedigger.groovy +++ b/release/Magarena/scripts/Gravedigger.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target creature card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Graveyard_Shovel.groovy b/release/Magarena/scripts/Graveyard_Shovel.groovy index 0bee219b92..157ac8aaf2 100644 --- a/release/Magarena/scripts/Graveyard_Shovel.groovy +++ b/release/Magarena/scripts/Graveyard_Shovel.groovy @@ -40,7 +40,7 @@ def action = { event.getSource(), targetPlayer, MagicTargetChoice.TARGET_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.ExileOwn, player, action, "PN exiles a card\$ from his or her graveyard." diff --git a/release/Magarena/scripts/Ink_Eyes__Servant_of_Oni.groovy b/release/Magarena/scripts/Ink_Eyes__Servant_of_Oni.groovy index f05d759b68..6e26207715 100644 --- a/release/Magarena/scripts/Ink_Eyes__Servant_of_Oni.groovy +++ b/release/Magarena/scripts/Ink_Eyes__Servant_of_Oni.groovy @@ -11,7 +11,7 @@ permanent.isController(target) ? MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD : MagicTargetChoice.TARGET_CREATURE_CARD_FROM_OPPONENTS_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from ${target.toString()}'s graveyard to the battlefield under PN's control." ): diff --git a/release/Magarena/scripts/Karmic_Guide.groovy b/release/Magarena/scripts/Karmic_Guide.groovy index 6092959390..c69a03165c 100644 --- a/release/Magarena/scripts/Karmic_Guide.groovy +++ b/release/Magarena/scripts/Karmic_Guide.groovy @@ -8,7 +8,7 @@ return new MagicEvent( permanent, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from " + "your graveyard to the battlefield." diff --git a/release/Magarena/scripts/Lord_of_the_Undead.groovy b/release/Magarena/scripts/Lord_of_the_Undead.groovy index d793655b39..0a70f630cc 100644 --- a/release/Magarena/scripts/Lord_of_the_Undead.groovy +++ b/release/Magarena/scripts/Lord_of_the_Undead.groovy @@ -12,7 +12,7 @@ return new MagicEvent( source, MagicTargetChoice.TARGET_ZOMBIE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target Zombie card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Master_Transmuter.groovy b/release/Magarena/scripts/Master_Transmuter.groovy index 2d8e12b3f6..7212f1ee6d 100644 --- a/release/Magarena/scripts/Master_Transmuter.groovy +++ b/release/Magarena/scripts/Master_Transmuter.groovy @@ -17,7 +17,7 @@ return new MagicEvent( source, MagicTargetChoice.ARTIFACT_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts an artifact card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Mindwrack_Liege.groovy b/release/Magarena/scripts/Mindwrack_Liege.groovy index 527d5168d1..31cdbe088f 100644 --- a/release/Magarena/scripts/Mindwrack_Liege.groovy +++ b/release/Magarena/scripts/Mindwrack_Liege.groovy @@ -14,7 +14,7 @@ return new MagicEvent( source, MagicTargetChoice.BLUE_OR_RED_CREATURE_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a blue or red creature card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Mnemonic_Wall.groovy b/release/Magarena/scripts/Mnemonic_Wall.groovy index 5f969fc407..e8cfe8bf16 100644 --- a/release/Magarena/scripts/Mnemonic_Wall.groovy +++ b/release/Magarena/scripts/Mnemonic_Wall.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_INSTANT_OR_SORCERY_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target instant or sorcery card\$ " + "from his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Nature_s_Spiral.groovy b/release/Magarena/scripts/Nature_s_Spiral.groovy index 32ee79dfe1..b0f3cb9716 100644 --- a/release/Magarena/scripts/Nature_s_Spiral.groovy +++ b/release/Magarena/scripts/Nature_s_Spiral.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_PERMANENT_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target permanent card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Puppeteer_Clique.groovy b/release/Magarena/scripts/Puppeteer_Clique.groovy index 10e2f78912..6ad1316e13 100644 --- a/release/Magarena/scripts/Puppeteer_Clique.groovy +++ b/release/Magarena/scripts/Puppeteer_Clique.groovy @@ -5,7 +5,7 @@ return new MagicEvent( permanent, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_OPPONENTS_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Put target creature card\$ in an opponent's graveyard onto the battlefield under your control. "+ "It has haste. At the end of your turn, exile it." diff --git a/release/Magarena/scripts/Quicksilver_Amulet.groovy b/release/Magarena/scripts/Quicksilver_Amulet.groovy index ccc96fe187..eed2a5fcf1 100644 --- a/release/Magarena/scripts/Quicksilver_Amulet.groovy +++ b/release/Magarena/scripts/Quicksilver_Amulet.groovy @@ -16,7 +16,7 @@ return new MagicEvent( source, MagicTargetChoice.CREATURE_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a creature card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Reanimate.groovy b/release/Magarena/scripts/Reanimate.groovy index ed87958034..1d5b347926 100644 --- a/release/Magarena/scripts/Reanimate.groovy +++ b/release/Magarena/scripts/Reanimate.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS, - new MagicGraveyardTargetPicker(false), // no mana cost but payed with life + MagicGraveyardTargetPicker.ReturnToHand, this, "Put target creature card\$ from a graveyard onto the battlefield under your control. " + "PN loses life equal to its converted mana cost." diff --git a/release/Magarena/scripts/Reclaim.groovy b/release/Magarena/scripts/Reclaim.groovy index 9e54023cd5..dc4ea9c203 100644 --- a/release/Magarena/scripts/Reclaim.groovy +++ b/release/Magarena/scripts/Reclaim.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Put target card\$ from your graveyard on top of your library." ); diff --git a/release/Magarena/scripts/Recollect.groovy b/release/Magarena/scripts/Recollect.groovy index 34f475ef78..06311e34aa 100644 --- a/release/Magarena/scripts/Recollect.groovy +++ b/release/Magarena/scripts/Recollect.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target card\$ from your graveyard to your hand." ); diff --git a/release/Magarena/scripts/Recover.groovy b/release/Magarena/scripts/Recover.groovy index 4cccc74751..c72ea43b6c 100644 --- a/release/Magarena/scripts/Recover.groovy +++ b/release/Magarena/scripts/Recover.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target creature card\$ from your graveyard to your hand. Draw a card." ); diff --git a/release/Magarena/scripts/Recurring_Nightmare.groovy b/release/Magarena/scripts/Recurring_Nightmare.groovy index e7226166e3..bc2aaa16c9 100644 --- a/release/Magarena/scripts/Recurring_Nightmare.groovy +++ b/release/Magarena/scripts/Recurring_Nightmare.groovy @@ -24,7 +24,7 @@ return new MagicEvent( source, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from your graveyard to the battlefield." ); diff --git a/release/Magarena/scripts/Reya_Dawnbringer.groovy b/release/Magarena/scripts/Reya_Dawnbringer.groovy index 51b5fb81d7..38204822e5 100644 --- a/release/Magarena/scripts/Reya_Dawnbringer.groovy +++ b/release/Magarena/scripts/Reya_Dawnbringer.groovy @@ -8,7 +8,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ return target creature card\$ from " + "his or her graveyard to the battlefield." diff --git a/release/Magarena/scripts/Rise_from_the_Grave.groovy b/release/Magarena/scripts/Rise_from_the_Grave.groovy index 082a24a2de..29f9c84958 100644 --- a/release/Magarena/scripts/Rise_from_the_Grave.groovy +++ b/release/Magarena/scripts/Rise_from_the_Grave.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Put target creature\$ card from a graveyard onto the battlefield under your control. " + "That creature is a black Zombie in addition to its other colors and types." diff --git a/release/Magarena/scripts/Scavenging_Ooze.groovy b/release/Magarena/scripts/Scavenging_Ooze.groovy index 9f16b81dd1..02ca30aa8e 100644 --- a/release/Magarena/scripts/Scavenging_Ooze.groovy +++ b/release/Magarena/scripts/Scavenging_Ooze.groovy @@ -14,8 +14,7 @@ return new MagicEvent( source, MagicTargetChoice.NEG_TARGET_CARD_FROM_ALL_GRAVEYARDS, - // exiling a high cost card is good here - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.ExileOpp, this, "Exile target card\$ from a graveyard. " + "If it was a creature card, put a +1/+1 counter on Scavenging Ooze and you gain 1 life." diff --git a/release/Magarena/scripts/Seance.groovy b/release/Magarena/scripts/Seance.groovy index 85f330bdb5..0310577e17 100644 --- a/release/Magarena/scripts/Seance.groovy +++ b/release/Magarena/scripts/Seance.groovy @@ -16,7 +16,7 @@ def Spirit = new MagicStatic(MagicLayer.Type) { new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ exile target creature card\$ from his or her graveyard. " + "If he or she does, put a token onto the battlefield that's a copy " + diff --git a/release/Magarena/scripts/Sharuum_the_Hegemon.groovy b/release/Magarena/scripts/Sharuum_the_Hegemon.groovy index 83aef90327..8b70260c24 100644 --- a/release/Magarena/scripts/Sharuum_the_Hegemon.groovy +++ b/release/Magarena/scripts/Sharuum_the_Hegemon.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD, ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ return target artifact card\$ from your graveyard to the battlefield." ); diff --git a/release/Magarena/scripts/Sheoldred__Whispering_One.groovy b/release/Magarena/scripts/Sheoldred__Whispering_One.groovy index 6f59918624..b4f3012302 100644 --- a/release/Magarena/scripts/Sheoldred__Whispering_One.groovy +++ b/release/Magarena/scripts/Sheoldred__Whispering_One.groovy @@ -6,7 +6,7 @@ new MagicEvent( permanent, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from your graveyard to the battlefield." ): diff --git a/release/Magarena/scripts/Skyshroud_Ranger.groovy b/release/Magarena/scripts/Skyshroud_Ranger.groovy index 414410a8a3..eab66fba26 100644 --- a/release/Magarena/scripts/Skyshroud_Ranger.groovy +++ b/release/Magarena/scripts/Skyshroud_Ranger.groovy @@ -17,7 +17,7 @@ return new MagicEvent( source, MagicTargetChoice.LAND_CARD_FROM_HAND, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN puts a land card\$ from his or her hand onto the battlefield." ); diff --git a/release/Magarena/scripts/Stitch_Together.groovy b/release/Magarena/scripts/Stitch_Together.groovy index b395483172..9de47137d9 100644 --- a/release/Magarena/scripts/Stitch_Together.groovy +++ b/release/Magarena/scripts/Stitch_Together.groovy @@ -7,7 +7,9 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(MagicCondition.THRESHOLD_CONDITION.accept(cardOnStack)), + MagicCondition.THRESHOLD_CONDITION.accept(cardOnStack) ? + MagicGraveyardTargetPicker.PutOntoBattlefield : + MagicGraveyardTargetPicker.ReturnToHand, this, "Return target creature card\$ from your graveyard to your hand. " + "Return that card from your graveyard to the battlefield instead " + diff --git a/release/Magarena/scripts/Sun_Titan.groovy b/release/Magarena/scripts/Sun_Titan.groovy index 573af828ad..0cc7034ca3 100644 --- a/release/Magarena/scripts/Sun_Titan.groovy +++ b/release/Magarena/scripts/Sun_Titan.groovy @@ -15,7 +15,7 @@ def event = { return new MagicEvent( permanent, MagicTargetChoice.TARGET_PERMANENT_CARD_CMC_LEQ_3_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, action, "Return target permanent card\$ with converted mana cost 3 or less " + "from your graveyard to the battlefield." diff --git a/release/Magarena/scripts/Sword_of_Light_and_Shadow.groovy b/release/Magarena/scripts/Sword_of_Light_and_Shadow.groovy index 1996a03c8b..6a711f3fc2 100644 --- a/release/Magarena/scripts/Sword_of_Light_and_Shadow.groovy +++ b/release/Magarena/scripts/Sword_of_Light_and_Shadow.groovy @@ -10,7 +10,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN gains 3 life and may\$ return target creature card\$ " + "from his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Treasure_Hunter.groovy b/release/Magarena/scripts/Treasure_Hunter.groovy index 05b82362aa..e3df67d0f8 100644 --- a/release/Magarena/scripts/Treasure_Hunter.groovy +++ b/release/Magarena/scripts/Treasure_Hunter.groovy @@ -7,7 +7,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target artifact card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Vessel_of_Endless_Rest.groovy b/release/Magarena/scripts/Vessel_of_Endless_Rest.groovy index 199a03c551..78efd9743e 100644 --- a/release/Magarena/scripts/Vessel_of_Endless_Rest.groovy +++ b/release/Magarena/scripts/Vessel_of_Endless_Rest.groovy @@ -8,7 +8,7 @@ return new MagicEvent( permanent, MagicTargetChoice.NEG_TARGET_CARD_FROM_ALL_GRAVEYARDS, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.ExileOpp, this, "Put target card\$ from a graveyard " + "on the bottom of its owner's library." diff --git a/release/Magarena/scripts/Woebearer.groovy b/release/Magarena/scripts/Woebearer.groovy index 8dce5be1f6..332a69273d 100644 --- a/release/Magarena/scripts/Woebearer.groovy +++ b/release/Magarena/scripts/Woebearer.groovy @@ -10,7 +10,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target artifact card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Wort__Boggart_Auntie.groovy b/release/Magarena/scripts/Wort__Boggart_Auntie.groovy index e13e2b121b..672659f4c2 100644 --- a/release/Magarena/scripts/Wort__Boggart_Auntie.groovy +++ b/release/Magarena/scripts/Wort__Boggart_Auntie.groovy @@ -8,7 +8,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_GOBLIN_CARD_FROM_GRAVEYARD ), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may\$ return target Goblin card\$ from " + "his or her graveyard to his or her hand." diff --git a/release/Magarena/scripts/Wrexial__the_Risen_Deep.groovy b/release/Magarena/scripts/Wrexial__the_Risen_Deep.groovy index afd149925c..cba32bdb9f 100644 --- a/release/Magarena/scripts/Wrexial__the_Risen_Deep.groovy +++ b/release/Magarena/scripts/Wrexial__the_Risen_Deep.groovy @@ -10,7 +10,7 @@ new MagicMayChoice( MagicTargetChoice.TARGET_INSTANT_OR_SORCERY_CARD_FROM_OPPONENTS_GRAVEYARD ), - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "PN may\$ cast target instant or sorcery card\$ from your opponent's graveyard without paying its mana cost. "+ "If that card would be put into a graveyard this turn, exile it instead." diff --git a/release/Magarena/scripts/Zombify.groovy b/release/Magarena/scripts/Zombify.groovy index 3cc0d84233..d3251dc42d 100644 --- a/release/Magarena/scripts/Zombify.groovy +++ b/release/Magarena/scripts/Zombify.groovy @@ -5,7 +5,7 @@ return new MagicEvent( cardOnStack, MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD, - new MagicGraveyardTargetPicker(true), + MagicGraveyardTargetPicker.PutOntoBattlefield, this, "Return target creature card\$ from your graveyard to the battlefield." ); diff --git a/src/magic/model/target/MagicGraveyardTargetPicker.java b/src/magic/model/target/MagicGraveyardTargetPicker.java index 1962978dbe..26b11f64b5 100644 --- a/src/magic/model/target/MagicGraveyardTargetPicker.java +++ b/src/magic/model/target/MagicGraveyardTargetPicker.java @@ -7,17 +7,26 @@ import magic.model.MagicPlayer; public class MagicGraveyardTargetPicker extends MagicTargetPicker { - private final boolean noCastingCost; - - public MagicGraveyardTargetPicker(final boolean noCastingCost) { - this.noCastingCost = noCastingCost; + private final boolean free; + private int order; + + public static MagicGraveyardTargetPicker ExileOwn = new MagicGraveyardTargetPicker(true, -1); + + public static MagicGraveyardTargetPicker ExileOpp = new MagicGraveyardTargetPicker(true, 1); + + public static MagicGraveyardTargetPicker ReturnToHand = new MagicGraveyardTargetPicker(false, 1); + + public static MagicGraveyardTargetPicker PutOntoBattlefield = new MagicGraveyardTargetPicker(true, 1); + + private MagicGraveyardTargetPicker(final boolean aFree, final int aOrder) { + free = aFree; + order = aOrder; } - @Override protected int getTargetScore(final MagicGame game,final MagicPlayer player,final MagicCard target) { - return noCastingCost ? - ArtificialScoringSystem.getFreeCardScore(target): - ArtificialScoringSystem.getCardScore(target); + return order * + (free ? ArtificialScoringSystem.getFreeCardScore(target): + ArtificialScoringSystem.getCardScore(target)); } } diff --git a/src/magic/model/trigger/MagicSoulshiftTrigger.java b/src/magic/model/trigger/MagicSoulshiftTrigger.java index 19f77487aa..8d30fe64cc 100644 --- a/src/magic/model/trigger/MagicSoulshiftTrigger.java +++ b/src/magic/model/trigger/MagicSoulshiftTrigger.java @@ -40,7 +40,7 @@ public class MagicSoulshiftTrigger extends MagicWhenDiesTrigger { return new MagicEvent( permanent, new MagicMayChoice(targetChoice), - new MagicGraveyardTargetPicker(false), + MagicGraveyardTargetPicker.ReturnToHand, this, "PN may$ return target Spirit card$ with " + "converted mana cost " + cmc + " or less " +