mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
Merge pull request #8059 from magefree/testing/add-boolean-choice
Added boolean option for setChoice
This commit is contained in:
commit
9233b5c7d7
223 changed files with 806 additions and 802 deletions
|
@ -21,7 +21,7 @@ public class ChooseTargetTest extends CardTestPlayerBase {
|
|||
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
setChoice(playerB, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -44,7 +44,7 @@ public class ChooseTargetTest extends CardTestPlayerBase {
|
|||
// AI must choose itself (strict mode must be disabled)
|
||||
//setChoice(playerA, "Silvercoat Lion");
|
||||
//setChoice(playerB, "Silvercoat Lion");
|
||||
//setChoice(playerA, "Yes");
|
||||
//setChoice(playerA, true);
|
||||
|
||||
//setStrictChooseMode(true);
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -26,7 +26,7 @@ public class CopyAITest extends CardTestPlayerBaseWithAIHelps {
|
|||
|
||||
// clone
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Spectral Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -21,7 +21,7 @@ public class TargetControllerChangeTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Evangelize"); // do not call direct target setup
|
||||
addTarget(playerA, playerB); // choose target opponent
|
||||
setChoice(playerA, "No"); // no buyback
|
||||
setChoice(playerA, false); // no buyback
|
||||
//
|
||||
addTarget(playerB, "Balduvian Bears"); // give small bear to A
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class TargetControllerChangeTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Evangelize"); // do not call direct target setup
|
||||
//addTarget(playerA, playerB); // choose target opponent - AI must choose itself
|
||||
//setChoice(playerA, "No"); // no buyback - AI must choose itself
|
||||
//setChoice(playerA, false); // no buyback - AI must choose itself
|
||||
//
|
||||
//addTarget(playerB, "Balduvian Bears"); // give small bear to A - AI must choose itself
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public class ChaosWandTest extends CardTestPlayerBase {
|
|||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{4}, {T}: ");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes"); // cast for free
|
||||
setChoice(playerA, true); // cast for free
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -33,14 +33,14 @@ public class LightningStormTest extends CardTestPlayerBase {
|
|||
|
||||
// B discard and re-target
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Discard");
|
||||
setChoice(playerB, "Yes"); // change target
|
||||
setChoice(playerB, true); // change target
|
||||
addTarget(playerB, playerA); // new target
|
||||
setChoice(playerB, "Mountain"); // discard cost
|
||||
|
||||
// A discard and re-target
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Discard");
|
||||
setChoice(playerA, "Mountain");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -31,12 +31,12 @@ public class CurseOfShallowGravesTest extends CardTestPlayerBase {
|
|||
|
||||
// turn 1 - attack without token
|
||||
attack(1, playerA, "Balduvian Bears", playerB);
|
||||
setChoice(playerA, "No"); // don't create token
|
||||
setChoice(playerA, false); // don't create token
|
||||
checkPermanentCount("zombie 0", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
|
||||
|
||||
// turn 3 - attack with token
|
||||
attack(3, playerA, "Balduvian Bears", playerB);
|
||||
setChoice(playerA, "Yes"); // create token
|
||||
setChoice(playerA, true); // create token
|
||||
checkPermanentCount("zombie 1", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 1);
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
|
@ -60,12 +60,12 @@ public class CurseOfShallowGravesTest extends CardTestPlayerBase {
|
|||
|
||||
// turn 1 - attack player without token
|
||||
attack(1, playerA, "Balduvian Bears", playerB);
|
||||
setChoice(playerA, "No"); // don't create token
|
||||
setChoice(playerA, false); // don't create token
|
||||
checkPermanentCount("zombie 0", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
|
||||
|
||||
// turn 3 - attack planeswalker (no choices at all)
|
||||
attack(3, playerA, "Balduvian Bears", "Chandra Ablaze");
|
||||
//setChoice(playerA, "Yes");
|
||||
//setChoice(playerA, true);
|
||||
checkPermanentCount("zombie 0", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
|
|
|
@ -116,7 +116,7 @@ public class CursesTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
castSpell(4, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
setChoice(playerB, "Curse of Exhaustion");
|
||||
setChoice(playerB, "targetPlayer=PlayerA");
|
||||
castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
|
@ -384,7 +384,7 @@ public class CursesTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, memnite);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, cReality, playerB);
|
||||
setChoice(playerB, "No");
|
||||
setChoice(playerB, false);
|
||||
|
||||
setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -24,7 +24,7 @@ public class AetherFigmentTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -114,9 +114,9 @@ public class ValakutTheMoltenPinnacleTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift");
|
||||
addTarget(playerA, "Forest^Forest^Forest^Forest^Forest^Forest^Forest");
|
||||
setChoice(playerA, "No"); // Stomping Ground can be tapped
|
||||
setChoice(playerA, "No"); // Stomping Ground can be tapped
|
||||
setChoice(playerA, "No"); // Stomping Ground can be tapped
|
||||
setChoice(playerA, false); // Stomping Ground can be tapped
|
||||
setChoice(playerA, false); // Stomping Ground can be tapped
|
||||
setChoice(playerA, false); // Stomping Ground can be tapped
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ public class AmplifyTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Kilnmouth Dragon");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -49,7 +49,7 @@ public class AmplifyTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Kilnmouth Dragon^Phantasmal Dragon");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -76,13 +76,13 @@ public class AmplifyTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Kilnmouth Dragon");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone");
|
||||
setChoice(playerB, "Yes"); // use clone
|
||||
setChoice(playerB, true); // use clone
|
||||
setChoice(playerB, "Kilnmouth Dragon"); // what clone
|
||||
setChoice(playerB, "Yes"); // use amplify
|
||||
setChoice(playerB, true); // use amplify
|
||||
addTarget(playerB, "Phantasmal Dragon"); // reveal
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -115,9 +115,9 @@ public class AmplifyTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 5);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Through the Breach");
|
||||
setChoice(playerA, "Yes"); // Put a creature into play with Through the Breach?
|
||||
setChoice(playerA, true); // Put a creature into play with Through the Breach?
|
||||
setChoice(playerA, "Kilnmouth Dragon");
|
||||
//setChoice(playerA, "Yes"); // no reveal request cause no cards to show
|
||||
//setChoice(playerA, true); // no reveal request cause no cards to show
|
||||
//addTarget(playerA, "Kilnmouth Dragon");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -70,7 +70,7 @@ public class AnnihilatorTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "Academy Rector"); // Annihilator
|
||||
setChoice(playerA, "Plains"); // Annihilator
|
||||
castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerA, "Cauldron Haze", "Academy Rector", "Annihilator");
|
||||
setChoice(playerA, "No"); // Academy Rector No Exile
|
||||
setChoice(playerA, false); // Academy Rector No Exile
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -357,7 +357,7 @@ public class BestowTest extends CardTestPlayerBase {
|
|||
|
||||
// attacks by Alesha and return card on trigger
|
||||
attack(2, playerB, "Alesha, Who Smiles at Death");
|
||||
setChoice(playerB, "Yes"); // use trigger
|
||||
setChoice(playerB, true); // use trigger
|
||||
addTarget(playerB, "Pillarfield Ox"); // target card to return
|
||||
|
||||
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Chandra's Outrage", "Alesha, Who Smiles at Death");
|
||||
|
|
|
@ -23,7 +23,7 @@ public class BuybackTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // use buyback
|
||||
setChoice(playerA, true); // use buyback
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -44,7 +44,7 @@ public class BuybackTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion");
|
||||
//setChoice(playerA, "Yes"); // use buyback - AI must choose
|
||||
//setChoice(playerA, true); // use buyback - AI must choose
|
||||
|
||||
//setStrictChooseMode(true); - AI must choose
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -187,8 +187,8 @@ public class CascadeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Enlisted Wurm"); // Creature {4}{G}{W} 5/5
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Enlisted Wurm");
|
||||
setChoice(playerA, "Yes"); // Use cascade on Promise of Power
|
||||
setChoice(playerA, "No"); // Pay no Entwine
|
||||
setChoice(playerA, true); // Use cascade on Promise of Power
|
||||
setChoice(playerA, false); // Pay no Entwine
|
||||
setModeChoice(playerA, "1");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -224,7 +224,7 @@ public class CascadeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Ardent Plea"); // Enchantment {1}{W}{U}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ardent Plea");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -39,7 +39,7 @@ public class CipherTest extends CardTestPlayerBase {
|
|||
|
||||
// cast spell, create copy token, exile spell card and encode it to that token of Roil Elemental
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Stolen Identity", "Roil Elemental");
|
||||
setChoice(playerA, "Yes"); // Cipher activate
|
||||
setChoice(playerA, true); // Cipher activate
|
||||
addTarget(playerA, "Roil Elemental"); // Cipher target for encode
|
||||
checkPermanentCount("playerA must have Roil Elemental", 2, PhaseStep.PRECOMBAT_MAIN, playerA, "Roil Elemental", 1);
|
||||
checkPermanentCount("playerB must have Roil Elemental", 2, PhaseStep.PRECOMBAT_MAIN, playerB, "Roil Elemental", 1);
|
||||
|
@ -47,14 +47,14 @@ public class CipherTest extends CardTestPlayerBase {
|
|||
|
||||
// Roil Elemental must activated on new land
|
||||
playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Mountain");
|
||||
setChoice(playerA, "Yes"); // activate landfall to control opponent creature
|
||||
setChoice(playerA, true); // activate landfall to control opponent creature
|
||||
addTarget(playerA, "Silvercoat Lion"); // Triggered ability of copied Roil Elemental to gain control
|
||||
checkPermanentCount("must gain control of Lion", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Silvercoat Lion", 1);
|
||||
checkPermanentCount("must lose control of Lion", 3, PhaseStep.POSTCOMBAT_MAIN, playerB, "Silvercoat Lion", 0);
|
||||
|
||||
// on attack must activated ability to free cast
|
||||
attack(5, playerA, "Roil Elemental");
|
||||
setChoice(playerA, "Yes"); // activate free cast of encoded card
|
||||
setChoice(playerA, true); // activate free cast of encoded card
|
||||
checkPermanentCount("playerA must have 2 Roil Elemental", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Roil Elemental", 2);
|
||||
checkPermanentCount("playerB must have Roil Elemental", 5, PhaseStep.POSTCOMBAT_MAIN, playerB, "Roil Elemental", 1);
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Burn Trail");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -63,7 +63,7 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Burn Trail");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB);
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -89,10 +89,10 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
|
||||
// cast with conspire
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
setChoice(playerA, "Yes"); // use conspire
|
||||
setChoice(playerA, true); // use conspire
|
||||
setChoice(playerA, "Goblin Warrior");
|
||||
setChoice(playerA, "Goblin Warrior");
|
||||
setChoice(playerA, "No"); // keep targets
|
||||
setChoice(playerA, false); // keep targets
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -118,8 +118,8 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wort, the Raidmother"); // {4}{R/G}{R/G}
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Burn Trail", playerB);
|
||||
setChoice(playerA, "Yes"); // use Conspire from Burn Trail itself
|
||||
setChoice(playerA, "Yes"); // use Conspire gained from Wort, the Raidmother
|
||||
setChoice(playerA, true); // use Conspire from Burn Trail itself
|
||||
setChoice(playerA, true); // use Conspire gained from Wort, the Raidmother
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -141,9 +141,9 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes"); // use conspire
|
||||
setChoice(playerA, true); // use conspire
|
||||
setChoice(playerA, "Goblin Assailant^Goblin Assailant");
|
||||
setChoice(playerA, "No"); // don't change target 1
|
||||
setChoice(playerA, false); // don't change target 1
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -166,9 +166,9 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
|
||||
addTarget(playerA, playerB);
|
||||
//setChoice(playerA, "Yes"); // use conspire - AI must choose
|
||||
//setChoice(playerA, true); // use conspire - AI must choose
|
||||
//setChoice(playerA, "Goblin Assailant^Goblin Assailant"); - AI must choose
|
||||
//setChoice(playerA, "No"); // don't change target 1 - AI must choose
|
||||
//setChoice(playerA, false); // don't change target 1 - AI must choose
|
||||
|
||||
//setStrictChooseMode(true); - AI must choose
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -191,9 +191,9 @@ public class ConspireTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
|
||||
addTarget(playerA, playerB);
|
||||
//setChoice(playerA, "Yes"); // use conspire - AI must choose
|
||||
//setChoice(playerA, true); // use conspire - AI must choose
|
||||
//setChoice(playerA, "Goblin Assailant^Goblin Assailant"); - AI must choose
|
||||
//setChoice(playerA, "No"); // don't change target 1 - AI must choose
|
||||
//setChoice(playerA, false); // don't change target 1 - AI must choose
|
||||
|
||||
//setStrictChooseMode(true); - AI must choose
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -26,15 +26,15 @@ public class CumulativeUpkeepTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm");
|
||||
|
||||
// Phobian Phantasm - CumulativeUpkeepAbility: Cumulative upkeep {B}
|
||||
setChoice(playerA, "Yes"); // Pay {B}?
|
||||
setChoice(playerA, true); // Pay {B}?
|
||||
attack(3, playerA, "Phobian Phantasm");
|
||||
checkPermanentCounters("Age counters", 3, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm", CounterType.AGE, 1);
|
||||
|
||||
setChoice(playerA, "Yes"); // Pay {B}{B}?
|
||||
setChoice(playerA, true); // Pay {B}{B}?
|
||||
attack(5, playerA, "Phobian Phantasm");
|
||||
checkPermanentCounters("Age counters", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm", CounterType.AGE, 2);
|
||||
|
||||
setChoice(playerA, "No"); // Pay {B}{B}{B}?
|
||||
setChoice(playerA, false); // Pay {B}{B}{B}?
|
||||
|
||||
setStopAt(7, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -79,7 +79,7 @@ public class CumulativeUpkeepTest extends CardTestPlayerBase {
|
|||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Kor Celebrant");
|
||||
|
||||
// Illusions of Grandeur - CumulativeUpkeepAbility: Cumulative upkeep {2}
|
||||
setChoice(playerA, "Yes"); // Pay {2}?
|
||||
setChoice(playerA, true); // Pay {2}?
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Puca's Mischief");
|
||||
|
||||
|
@ -87,8 +87,8 @@ public class CumulativeUpkeepTest extends CardTestPlayerBase {
|
|||
addTarget(playerA, "Illusions of Grandeur"); // Own target permanent of Puca's Mischief
|
||||
addTarget(playerA, "Kor Celebrant"); // Opponent's target permanent of Puca's Mischief
|
||||
|
||||
setChoice(playerA, "Yes"); // At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost.
|
||||
setChoice(playerA, "No"); // Pay {2}{2}?
|
||||
setChoice(playerA, true); // At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost.
|
||||
setChoice(playerA, false); // Pay {2}{2}?
|
||||
|
||||
checkPermanentCounters("Age counters", 5, PhaseStep.PRECOMBAT_MAIN, playerB, "Illusions of Grandeur", CounterType.AGE, 2);
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ public class CyclingTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "New Perspectives");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cycling");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -39,7 +39,7 @@ public class DashTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Screamreach Brawler");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
attack(1, playerA, "Screamreach Brawler");
|
||||
|
||||
setStopAt(2, PhaseStep.UNTAP);
|
||||
|
@ -57,7 +57,7 @@ public class DashTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Screamreach Brawler");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
attack(1, playerA, "Screamreach Brawler");
|
||||
|
||||
setStopAt(2, PhaseStep.UNTAP);
|
||||
|
@ -81,7 +81,7 @@ public class DashTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Geist of the Moors", 1); // 3/1
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
attack(1, playerA, "Screamreach Brawler");
|
||||
block(1, playerB, "Geist of the Moors", "Screamreach Brawler");
|
||||
|
||||
|
@ -105,7 +105,7 @@ public class DashTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Screamreach Brawler"); // 2/3
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
attack(1, playerA, "Screamreach Brawler");
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
|
||||
|
|
|
@ -67,7 +67,7 @@ public class DredgeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.LIBRARY, playerB, "Silvercoat Lion", 5);
|
||||
skipInitShuffling();
|
||||
|
||||
setChoice(playerB, "Yes"); // Use Dredge
|
||||
setChoice(playerB, true); // Use Dredge
|
||||
|
||||
setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -47,7 +47,7 @@ public class EchoTest extends CardTestPlayerBase {
|
|||
activateManaAbility(3, PhaseStep.UPKEEP, playerA, "{T}: Add {W}");
|
||||
castSpell(3, PhaseStep.UPKEEP, playerA, "Restoration Angel");
|
||||
addTarget(playerA, "Avalanche Riders");
|
||||
setChoice(playerA, "Yes"); // raider do restore
|
||||
setChoice(playerA, true); // raider do restore
|
||||
|
||||
// Avalanche Riders triggered again
|
||||
addTarget(playerA, "Forest");
|
||||
|
|
|
@ -23,7 +23,7 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "No"); // not use Entwine
|
||||
setChoice(playerA, false); // not use Entwine
|
||||
setModeChoice(playerA, "1"); // target creature
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
|
||||
|
@ -49,7 +49,7 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "Yes"); // use Entwine
|
||||
setChoice(playerA, true); // use Entwine
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
addTarget(playerA, playerA);
|
||||
|
||||
|
@ -77,7 +77,7 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "Yes"); // use Entwine
|
||||
setChoice(playerA, true); // use Entwine
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
addTarget(playerA, playerA);
|
||||
|
||||
|
@ -105,7 +105,7 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "Yes"); // use Entwine
|
||||
setChoice(playerA, true); // use Entwine
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
addTarget(playerA, playerA);
|
||||
|
||||
|
@ -134,8 +134,8 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "Yes"); // cast for free
|
||||
setChoice(playerA, "Yes"); // use Entwine
|
||||
setChoice(playerA, true); // cast for free
|
||||
setChoice(playerA, true); // use Entwine
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
addTarget(playerA, playerA);
|
||||
|
||||
|
@ -164,7 +164,7 @@ public class EntwineTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Tooth and Nail"); // Sorcery {5}{G}{G}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tooth and Nail");
|
||||
setChoice(playerA, "Yes"); // Message: Pay Entwine {2} ?
|
||||
setChoice(playerA, true); // Message: Pay Entwine {2} ?
|
||||
addTarget(playerA, "Silvercoat Lion^Pillarfield Ox");
|
||||
setChoice(playerA, "Silvercoat Lion^Pillarfield Ox");
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ public class EvokeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shriekmaw");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Silvercoat Lion");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Exhume");
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -23,7 +23,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, gWalker);
|
||||
attack(1, playerA, gWalker);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
||||
execute();
|
||||
|
@ -40,7 +40,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, brawler);
|
||||
attack(1, playerA, brawler);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -56,7 +56,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, warrior);
|
||||
attack(1, playerA, warrior);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, spearmaster);
|
||||
attack(1, playerA, spearmaster);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -87,7 +87,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears");
|
||||
attack(1, playerA, elite);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
assertPowerToughness(playerA, "Grizzly Bears", 3, 3);
|
||||
|
@ -101,7 +101,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, minotaur);
|
||||
attack(1, playerA, minotaur);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -115,7 +115,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, entangler);
|
||||
attack(1, playerA, entangler);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -129,7 +129,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Hyena Pack");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Dune Beetle");
|
||||
attack(1, playerA, twins);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -148,7 +148,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, gWalker);
|
||||
addCard(Zone.BATTLEFIELD, playerA, twins);
|
||||
attack(1, playerA, gWalker);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -170,7 +170,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, gbInitiate);
|
||||
attack(1, playerA, gbInitiate);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -192,7 +192,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, gbInitiate);
|
||||
attack(1, playerA, gbInitiate);
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -225,7 +225,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, gbInitiate);
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, aTreason, gbInitiate);
|
||||
attack(2, playerB, gbInitiate);
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -251,10 +251,10 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
attack(1, playerA, cCelebrant);
|
||||
attack(1, playerA, memnite);
|
||||
setChoice(playerA, "Yes"); // exert for extra turn
|
||||
setChoice(playerA, true); // exert for extra turn
|
||||
attack(1, playerA, cCelebrant);
|
||||
attack(1, playerA, memnite);
|
||||
setChoice(playerA, "Yes"); // try to exert again
|
||||
setChoice(playerA, true); // try to exert again
|
||||
attack(1, playerA, cCelebrant); // should not be able to enter this 3rd combat phase
|
||||
attack(1, playerA, memnite);
|
||||
|
||||
|
@ -292,10 +292,10 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
|
||||
attack(1, playerA, cCelebrant);
|
||||
attack(1, playerA, memnite);
|
||||
setChoice(playerA, "Yes"); // exert for extra turn
|
||||
setChoice(playerA, true); // exert for extra turn
|
||||
attack(1, playerA, cCelebrant);
|
||||
attack(1, playerA, memnite);
|
||||
setChoice(playerA, "Yes"); // try to exert again
|
||||
setChoice(playerA, true); // try to exert again
|
||||
attack(1, playerA, cCelebrant); // should not be able to enter this 3rd combat phase
|
||||
attack(1, playerA, memnite);
|
||||
|
||||
|
@ -333,9 +333,9 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1:"); // grant +2/+2 vig and haste to celebrant
|
||||
addTarget(playerA, cCelebrant);
|
||||
attack(1, playerA, cCelebrant);
|
||||
setChoice(playerA, "Yes"); // exert for extra turn
|
||||
setChoice(playerA, true); // exert for extra turn
|
||||
attack(1, playerA, cCelebrant);
|
||||
setChoice(playerA, "Yes"); // try to exert again
|
||||
setChoice(playerA, true); // try to exert again
|
||||
attack(1, playerA, cCelebrant); // should not be able to enter this 3rd combat phase
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ExploitTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Thundering Giant"); // 4/3
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silumgar Butcher");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Silvercoat Lion"); // sacrifice to Exploit
|
||||
addTarget(playerA, "Thundering Giant"); // Target for the -3/-3
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class ExploitTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silumgar Butcher");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Silumgar Butcher");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Silvercoat Lion"); // sacrifice to Exploit
|
||||
addTarget(playerA, "Thundering Giant"); // Target for the -3/-3
|
||||
|
||||
|
@ -97,7 +97,7 @@ public class ExploitTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Qarsi Sadist");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Qarsi Sadist");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Qarsi Sadist"); // sacrifice to Exploit
|
||||
addTarget(playerA, playerB); // Target for lose life
|
||||
|
||||
|
|
|
@ -375,7 +375,7 @@ public class FlashbackTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "Whispers of the Muse");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Flashback"); // Flashback Whispers of the Muse
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ public class GraftTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -91,7 +91,7 @@ public class GraftTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -79,7 +79,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "Ulamog, the Ceaseless Hunger");
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{G},");
|
||||
setChoice(playerA, "Yes"); // play Ghost Quarter
|
||||
setChoice(playerA, true); // play Ghost Quarter
|
||||
|
||||
addTarget(playerA, "Dross Crocodile^Dross Crocodile");
|
||||
|
||||
|
@ -126,7 +126,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
attack(3, playerA, "Auriok Champion");
|
||||
|
||||
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
|
||||
setChoice(playerA, "Yes"); // play Ghost Quarter
|
||||
setChoice(playerA, true); // play Ghost Quarter
|
||||
|
||||
setStopAt(3, PhaseStep.END_COMBAT);
|
||||
|
||||
|
@ -180,7 +180,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
attack(3, playerA, "Auriok Champion");
|
||||
|
||||
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
|
||||
setChoice(playerA, "Yes"); // play Ghost Quarter
|
||||
setChoice(playerA, true); // play Ghost Quarter
|
||||
|
||||
setStopAt(3, PhaseStep.END_COMBAT);
|
||||
|
||||
|
@ -214,7 +214,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
attack(3, playerA, "Auriok Champion");
|
||||
|
||||
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
|
||||
setChoice(playerA, "Yes"); // play Ghost Quarter
|
||||
setChoice(playerA, true); // play Ghost Quarter
|
||||
|
||||
setStopAt(3, PhaseStep.END_COMBAT);
|
||||
|
||||
|
@ -254,7 +254,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle);
|
||||
setChoice(playerA, ulamog);
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}");
|
||||
setChoice(playerA, "Yes"); // play Ulamog's Crusher
|
||||
setChoice(playerA, true); // play Ulamog's Crusher
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -299,7 +299,7 @@ public class HideawayTest extends CardTestPlayerBase {
|
|||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle);
|
||||
setChoice(playerA, ulamog);
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}");
|
||||
setChoice(playerA, "Yes"); // play Ulamog's Crusher
|
||||
setChoice(playerA, true); // play Ulamog's Crusher
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -55,7 +55,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
setChoice(playerA, "Yes"); // with Kicker
|
||||
setChoice(playerA, true); // with Kicker
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -75,7 +75,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
//setChoice(playerA, "Yes"); // with Kicker - AI must choose
|
||||
//setChoice(playerA, true); // with Kicker - AI must choose
|
||||
|
||||
//setStrictChooseMode(true); - AI must choose
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -93,7 +93,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -113,7 +113,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
//setChoice(playerA, "No"); - AI must choose
|
||||
//setChoice(playerA, false); - AI must choose
|
||||
|
||||
//setStrictChooseMode(true); - AI must choose
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -137,8 +137,8 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Apex Hawks");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -157,9 +157,9 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Apex Hawks");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -177,7 +177,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Apex Hawks");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -200,8 +200,8 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Sunscape Battlemage", 1); // 2/2 {2}{W}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
|
||||
setChoice(playerA, "No"); // not use kicker {1}{G}
|
||||
setChoice(playerA, "Yes"); // use kicker {2}{U}
|
||||
setChoice(playerA, false); // not use kicker {1}{G}
|
||||
setChoice(playerA, true); // use kicker {2}{U}
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -226,8 +226,8 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Birds of Paradise", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
|
||||
setChoice(playerA, "Yes"); // use kicker {1}{G}
|
||||
setChoice(playerA, "Yes"); // use kicker {2}{U}
|
||||
setChoice(playerA, true); // use kicker {1}{G}
|
||||
setChoice(playerA, true); // use kicker {2}{U}
|
||||
setChoice(playerA, "When "); // two triggers from two kicker options
|
||||
addTarget(playerA, "Birds of Paradise");
|
||||
|
||||
|
@ -259,8 +259,8 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
|
||||
// cast with kicker
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
|
||||
setChoice(playerA, "Yes"); // use kicker {1}{G} - destroy target creature with flying
|
||||
setChoice(playerA, "Yes"); // use kicker {2}{U} - draw two cards
|
||||
setChoice(playerA, true); // use kicker {1}{G} - destroy target creature with flying
|
||||
setChoice(playerA, true); // use kicker {2}{U} - draw two cards
|
||||
// spell must be countered, so no chooses
|
||||
//setChoice(playerA, "When "); // two triggers rised: When {this} enters the battlefield, if it was kicked...
|
||||
//addTarget(playerA, "Birds of Paradise"); // target for {1}{G} trigger
|
||||
|
@ -297,10 +297,10 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
|
||||
// cast kicked spell
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thornscape Battlemage");
|
||||
setChoice(playerA, "Yes"); // use kicker {R} - 2 damage to any target
|
||||
setChoice(playerA, "No"); // not use kicker {W} - destroy target
|
||||
setChoice(playerA, true); // use kicker {R} - 2 damage to any target
|
||||
setChoice(playerA, false); // not use kicker {W} - destroy target
|
||||
addTarget(playerA, playerB); // target for 2 damage
|
||||
setChoice(playerA, "Yes"); // put counter on hallar
|
||||
setChoice(playerA, true); // put counter on hallar
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -332,7 +332,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
|
||||
// first cast with kicker
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gatekeeper of Malakir");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
addTarget(playerA, playerB); // trigger's target
|
||||
addTarget(playerB, "Birds of Paradise"); // sacrifice
|
||||
|
||||
|
@ -341,7 +341,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
|
||||
// second cast without kicker
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Gatekeeper of Malakir");
|
||||
setChoice(playerA, "No"); // no kicker
|
||||
setChoice(playerA, false); // no kicker
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -377,14 +377,14 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
// cast spell with kicker and copy it (kicker status must be saved)
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Agonizing Demise", "@bear1");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
checkStackSize("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + trigger
|
||||
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 1);
|
||||
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1);
|
||||
//
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
|
||||
setChoice(playerA, "Yes"); // copy spell
|
||||
setChoice(playerA, "Yes"); // new target
|
||||
setChoice(playerA, true); // copy spell
|
||||
setChoice(playerA, true); // new target
|
||||
addTarget(playerA, "@bear2");
|
||||
checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy
|
||||
checkStackObject("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 2);
|
||||
|
@ -422,14 +422,14 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
// cast spell with kicker and copy it (kicker status must be saved)
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Agonizing Demise", "@bear1");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
checkStackSize("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + trigger
|
||||
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 1);
|
||||
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1);
|
||||
//
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
|
||||
setChoice(playerA, "Yes"); // copy spell
|
||||
setChoice(playerA, "Yes"); // new target
|
||||
setChoice(playerA, true); // copy spell
|
||||
setChoice(playerA, true); // new target
|
||||
addTarget(playerA, "@bear2");
|
||||
checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy
|
||||
checkStackObject("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 2);
|
||||
|
@ -443,7 +443,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
checkStackObject("before counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Absorb", 1);
|
||||
//
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); // trigger
|
||||
setChoice(playerA, "No"); // do not copy counter spell
|
||||
setChoice(playerA, false); // do not copy counter spell
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); // counter
|
||||
checkStackSize("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 1); // copy
|
||||
checkStackObject("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 1);
|
||||
|
@ -481,7 +481,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
// cast spell with kicker
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 3);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Academy Drake");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
|
||||
// copy spell
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 4);
|
||||
|
@ -536,10 +536,10 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
|
||||
// cast 2x kicked spell for 4x damage
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deathforge Shaman");
|
||||
setChoice(playerA, "Yes"); // 1x kick
|
||||
setChoice(playerA, "Yes"); // 2x kick
|
||||
setChoice(playerA, "No"); // stop multikicker
|
||||
setChoice(playerA, "Yes"); // remove counters and activate verazol's copy
|
||||
setChoice(playerA, true); // 1x kick
|
||||
setChoice(playerA, true); // 2x kick
|
||||
setChoice(playerA, false); // stop multikicker
|
||||
setChoice(playerA, true); // remove counters and activate verazol's copy
|
||||
addTarget(playerA, playerA); // on resolve: target for copied spell
|
||||
addTarget(playerA, playerB); // on resolve: target for original spell
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
@ -571,7 +571,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Lightning Bolt");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Orim's Chant", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
attack(1, playerA, "Raging Goblin");
|
||||
|
||||
|
@ -607,7 +607,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
// When Bloodhusk Ritualist enters the battlefield, target opponent discards a card for each time it was kicked.
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodhusk Ritualist");
|
||||
setChoice(playerA, "Yes", 2); // 2 x Multikicker
|
||||
setChoice(playerA, "No"); // stop the kicking
|
||||
setChoice(playerA, false); // stop the kicking
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Bloodhusk Ritualist");
|
||||
addTarget(playerA, playerB); // target for kicker's trigger (discard cards)
|
||||
|
||||
|
@ -640,7 +640,7 @@ public class KickerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Centaur Courser", 1); // 3/3
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Marsh Casualties", playerB);
|
||||
setChoice(playerA, "Yes"); // Pay Kicker
|
||||
setChoice(playerA, true); // Pay Kicker
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -22,7 +22,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
|
||||
setChoice(playerA, "No"); // no kicker
|
||||
setChoice(playerA, false); // no kicker
|
||||
setModeChoice(playerA, "1");
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
|
||||
|
@ -48,7 +48,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
setModeChoice(playerA, "2");
|
||||
setModeChoice(playerA, "1");
|
||||
addTarget(playerA, playerA); // gain x life
|
||||
|
@ -78,7 +78,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
setModeChoice(playerA, "2");
|
||||
setModeChoice(playerA, "1");
|
||||
addTarget(playerA, playerA); // gain x life
|
||||
|
@ -108,7 +108,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
setModeChoice(playerA, "2");
|
||||
setModeChoice(playerA, "1");
|
||||
addTarget(playerA, playerA); // gain x life
|
||||
|
@ -139,8 +139,8 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
|
||||
setChoice(playerA, "Yes"); // use free cast
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use free cast
|
||||
setChoice(playerA, true); // use kicker
|
||||
setModeChoice(playerA, "2");
|
||||
setModeChoice(playerA, "1");
|
||||
addTarget(playerA, playerA); // gain x life
|
||||
|
|
|
@ -24,7 +24,7 @@ public class KickerWithFlashbackTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Burst Lightning");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burst Lightning", playerB);
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
|
||||
checkLife("after", 1, PhaseStep.END_TURN, playerB, 20 - 4);
|
||||
|
||||
|
@ -77,7 +77,7 @@ public class KickerWithFlashbackTest extends CardTestPlayerBase {
|
|||
// cast burst by flashback
|
||||
// showAvailableAbilities("after", 1, PhaseStep.BEGIN_COMBAT, playerA);
|
||||
activateAbility(1, PhaseStep.BEGIN_COMBAT, playerA, "Flashback");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
checkLife("after", 1, PhaseStep.END_TURN, playerB, 20 - 4);
|
||||
|
|
|
@ -44,7 +44,7 @@ public class MadnessTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raven's Crime", playerA);
|
||||
setChoice(playerA, "Yes"); // use madness triggered ability
|
||||
setChoice(playerA, true); // use madness triggered ability
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -65,7 +65,7 @@ public class MadnessTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Raven's Crime");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raven's Crime", playerA);
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -94,8 +94,8 @@ public class MadnessTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Haunting Hymn");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Haunting Hymn", playerA);
|
||||
setChoice(playerA, "Yes"); // use madness triggered ability
|
||||
setChoice(playerA, "Yes"); // use madness cast
|
||||
setChoice(playerA, true); // use madness triggered ability
|
||||
setChoice(playerA, true); // use madness cast
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -123,7 +123,7 @@ public class MadnessTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Haunting Hymn");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Haunting Hymn", playerA);
|
||||
setChoice(playerA, "Yes"); // use madness triggered ability
|
||||
setChoice(playerA, true); // use madness triggered ability
|
||||
setChoice(playerA, "X=4");
|
||||
addTargetAmount(playerA, "Pillarfield Ox", 4);
|
||||
|
||||
|
@ -176,11 +176,11 @@ public class MadnessTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Falkenrath Gorger");
|
||||
|
||||
setChoice(playerA, "Yes"); // Discard a card and put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a Vampire in addition to its other types?
|
||||
setChoice(playerA, true); // Discard a card and put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a Vampire in addition to its other types?
|
||||
setChoice(playerA, "Asylum Visitor"); // Card to discard from Falkenrath entering by Olivia effect
|
||||
setChoice(playerA, "Asylum Visito"); // Madness {1}{B}
|
||||
setChoice(playerA, "Yes"); // use madness triggered ability
|
||||
setChoice(playerA, "Yes"); // Discard a card and put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a Vampire in addition to its other types?
|
||||
setChoice(playerA, true); // use madness triggered ability
|
||||
setChoice(playerA, true); // Discard a card and put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a Vampire in addition to its other types?
|
||||
setChoice(playerA, "Forest");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -22,7 +22,7 @@ public class MegamorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 6);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aerie Bowmasters");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{5}{G}: Turn");
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ public class ModularTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Arcbound Hybrid");
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Arcbound Bruiser");
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
execute();
|
||||
|
||||
assertPermanentCount(playerA, "Arcbound Bruiser", 0);
|
||||
|
@ -115,7 +115,7 @@ public class ModularTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Puncture Blast");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Puncture Blast", "Arcbound Bruiser");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -31,7 +31,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "No"); // cast it normal as 5/5
|
||||
setChoice(playerA, false); // cast it normal as 5/5
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -50,7 +50,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -69,7 +69,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
||||
|
@ -100,14 +100,14 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Icefeather Aven", TestPlayer.NO_TARGET, "Pine Walker", StackClause.WHILE_NOT_ON_STACK);
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{1}{G}{U}: Turn this face-down permanent face up.");
|
||||
setChoice(playerA, "No"); // Don't use return permanent to hand effect
|
||||
setChoice(playerA, false); // Don't use return permanent to hand effect
|
||||
|
||||
setStopAt(3, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -142,7 +142,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Soldier of the Pantheon", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ponyback Brigade");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -170,10 +170,10 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clever Impersonator");
|
||||
setChoice(playerB, "Yes"); // use to copy a nonland permanent
|
||||
setChoice(playerB, true); // use to copy a nonland permanent
|
||||
addTarget(playerB, EmptyNames.FACE_DOWN_CREATURE.toString()); // Morphed creature
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -206,7 +206,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Doomwake Giant");
|
||||
|
||||
|
@ -248,7 +248,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ponyback Brigade");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Doomwake Giant");
|
||||
|
||||
|
@ -285,7 +285,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Forest", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}{G}{U}: Turn this face-down permanent face up.");
|
||||
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
setChoice(playerA, "Sagu Mauler");
|
||||
|
@ -322,7 +322,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Disdainful Stroke", "Sagu Mauler");
|
||||
|
||||
|
@ -359,9 +359,9 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler", TestPlayer.NO_TARGET, "Sagu Mauler", StackClause.WHILE_NOT_ON_STACK);
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
// showBattlefield("A battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerA);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Echoing Decay", EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
@ -397,7 +397,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Akroma, Angel of Fury");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -423,7 +423,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Plains", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Birchlore Rangers");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Swords to Plowshares", "");
|
||||
|
||||
|
@ -462,7 +462,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ashcloud Phoenix");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
||||
|
@ -502,7 +502,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Mirri, Cat Warrior");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ashcloud Phoenix");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
attack(2, playerB, "Mirri, Cat Warrior");
|
||||
block(2, playerA, EmptyNames.FACE_DOWN_CREATURE.toString(), "Mirri, Cat Warrior");
|
||||
|
@ -540,7 +540,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 6);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
// showBattlefield("A battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerA);
|
||||
// showBattlefield("B battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerB);
|
||||
|
||||
|
@ -580,7 +580,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Dragonlord Kolaghan", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -610,7 +610,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Linvala, Keeper of Silence", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
||||
|
@ -657,7 +657,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
// try cast as normal -- must not work
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic");
|
||||
setChoice(playerB, "No"); // try cast as normal
|
||||
setChoice(playerB, false); // try cast as normal
|
||||
|
||||
//setStrictChooseMode(true); // no strict mode - cause can't cast as normal
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -692,7 +692,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
// try cast as morph - must work
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic");
|
||||
setChoice(playerB, "Yes"); // try cast as morph
|
||||
setChoice(playerB, true); // try cast as morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -734,12 +734,12 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Reflector Mage");
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic");
|
||||
setChoice(playerA, "No"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, false); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -779,7 +779,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
// 1. Cast Vesuvan as face-down
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Vesuvan Shapeshifter");
|
||||
setChoice(playerB, "Yes"); // cast as face-down
|
||||
setChoice(playerB, true); // cast as face-down
|
||||
|
||||
// 2. Moth Vesuvan and copy brine
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{1}{U}: Turn this face-down permanent");
|
||||
|
@ -822,7 +822,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Fatal Push");
|
||||
|
||||
|
@ -860,7 +860,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "The Ur-Dragon", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Quicksilver Dragon");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -898,7 +898,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Quicksilver Dragon");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
||||
|
@ -939,7 +939,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}{R}{R}{R}: Turn this face-down permanent face up.");
|
||||
|
||||
|
@ -959,7 +959,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Play Zoetic Cavern", true);
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
|
||||
setChoice(playerA, "No"); // no morph (canPay for generic/colored mana returns true all the time, so xmage ask about face down cast)
|
||||
setChoice(playerA, false); // no morph (canPay for generic/colored mana returns true all the time, so xmage ask about face down cast)
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -979,7 +979,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
checkPlayableAbility("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Play Zoetic Cavern", true);
|
||||
checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -1007,7 +1007,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
checkPlayableAbility("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Play Zoetic Cavern", true);
|
||||
checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -1033,7 +1033,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
checkPlayableAbility("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Play Zoetic Cavern", true);
|
||||
checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -1078,7 +1078,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -1101,7 +1101,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -1125,7 +1125,7 @@ public class MorphTest extends CardTestPlayerBase {
|
|||
// creature one - get cost reduce
|
||||
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
|
||||
setChoice(playerA, "Yes"); // morph
|
||||
setChoice(playerA, true); // morph
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
||||
// creature two - do not get cost reduce
|
||||
|
|
|
@ -20,7 +20,7 @@ public class OfferingTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, kurosTaken);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, kurosTaken);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -40,7 +40,7 @@ public class OfferingTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, kurosTaken);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron);
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -63,7 +63,7 @@ public class OfferingTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Akki Drillmaster"); // Creature Goblin {2}{R} (2/2)
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Akki Drillmaster");
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
@ -93,7 +93,7 @@ public class OfferingTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Boros Recruit"); // Creature Goblin {R/W} (1/1)
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Boros Recruit");
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
@ -126,7 +126,7 @@ public class OfferingTest extends CardTestPlayerBase {
|
|||
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Boggart Ram-Gang");
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
|
|
@ -29,7 +29,7 @@ public class ProwlTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("must play", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cast Auntie's Snitch", true);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Auntie's Snitch");
|
||||
setChoice(playerA, "Yes"); // choosing to pay prowl cost
|
||||
setChoice(playerA, true); // choosing to pay prowl cost
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -65,7 +65,7 @@ public class ProwlTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("must play", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cast Auntie's Snitch", true);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Auntie's Snitch"); // should only cost {B} with Warchief discount
|
||||
setChoice(playerA, "Yes"); // choosing to pay prowl cost
|
||||
setChoice(playerA, true); // choosing to pay prowl cost
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -33,7 +33,7 @@ public class RecoverTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty");
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -62,7 +62,7 @@ public class RecoverTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty");
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -38,8 +38,8 @@ public class ReplicateTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Train of Thought");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -54,9 +54,9 @@ public class ReplicateTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Train of Thought");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -71,7 +71,7 @@ public class ReplicateTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Train of Thought");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -89,12 +89,12 @@ public class ReplicateTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes"); // replicate 1
|
||||
setChoice(playerA, "Yes"); // replicate 2
|
||||
setChoice(playerA, "No"); // stop
|
||||
setChoice(playerA, true); // replicate 1
|
||||
setChoice(playerA, true); // replicate 2
|
||||
setChoice(playerA, false); // stop
|
||||
//
|
||||
setChoice(playerA, "No"); // don't change target 1
|
||||
setChoice(playerA, "No"); // don't change target 2
|
||||
setChoice(playerA, false); // don't change target 1
|
||||
setChoice(playerA, false); // don't change target 2
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -114,12 +114,12 @@ public class ReplicateTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics");
|
||||
addTarget(playerA, playerB);
|
||||
//setChoice(playerA, "Yes"); // replicate 1 - AI must choice max possible
|
||||
//setChoice(playerA, "Yes"); // replicate 2 - AI must choice max possible
|
||||
//setChoice(playerA, "No"); // stop - AI must choice max possible
|
||||
//setChoice(playerA, true); // replicate 1 - AI must choice max possible
|
||||
//setChoice(playerA, true); // replicate 2 - AI must choice max possible
|
||||
//setChoice(playerA, false); // stop - AI must choice max possible
|
||||
//
|
||||
//setChoice(playerA, "No"); // don't change target 1
|
||||
//setChoice(playerA, "No"); // don't change target 2
|
||||
//setChoice(playerA, false); // don't change target 1
|
||||
//setChoice(playerA, false); // don't change target 2
|
||||
|
||||
//setStrictChooseMode(true); - AI must choice
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -30,7 +30,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn");
|
||||
setChoice(playerA, "Yes"); // yes - counter
|
||||
setChoice(playerA, true); // yes - counter
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn");
|
||||
setChoice(playerA, "No"); // no - haste
|
||||
setChoice(playerA, false); // no - haste
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -75,7 +75,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // yes - counter
|
||||
setChoice(playerA, true); // yes - counter
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -102,8 +102,8 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Rhythm of the Wild"); // choose replacement effect
|
||||
setChoice(playerA, "Yes"); // yes - counter
|
||||
setChoice(playerA, "Yes"); // yes - counter
|
||||
setChoice(playerA, true); // yes - counter
|
||||
setChoice(playerA, true); // yes - counter
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -129,7 +129,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "No"); // no - haste
|
||||
setChoice(playerA, false); // no - haste
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -156,7 +156,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume");
|
||||
setChoice(playerA, "Yes"); // yes - counter
|
||||
setChoice(playerA, true); // yes - counter
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
@ -182,7 +182,7 @@ public class RiotTest extends CardTestPlayerBase {
|
|||
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume");
|
||||
setChoice(playerA, "No"); // no - haste
|
||||
setChoice(playerA, false); // no - haste
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ public class RippleTest extends CardTestPlayerBase {
|
|||
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
||||
|
@ -62,7 +62,7 @@ public class RippleTest extends CardTestPlayerBase {
|
|||
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
@ -97,7 +97,7 @@ public class RippleTest extends CardTestPlayerBase {
|
|||
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
|
|
@ -379,9 +379,9 @@ public class SoulbondKeywordTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Plains", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elite Vanguard");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cloudshift", "Trusted Forcemage");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -415,7 +415,7 @@ public class SoulbondKeywordTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deadeye Navigator");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Palinchron");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Doom Blade", "Deadeye Navigator");
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ public class SpliceOnArcaneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB);
|
||||
// activate splice: yes -> card with splice ability -> new target for spliced ability
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Through the Breach");
|
||||
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: put from hand to battlefield
|
||||
|
||||
|
@ -64,7 +64,7 @@ public class SpliceOnArcaneTest extends CardTestPlayerBase {
|
|||
// cast arcane Lava Spike
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB);
|
||||
// activate splice: yes -> card with splice ability -> new target for spliced ability
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Torrent of Stone");
|
||||
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: 4 damage
|
||||
|
||||
|
@ -103,7 +103,7 @@ public class SpliceOnArcaneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nourishing Shoal");
|
||||
// activate splice: yes -> card with splice ability -> new target for spliced ability
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Through the Breach");
|
||||
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: put from hand to battlefield
|
||||
|
||||
|
@ -168,7 +168,7 @@ public class SpliceOnArcaneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nourishing Shoal");
|
||||
setChoice(playerA, "X=3");
|
||||
setChoice(playerA, "Yes"); // splice
|
||||
setChoice(playerA, true); // splice
|
||||
addTarget(playerA, "Griselbrand");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goryo's Vengeance", "Griselbrand", "Nourishing Shoal");
|
||||
|
|
|
@ -32,7 +32,7 @@ public class TributeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.GRAVEYARD, playerB, "Pharagax Giant"); // Creature 3/3
|
||||
|
||||
attack(1, playerA, "Ink-Eyes, Servant of Oni");
|
||||
setChoice(playerB, "Yes"); // pay tribute
|
||||
setChoice(playerB, true); // pay tribute
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -55,7 +55,7 @@ public class ConditionalOneShotEffectTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Unlicensed Disintegration", "Silvercoat Lion");
|
||||
|
||||
setChoice(playerA, "Yes"); // Get life from Dragon's Claw
|
||||
setChoice(playerA, true); // Get life from Dragon's Claw
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ public class CounterbalanceTest extends CardTestPlayerBase {
|
|||
skipInitShuffling(); // so the set to top card stays at top
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nessian Courser");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -80,7 +80,7 @@ public class CounterspellTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Memory Lapse", "Lightning Bolt");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Memory Lapse");
|
||||
|
||||
setChoice(playerA, "Yes"); // change the target
|
||||
setChoice(playerA, true); // change the target
|
||||
addTarget(playerA, "Memory Lapse");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -116,7 +116,7 @@ public class CounterspellTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Lightning Bolt");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Counterspell");
|
||||
|
||||
setChoice(playerA, "Yes"); // change the target
|
||||
setChoice(playerA, true); // change the target
|
||||
addTarget(playerA, "Counterspell");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -152,7 +152,7 @@ public class CounterspellTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Dissipate", "Lightning Bolt");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Dissipate");
|
||||
|
||||
setChoice(playerA, "Yes"); // change the target
|
||||
setChoice(playerA, true); // change the target
|
||||
addTarget(playerA, "Dissipate");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -89,7 +89,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillarfield Ox");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Pillarfield Ox", "Pillarfield Ox");
|
||||
setChoice(playerB, "Yes"); // use alternate costs
|
||||
setChoice(playerB, true); // use alternate costs
|
||||
setChoice(playerB, "Mistfire Adept"); // pay to cast Mistfire Adept (CMC = 4)
|
||||
|
||||
// rules: 202.3e When calculating the converted mana cost of an object with an {X} in its mana cost,
|
||||
|
@ -139,7 +139,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
|
|||
|
||||
// try to pay by split card, but can't counter -- X <> bear's cmc
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Grizzly Bears", "Grizzly Bears");
|
||||
setChoice(playerB, "Yes"); // use alternative cost
|
||||
setChoice(playerB, true); // use alternative cost
|
||||
setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -171,7 +171,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
|
|||
|
||||
// try to pay by split card, but can't counter -- X <> centaur's cmc
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Centaur Courser", "Centaur Courser");
|
||||
setChoice(playerB, "Yes"); // use alternative cost
|
||||
setChoice(playerB, true); // use alternative cost
|
||||
setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -203,7 +203,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
|
|||
|
||||
// try to pay by split card and it works
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Air Elemental", "Air Elemental");
|
||||
setChoice(playerB, "Yes"); // use alternative cost
|
||||
setChoice(playerB, true); // use alternative cost
|
||||
setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class RoonOfTheHiddenRealmTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Plains", 2);
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}", "Perplexing Chimera");
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ public class IdentityThiefTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
|
||||
|
||||
attack(1, playerA, "Identity Thief");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.DECLARE_BLOCKERS);
|
||||
execute();
|
||||
|
@ -28,7 +28,7 @@ public class IdentityThiefTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
|
||||
|
||||
attack(1, playerA, "Identity Thief");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.DECLARE_BLOCKERS);
|
||||
execute();
|
||||
|
|
|
@ -33,7 +33,7 @@ public class ChorusOfTheConclaveTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Goblin Roughrider");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -70,16 +70,16 @@ public class ChorusOfTheConclaveTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Hamza, Guardian of Arashin"); // {4}{G}{W}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Hamza, Guardian of Arashin");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Mountain");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Akki Drillmaster");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -23,7 +23,7 @@ public class ThrummingStoneTest extends CardTestPlayerBase {
|
|||
addCard(Zone.LIBRARY, playerA, "Swamp", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -48,7 +48,7 @@ public class ThrummingStoneTest extends CardTestPlayerBase {
|
|||
skipInitShuffling();
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -18,7 +18,7 @@ public class LeylineOfAnticipationTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.HAND, playerA, "Leyline of Anticipation");
|
||||
addCard(Zone.HAND, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(2, PhaseStep.DRAW, playerA, "Silvercoat Lion");
|
||||
|
||||
setStopAt(2, PhaseStep.END_COMBAT);
|
||||
|
@ -41,7 +41,7 @@ public class LeylineOfAnticipationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Yawgmoth's Agenda",1);
|
||||
|
||||
addCard(Zone.HAND, playerA, "Leyline of Anticipation");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion");
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ public class TwoFacedCardEffectsTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mayor of Avabruck");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone");
|
||||
setChoice(playerB, "Yes"); // use copy
|
||||
setChoice(playerB, true); // use copy
|
||||
setChoice(playerB, "Mayor of Avabruck"); // clone target
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -201,7 +201,7 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Lightning Bolt");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion");
|
||||
setChoice(playerB, "Yes"); // Pay 3 life to prevent that returns to PlayerA's hand?
|
||||
setChoice(playerB, true); // Pay 3 life to prevent that returns to PlayerA's hand?
|
||||
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public class CommanderAsIndomitableCreativityCastTest extends CardTestCommander4
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Indomitable Creativity");
|
||||
setChoice(playerA, "X=1");
|
||||
addTarget(playerA, "Balduvian Bears");
|
||||
setChoice(playerA, "Yes"); // return spell as commander
|
||||
setChoice(playerA, true); // return spell as commander
|
||||
|
||||
checkPermanentCount("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Balduvian Bears", 0);
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// destroy commander
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Balduvian Bears");
|
||||
setChoice(playerA, "Yes"); // put to command zone again
|
||||
setChoice(playerA, true); // put to command zone again
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after destroy", 1, PhaseStep.PRECOMBAT_MAIN, playerB, playerA, "Balduvian Bears", 0);
|
||||
|
||||
|
@ -105,7 +105,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// destroy commander land
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillage", "Academy Ruins");
|
||||
setChoice(playerA, "Yes"); // put to command zone again
|
||||
setChoice(playerA, true); // put to command zone again
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after destroy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Academy Ruins", 0);
|
||||
|
||||
|
@ -177,7 +177,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
setModeChoice(playerA, "1");
|
||||
setModeChoice(playerA, "1");
|
||||
setModeChoice(playerA, "4");
|
||||
setChoice(playerA, "Yes"); // return commander
|
||||
setChoice(playerA, true); // return commander
|
||||
|
||||
checkPermanentCount("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Citizen", 3);
|
||||
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 + 4);
|
||||
|
@ -203,7 +203,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
// cast 1 and counter (increase commander tax)
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Remand", "Balduvian Bears", "Balduvian Bears");
|
||||
setChoice(playerA, "No"); // move to hand
|
||||
setChoice(playerA, false); // move to hand
|
||||
checkCommandCardCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
|
||||
checkHandCardCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 1);
|
||||
checkPermanentCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
|
||||
|
@ -212,7 +212,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
// cast 2 from hand without tax
|
||||
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears");
|
||||
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerB, "Remand", "Balduvian Bears", "Balduvian Bears");
|
||||
setChoice(playerA, "Yes"); // move to command zone
|
||||
setChoice(playerA, true); // move to command zone
|
||||
checkCommandCardCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 1);
|
||||
checkHandCardCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
|
||||
checkPermanentCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
|
||||
|
@ -265,7 +265,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// cast overload
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Weapon Surge with overload");
|
||||
setChoice(playerA, "Yes"); // move to command zone
|
||||
setChoice(playerA, true); // move to command zone
|
||||
checkAbility("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Balduvian Bears", FirstStrikeAbility.class, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -306,7 +306,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Balduvian Bears");
|
||||
setChoice(playerA, "Red"); // pay
|
||||
setChoice(playerA, "No"); // leave in graveyard
|
||||
setChoice(playerA, false); // leave in graveyard
|
||||
|
||||
// use commander as delve pay
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 5);
|
||||
|
@ -314,7 +314,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
setChoice(playerA, "Blue", 5); // pay normal
|
||||
setChoice(playerA, "Exile a card"); // pay delve
|
||||
setChoice(playerA, "Balduvian Bears");
|
||||
setChoice(playerA, "Yes"); // move to command zone
|
||||
setChoice(playerA, true); // move to command zone
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
setStrictChooseMode(true);
|
||||
|
@ -350,7 +350,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
// turn 1 - cast left
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire");
|
||||
addTargetAmount(playerA, playerB, 2);
|
||||
setChoice(playerA, "Yes"); // return commander
|
||||
setChoice(playerA, true); // return commander
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
// can't cast due commander cost added
|
||||
checkCommandCardCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire // Ice", 1);
|
||||
|
@ -363,7 +363,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
// cast right and use all mana (4 = card + commander cost)
|
||||
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Ice");
|
||||
addTarget(playerA, "Mountain"); // tap target
|
||||
setChoice(playerA, "Yes"); // move to commander
|
||||
setChoice(playerA, true); // move to commander
|
||||
waitStackResolved(5, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkCommandCardCount("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire // Ice", 1);
|
||||
checkPlayableAbility("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Fire", false);
|
||||
|
@ -406,7 +406,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// cast adventure spell
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Treats to Share");
|
||||
setChoice(playerA, "Yes"); // return commander
|
||||
setChoice(playerA, true); // return commander
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkCommandCardCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curious Pair", 1);
|
||||
checkPermanentCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Food", 1);
|
||||
|
@ -423,7 +423,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// play adventure spell, but keep it
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Treats to Share");
|
||||
setChoice(playerA, "No"); // do not return commander
|
||||
setChoice(playerA, false); // do not return commander
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after second cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Food", 2);
|
||||
checkPlayableAbility("after second cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Curious Pair", false);
|
||||
|
@ -439,7 +439,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// return commander to command zone
|
||||
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "target damage 10", "Curious Pair");
|
||||
setChoice(playerA, "Yes"); // return to command zone
|
||||
setChoice(playerA, true); // return to command zone
|
||||
// can't cast - only {2} mana, but need {G} + {2} + {2}
|
||||
checkPlayableAbility("after return 2", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Curious Pair", false);
|
||||
checkPlayableAbility("after return 2", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Treats to Share", false);
|
||||
|
@ -518,7 +518,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
// exile and return
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Angelic Edict", "Tergrid, God of Fright");
|
||||
setChoice(playerA, "Yes"); // return to command
|
||||
setChoice(playerA, true); // return to command
|
||||
|
||||
// turn 5 - check commander cost
|
||||
checkPlayableAbility("before second cast 1", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Tergrid, God of Fright", true);
|
||||
|
@ -572,7 +572,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
checkStackSize("must have 2 bolts on stack", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2);
|
||||
checkPlayableAbility("must see commander on battle for free cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Fierce Guardianship", true);
|
||||
//
|
||||
setChoice(playerA, "Yes"); // return to command zone after kill
|
||||
setChoice(playerA, true); // return to command zone after kill
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -599,8 +599,8 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Uro, Titan of Nature's Wrath");
|
||||
setChoice(playerA, "Whenever {this} enters the battlefield or attacks"); // gain life trigger first, sacrifice next
|
||||
setChoice(playerA, "No"); // keep in graveyard
|
||||
setChoice(playerA, "Yes"); // put land to battlefield
|
||||
setChoice(playerA, false); // keep in graveyard
|
||||
setChoice(playerA, true); // put land to battlefield
|
||||
setChoice(playerA, "Swamp"); // put a Swamp
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -207,7 +207,7 @@ public class ConditionalPreventionTest extends CardTestPlayerBase {
|
|||
|
||||
// add shield for 3 damage
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy");
|
||||
setChoice(playerA, "No"); // no kicker
|
||||
setChoice(playerA, false); // no kicker
|
||||
addTargetAmount(playerA, "Balduvian Bears", 3);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkGraveyardCount("shield", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy", 1);
|
||||
|
@ -242,7 +242,7 @@ public class ConditionalPreventionTest extends CardTestPlayerBase {
|
|||
|
||||
// add shield for 6 damage
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
setChoice(playerA, "Swamp"); // kicker cost
|
||||
addTargetAmount(playerA, "Balduvian Bears", 6);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
|
@ -78,7 +78,7 @@ public class DependentEffectsTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Raise the Alarm"); // Instant {1}{W}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rite of Replication", "Cobblebrute");
|
||||
setChoice(playerA, "No"); // no kicker
|
||||
setChoice(playerA, false); // no kicker
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Raise the Alarm");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Enchanted Evening");
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -21,7 +21,7 @@ public class GoblinBushwhackerTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -38,7 +38,7 @@ public class SerraAscendantTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Serra Ascendant");
|
||||
|
||||
playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Stomping Ground");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Wild Nacatl");
|
||||
|
||||
playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Plains");
|
||||
|
|
|
@ -97,7 +97,7 @@ public class TappedForManaFromMultipleEffects extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Balduvian Bears", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox");
|
||||
setChoice(playerA, "Yes"); // use imprint
|
||||
setChoice(playerA, true); // use imprint
|
||||
setChoice(playerA, "Balduvian Bears"); // discard
|
||||
|
||||
activateManaAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: Add one");
|
||||
|
@ -138,7 +138,7 @@ public class TappedForManaFromMultipleEffects extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mana Reflection", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox");
|
||||
setChoice(playerA, "Yes"); // use imprint
|
||||
setChoice(playerA, true); // use imprint
|
||||
setChoice(playerA, "Balduvian Bears"); // discard
|
||||
|
||||
activateManaAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: Add one");
|
||||
|
|
|
@ -71,7 +71,7 @@ public class UnboundFlourishingTest extends CardTestPlayerBase {
|
|||
checkLife("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 20);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerA);
|
||||
setChoice(playerA, "X=3");
|
||||
setChoice(playerA, "Yes"); // change target
|
||||
setChoice(playerA, true); // change target
|
||||
addTarget(playerA, playerB); // change to B
|
||||
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage
|
||||
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerB, 20 - 3); // copy damage
|
||||
|
@ -158,7 +158,7 @@ public class UnboundFlourishingTest extends CardTestPlayerBase {
|
|||
checkLife("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 20);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{X}{R}", playerA);
|
||||
setChoice(playerA, "X=3");
|
||||
setChoice(playerA, "Yes"); // change target
|
||||
setChoice(playerA, true); // change target
|
||||
addTarget(playerA, playerB); // change to B
|
||||
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage
|
||||
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerB, 20 - 3); // copy damage
|
||||
|
|
|
@ -90,7 +90,7 @@ public class ExileAndReturnUnderYourControl extends CardTestPlayerBase {
|
|||
skipInitShuffling(); // to keep this card on top of library
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Master of Pearls");
|
||||
setChoice(playerA, "Yes"); // cast it face down as 2/2 creature
|
||||
setChoice(playerA, true); // cast it face down as 2/2 creature
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Villainous Wealth", playerB);
|
||||
setChoice(playerA, "X=3");
|
||||
|
|
|
@ -96,7 +96,7 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
|
|||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}:");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}: Gain control", "Mutavault");
|
||||
|
||||
setChoice(playerA, "No"); // Don't untap the Shackles
|
||||
setChoice(playerA, false); // Don't untap the Shackles
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
|
@ -171,9 +171,9 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, leovold);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, oGorger);
|
||||
setChoice(playerA, "Yes"); // opt to use Kirin's ability
|
||||
setChoice(playerA, true); // opt to use Kirin's ability
|
||||
addTarget(playerA, leovold); // attempt to target Leovold with Kirin's take control ability
|
||||
setChoice(playerB, "Yes"); // opt to use Leovold's ability to draw a card when targetted (should not occur)
|
||||
setChoice(playerB, true); // opt to use Leovold's ability to draw a card when targetted (should not occur)
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -218,7 +218,7 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, aLight);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, oGorger);
|
||||
setChoice(playerA, "Yes"); // opt to use Kirin's ability
|
||||
setChoice(playerA, true); // opt to use Kirin's ability
|
||||
addTarget(playerA, aLight); // target Angel of Light with Kirin's take control ability
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -72,7 +72,7 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
|
|||
// search under control of B
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive");
|
||||
setChoice(playerB, "Yes"); // continue
|
||||
setChoice(playerB, true); // continue
|
||||
addTarget(playerB, "Balduvian Bears"); // player B must take control for searching
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
||||
|
@ -115,7 +115,7 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
|
|||
// search as normal and cast
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive");
|
||||
setChoice(playerA, "Yes"); // yes, try to cast a creature card from lib
|
||||
setChoice(playerA, true); // yes, try to cast a creature card from lib
|
||||
setChoice(playerA, "Panglacial Wurm"); // try to cast
|
||||
addTarget(playerA, "Balduvian Bears"); // choice for searching
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
@ -169,8 +169,8 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
|
|||
// search under control of B and cast under B too
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive");
|
||||
setChoice(playerB, "Yes"); // continue
|
||||
setChoice(playerB, "Yes"); // yes, try to cast a creature card from lib
|
||||
setChoice(playerB, true); // continue
|
||||
setChoice(playerB, true); // yes, try to cast a creature card from lib
|
||||
setChoice(playerB, "Panglacial Wurm"); // try to cast
|
||||
addTarget(playerB, "Balduvian Bears"); // choice for searching
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
@ -233,7 +233,7 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
|
|||
|
||||
// start searching under B (bears must go to exile instead graveyard)
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive");
|
||||
setChoice(playerB, "Yes"); // continue after new control
|
||||
setChoice(playerB, true); // continue after new control
|
||||
addTarget(playerB, "Balduvian Bears");
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkGraveyardCount("after grave a", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears", 0);
|
||||
|
|
|
@ -22,7 +22,7 @@ public class AlteredEgoTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego");
|
||||
setChoice(playerA, "X=3");
|
||||
setChoice(playerA, "Yes"); // use copy
|
||||
setChoice(playerA, true); // use copy
|
||||
setChoice(playerA, "Silvercoat Lion"); // copy target
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -44,7 +44,7 @@ public class AlteredEgoTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego");
|
||||
setChoice(playerA, "X=3");
|
||||
setChoice(playerA, "Yes"); // use copy (but no targets for copy)
|
||||
setChoice(playerA, true); // use copy (but no targets for copy)
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -65,7 +65,7 @@ public class CleverImpersonatorTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Balduvian Bears", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clever Impersonator");
|
||||
setChoice(playerA, "Yes"); // make copy
|
||||
setChoice(playerA, true); // make copy
|
||||
setChoice(playerA, "Liliana, Defiant Necromancer"); // copy target
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Each player discards a card");
|
||||
addTarget(playerA, "Balduvian Bears"); // discard
|
||||
|
|
|
@ -214,7 +214,7 @@ public class CloneTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "Elf");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
setChoice(playerB, "Adaptive Automaton");
|
||||
setChoice(playerB, "Goblin");
|
||||
|
||||
|
@ -271,7 +271,7 @@ public class CloneTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ixidron");
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -50,7 +50,7 @@ public class CopyEnchantmentTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inferno Fist", "Geist of the Moors");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment");
|
||||
setChoice(playerB, "Yes"); // copy
|
||||
setChoice(playerB, true); // copy
|
||||
setChoice(playerB, "Inferno Fist"); // copied
|
||||
setChoice(playerB, "Silvercoat Lion"); // target for copy
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
|
||||
addCard(Zone.HAND, playerA, "Holy Strength");
|
||||
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Holy Strength", "Grizzly Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -67,7 +67,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Hill Giant");
|
||||
addCard(Zone.HAND, playerA, "Dead Weight");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Dead Weight", "Centaur Courser");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -89,7 +89,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
|
||||
addCard(Zone.HAND, playerA, "Goblin Bushwhacker");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -107,7 +107,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
|
||||
addCard(Zone.HAND, playerA, "Aether Figment");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -144,7 +144,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
|
||||
addCard(Zone.HAND, playerA, "Nimbus Naiad");
|
||||
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -164,7 +164,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
|
||||
addCard(Zone.HAND, playerA, "Nimbus Naiad");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -191,10 +191,10 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Murder", 1);
|
||||
addCard(Zone.HAND, playerA, "Nimbus Naiad");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
|
||||
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Murder", "Grizzly Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -217,10 +217,10 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Murder", 1);
|
||||
addCard(Zone.HAND, playerA, "Nimbus Naiad");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Murder", "Silvercoat Lion");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -244,11 +244,11 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Murder", 1);
|
||||
addCard(Zone.HAND, playerA, "Nimbus Naiad");
|
||||
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
|
||||
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Murder", "Grizzly Bears");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
@ -39,13 +39,13 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chain of Vapor", "Pillarfield Ox");
|
||||
// chain 1 - B can return
|
||||
addTarget(playerB, "Island"); // select a land to sacrifice
|
||||
setChoice(playerB, "Yes"); // want to copy spell
|
||||
setChoice(playerB, "Yes"); // want to change target
|
||||
setChoice(playerB, true); // want to copy spell
|
||||
setChoice(playerB, true); // want to change target
|
||||
addTarget(playerB, "Silvercoat Lion"); // new target after copy
|
||||
// chain 2 - A can return
|
||||
addTarget(playerA, "Island"); // select a land to sacrifice
|
||||
setChoice(playerA, "Yes"); // want to copy spell
|
||||
setChoice(playerA, "Yes"); // want to change target
|
||||
setChoice(playerA, true); // want to copy spell
|
||||
setChoice(playerA, true); // want to change target
|
||||
addTarget(playerA, "Pillarfield Ox"); // new target after copy
|
||||
// stop the chain by B
|
||||
addTarget(playerB, TestPlayer.TARGET_SKIP);
|
||||
|
@ -109,12 +109,12 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
|
||||
|
||||
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
|
||||
setChoice(playerA, "Yes"); // use Conspire
|
||||
setChoice(playerA, true); // use Conspire
|
||||
addTarget(playerA, "Bonecrusher Giant"); // target bone
|
||||
setChoice(playerA, "Grizzly Bears"); // pay for conspire
|
||||
setChoice(playerA, "Savannah Lions"); // pay for conspire
|
||||
setChoice(playerA, "When you pay"); // Put Conspire on the stack first.
|
||||
setChoice(playerA, "No"); // both spells target bone
|
||||
setChoice(playerA, false); // both spells target bone
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
@ -140,12 +140,12 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
|
||||
|
||||
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
|
||||
setChoice(playerA, "Yes"); // use Conspire
|
||||
setChoice(playerA, true); // use Conspire
|
||||
addTarget(playerA, "Bonecrusher Giant"); // target bone
|
||||
setChoice(playerA, "Grizzly Bears"); // pay for conspire
|
||||
setChoice(playerA, "Savannah Lions"); // pay for conspire
|
||||
setChoice(playerA, "When you pay"); // Put Conspire on the stack first.
|
||||
setChoice(playerA, "Yes"); // new target for copy: bear
|
||||
setChoice(playerA, true); // new target for copy: bear
|
||||
addTarget(playerA, "Grizzly Bears");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -172,11 +172,11 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
|
||||
|
||||
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
|
||||
setChoice(playerA, "Yes"); // use Conspire
|
||||
setChoice(playerA, true); // use Conspire
|
||||
addTarget(playerA, "Grizzly Bears"); // target bear
|
||||
setChoice(playerA, "Grizzly Bears"); // pay for conspire
|
||||
setChoice(playerA, "Savannah Lions"); // pay for conspire
|
||||
setChoice(playerA, "Yes"); // new target for copy: bone
|
||||
setChoice(playerA, true); // new target for copy: bone
|
||||
addTarget(playerA, "Bonecrusher Giant");
|
||||
// setChoice(playerA, "When {this} becomes the target of a spell"); // must be one trigger from bone, not two
|
||||
|
||||
|
@ -300,7 +300,7 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Pillarfield Ox", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Into the Fray", "Zada, Hedron Grinder");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -331,7 +331,7 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
addTarget(playerA, playerB);
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt");
|
||||
addTarget(playerB, playerA); // original target
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -379,7 +379,7 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Flame Slash", "Atraxa, Praetors' Voice");
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Dualcaster Mage");
|
||||
addTarget(playerB, "Flame Slash"); // original target
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, "Walking Ballista");
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Remove a", "Silvercoat Lion", "Flame Slash", StackClause.WHILE_COPY_ON_STACK);
|
||||
|
@ -411,8 +411,8 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback");
|
||||
addTarget(playerA, "Mountain");
|
||||
setChoice(playerA, "Yes"); // Copy
|
||||
setChoice(playerA, "Yes"); // Choose new target
|
||||
setChoice(playerA, true); // Copy
|
||||
setChoice(playerA, true); // Choose new target
|
||||
addTarget(playerA, "Island");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -459,7 +459,7 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
|
||||
// cast spark and make imoti's copy
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes"); // use copy
|
||||
setChoice(playerA, true); // use copy
|
||||
setChoice(playerA, "Imoti, Celebrant of Bounty"); // copy of imoti
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Imoti, Celebrant of Bounty", 2);
|
||||
|
@ -469,9 +469,9 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Alpha Tyrranax");
|
||||
checkStackSize("afer big spell", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 3);
|
||||
setChoice(playerA, "cascade"); // choice between 2x gained cascades
|
||||
setChoice(playerA, "Yes"); // cast first bolt by first cascade
|
||||
setChoice(playerA, true); // cast first bolt by first cascade
|
||||
addTarget(playerA, playerB); // target for first bolt
|
||||
setChoice(playerA, "Yes"); // cast second bold by second cascade
|
||||
setChoice(playerA, true); // cast second bold by second cascade
|
||||
addTarget(playerA, playerB); // target for second bolt
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -556,8 +556,8 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}", 3);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerB);
|
||||
setChoice(playerA, "X=2");
|
||||
setChoice(playerA, "Yes"); // make copy
|
||||
setChoice(playerA, "No"); // keep target same
|
||||
setChoice(playerA, true); // make copy
|
||||
setChoice(playerA, false); // keep target same
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkLife("after spell copy", 1, PhaseStep.PRECOMBAT_MAIN, playerB, 20 - 2 * 2);
|
||||
|
||||
|
@ -566,7 +566,7 @@ public class CopySpellTest extends CardTestPlayerBase {
|
|||
// token must have x=0 (dies)
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian");
|
||||
setChoice(playerA, "X=1");
|
||||
setChoice(playerA, "Yes"); // make copy
|
||||
setChoice(playerA, true); // make copy
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after creature copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian", 1);
|
||||
|
||||
|
|
|
@ -54,14 +54,14 @@ public class CryptoplasmTest extends CardTestPlayerBase {
|
|||
|
||||
// turn 2 - prepare (crypto to paladin, footsteps to crypto)
|
||||
// crypto: copy as paladin on upkeep
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, "Sigiled Paladin");
|
||||
// footsteps: enchant copy of paladin (crypto)
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Followed Footsteps");
|
||||
addTarget(playerB, "Sigiled Paladin[only copy]");
|
||||
|
||||
// turn 4 - ignore crypto ask for new copy
|
||||
setChoice(playerB, "No");
|
||||
setChoice(playerB, false);
|
||||
|
||||
setStopAt(4, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -59,7 +59,7 @@ public class EldraziMimicTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Eldrazi Mimic", 1); // 2/1
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Composite Golem");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ public class FlameshadowConjuringTest extends CardTestPlayerBase {
|
|||
// When Priest of the Blood Rite enters the battlefield, put a 5/5 black Demon creature token with flying onto the battlefield.
|
||||
// At the beginning of your upkeep, you lose 2 life.
|
||||
addCard(Zone.HAND, playerA, "Priest of the Blood Rite", 1); // {3}{B}{B}
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Priest of the Blood Rite");
|
||||
setStopAt(3, PhaseStep.UPKEEP);
|
||||
|
@ -65,7 +65,7 @@ public class FlameshadowConjuringTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Kill Shot", 1); // {2}{U}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wurmcoil Engine");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
attack(1, playerA, "Wurmcoil Engine");
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ public class HiveMindTest extends CardTestPlayerBase {
|
|||
// Each of those players may choose new targets for their copy.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Hive Mind", 1);
|
||||
addCard(Zone.HAND, playerA, "Lightning Bolt", 1);
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, playerA);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
|
@ -55,7 +55,7 @@ public class HiveMindTest extends CardTestPlayerBase {
|
|||
// Whenever a player casts a spell with converted mana cost equal to the number of charge counters on Chalice of the Void, counter that spell.
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Chalice of the Void", 1);
|
||||
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pact of the Titan");
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ public class IdentityThiefTest extends CardTestPlayerBase {
|
|||
setFlipCoinResult(playerA, true);
|
||||
|
||||
attack(2, playerB, "Identity Thief");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, "Molten Sentry");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -44,12 +44,12 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Lightning Bolt");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||
setChoice(playerA, "Yes"); // use imprint
|
||||
setChoice(playerA, true); // use imprint
|
||||
setChoice(playerA, "Lightning Bolt"); // target for imprint (excile from hand)
|
||||
|
||||
// copy and cast imprinted card
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -70,8 +70,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||
addTarget(playerA, "Lightning Bolt");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -113,8 +113,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
attack(2, playerB, "Dross Crocodile");
|
||||
|
||||
activateAbility(2, PhaseStep.DECLARE_BLOCKERS, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, true);
|
||||
|
||||
// Damage life loss is reduced to 0 because of Angel's Grace effect active
|
||||
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", playerA);
|
||||
|
@ -157,8 +157,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
addTarget(playerA, "Silence");
|
||||
|
||||
activateAbility(2, PhaseStep.UPKEEP, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, true);
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion");
|
||||
|
||||
|
|
|
@ -34,19 +34,19 @@ public class MimicVatTest extends CardTestPlayerBase {
|
|||
|
||||
// clone the opponent's creature
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
setChoice(playerA, "Yes"); // use clone on etb
|
||||
setChoice(playerA, true); // use clone on etb
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
// kill clone and exile it (imprint into vat)
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice a creature");
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // exile killed card by vat
|
||||
setChoice(playerA, true); // exile killed card by vat
|
||||
|
||||
// turn 3
|
||||
|
||||
// create a token from exile (imprinted card: clone)
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}: Create a token");
|
||||
setChoice(playerA, "Yes"); // use clone on etb
|
||||
setChoice(playerA, true); // use clone on etb
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -74,13 +74,13 @@ public class MimicVatTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phyrexian Metamorph");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice a creature");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}: Create a token that's a copy of a card exiled with ");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -115,14 +115,14 @@ public class MimicVatTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Shred Memory", "Silvercoat Lion", "Whenever a nontoken creature dies");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}: Create a token that's a copy of a card exiled with ");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -31,7 +31,7 @@ public class MirrorworksTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -56,7 +56,7 @@ public class MirrorworksTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5}
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -29,7 +29,7 @@ public class ReversalOfFortuneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB);
|
||||
setChoice(playerA, "Lightning Bolt"); // select to copy
|
||||
setChoice(playerA, "Yes"); // cast copy
|
||||
setChoice(playerA, true); // cast copy
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -49,7 +49,7 @@ public class ReversalOfFortuneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB);
|
||||
addTarget(playerA, "Lightning Bolt");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -52,29 +52,29 @@ public class SharuumTheHegemonTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Blood Artist", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Sharuum the Hegemon"); // what creature to clone
|
||||
|
||||
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
|
||||
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
|
||||
addTarget(playerA, playerB); // damage by blood
|
||||
setChoice(playerA, "Yes"); // return
|
||||
setChoice(playerA, true); // return
|
||||
addTarget(playerA, "Sharuum the Hegemon"); // return real sharuum
|
||||
|
||||
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
|
||||
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
|
||||
addTarget(playerA, playerB); // damage by blood
|
||||
setChoice(playerA, "Yes"); // return
|
||||
setChoice(playerA, true); // return
|
||||
addTarget(playerA, "Sharuum the Hegemon"); // return real sharuum
|
||||
|
||||
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
|
||||
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
|
||||
addTarget(playerA, playerB); // damage by blood
|
||||
setChoice(playerA, "Yes"); // return
|
||||
setChoice(playerA, true); // return
|
||||
addTarget(playerA, "Sharuum the Hegemon"); // return real sharuum
|
||||
|
||||
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
|
||||
setChoice(playerA, "No"); // Don't use it anymore
|
||||
setChoice(playerA, false); // Don't use it anymore
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
@ -40,7 +40,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Abbey Griffin");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -66,7 +66,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Ajani, the Greathearted");
|
||||
setChoice(playerA, "Ajani, the Greathearted"); // two etb effects (own + copy)
|
||||
|
||||
|
@ -90,7 +90,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Abbey Griffin");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -118,7 +118,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
|
||||
// copy
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Gideon, Ally of Zendikar");
|
||||
setChoice(playerA, "Gideon, Ally of Zendikar"); // two etb effects (own + copy)
|
||||
|
||||
|
@ -147,7 +147,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
|
||||
// copy
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Gideon Blackblade");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -188,7 +188,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
|
||||
// make copy of legendary creature (it's not legendary now)
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Akroma, Angel of Wrath");
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
|
||||
checkPermanentCount("must have copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Wrath", 2);
|
||||
|
@ -224,7 +224,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
|
||||
// make copy of legendary creature (it's not legendary now)
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Akroma, Angel of Wrath");
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
|
||||
checkPermanentCount("must have copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Wrath", 2);
|
||||
|
@ -266,7 +266,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
|
||||
// cast first spark
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Grizzly Bears");
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
checkPermanentCount("after 1", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Grizzly Bears", 2);
|
||||
|
@ -274,7 +274,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
|
|||
// cast second spark
|
||||
// rules 706.9e affected, so must get only 1 counter
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
setChoice(playerA, "Grizzly Bears[only copy]");
|
||||
//setChoice(playerA, "Grizzly Bears"); // possible bug: two etb effects
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
|
@ -70,8 +70,8 @@ public class SpelltwineTest extends CardTestPlayerBase {
|
|||
addTarget(playerA, "Impulse"); // target 1 to exile
|
||||
addTarget(playerA, "Blasphemous Act"); // target 2 to exile
|
||||
|
||||
setChoice(playerA, "Yes"); // pay {3} and copy spell
|
||||
setChoice(playerA, "Yes"); // Change targets
|
||||
setChoice(playerA, true); // pay {3} and copy spell
|
||||
setChoice(playerA, true); // Change targets
|
||||
addTarget(playerA, "Night's Whisper");
|
||||
addTarget(playerA, "Divination");
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -96,7 +96,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Silvercoat Lion");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -119,7 +119,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Fire // Ice");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire", playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -147,7 +147,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Shrapnel Blast", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shrapnel Blast");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -177,7 +177,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Trinisphere", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -214,7 +214,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Far // Away");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "fused Far // Away");
|
||||
setChoice(playerA, "Yes"); // Cast without paying its mana cost?
|
||||
setChoice(playerA, true); // Cast without paying its mana cost?
|
||||
addTarget(playerA, "Silvercoat Lion");
|
||||
addTarget(playerA, playerB);
|
||||
playerB.addTarget("Pillarfield Ox");
|
||||
|
@ -253,7 +253,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
skipInitShuffling();
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -287,8 +287,8 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Bog Wraith", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
|
||||
setChoice(playerA, "Yes"); // cast without cost
|
||||
setChoice(playerA, "Yes"); // pay Entwine
|
||||
setChoice(playerA, true); // cast without cost
|
||||
setChoice(playerA, true); // pay Entwine
|
||||
addTarget(playerA, "Bog Wraith"); // target form mode 1
|
||||
addTarget(playerA, playerB); // target for mode 2
|
||||
|
||||
|
@ -364,12 +364,12 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Bog Wraith", 1); // Creature {3}{B} (3/3)
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Omniscience");
|
||||
setChoice(playerA, "Yes"); // Pay alternative costs? ({W}{U}{B}{R}{G})
|
||||
setChoice(playerA, true); // Pay alternative costs? ({W}{U}{B}{R}{G})
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bog Wraith");
|
||||
// The order of the two alternate casting abilities is not fixed, so it's not clear which ability is asked for first
|
||||
setChoice(playerA, "No"); // Pay alternative costs? ({W}{U}{B}{R}{G})
|
||||
setChoice(playerA, "Yes"); // Cast without paying its mana cost?
|
||||
setChoice(playerA, false); // Pay alternative costs? ({W}{U}{B}{R}{G})
|
||||
setChoice(playerA, true); // Cast without paying its mana cost?
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -414,9 +414,9 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, jeleva);
|
||||
|
||||
attack(3, playerA, jeleva);
|
||||
setChoice(playerA, "Yes"); // opt to use Jeleva ability
|
||||
setChoice(playerA, true); // opt to use Jeleva ability
|
||||
setChoice(playerA, savageBeating); // choose to cast Savage Beating for free
|
||||
setChoice(playerA, "No"); // opt not to pay entwine cost
|
||||
setChoice(playerA, false); // opt not to pay entwine cost
|
||||
setModeChoice(playerA, "1"); // use first mode of Savage Beating granting double strike
|
||||
|
||||
setStopAt(3, PhaseStep.END_COMBAT);
|
||||
|
|
|
@ -22,7 +22,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Lightning Bolt", 1);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre"); // Cast Orgre by discarding the Lightning Bolt
|
||||
setChoice(playerA, "Yes"); // Pay alternative costs? (Discard a card that shares a color with that spell)
|
||||
setChoice(playerA, true); // Pay alternative costs? (Discard a card that shares a color with that spell)
|
||||
setChoice(playerA, "Lightning Bolt");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -93,7 +93,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", "Alpha Myr");
|
||||
setChoice(playerA, "Yes"); // use alternative cost
|
||||
setChoice(playerA, true); // use alternative cost
|
||||
setChoice(playerA, "Plains");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -118,7 +118,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
|
|||
|
||||
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", "Alpha Myr");
|
||||
setChoice(playerA, "Yes"); // use alternative cost
|
||||
setChoice(playerA, true); // use alternative cost
|
||||
setChoice(playerA, "Plains");
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -158,7 +158,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Invigorate", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // use alternative cost
|
||||
setChoice(playerA, true); // use alternative cost
|
||||
addTarget(playerA, playerB); // Opponent to gain live
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -19,7 +19,7 @@ public class GatekeeperOfMalakirTest extends CardTestPlayerBase {
|
|||
// Kicker {B} (You may pay an additional {B} as you cast this spell.)
|
||||
// When Gatekeeper of Malakir enters the battlefield, if it was kicked, target player sacrifices a creature.
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gatekeeper of Malakir");
|
||||
setChoice(playerA, "Yes"); // use kicker
|
||||
setChoice(playerA, true); // use kicker
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -670,7 +670,7 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
|||
|
||||
// cast and make copy of bear
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glasspool Mimic");
|
||||
setChoice(playerA, "Yes"); // as copy
|
||||
setChoice(playerA, true); // as copy
|
||||
setChoice(playerA, "Balduvian Bears"); // copy of
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -695,16 +695,16 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Aether Vial", 1);
|
||||
|
||||
// prepare charge counters
|
||||
setChoice(playerA, "Yes"); // +1 charge on turn 1
|
||||
setChoice(playerA, "Yes"); // +1 charge on turn 3
|
||||
setChoice(playerA, "Yes"); // +1 charge on turn 5
|
||||
setChoice(playerA, true); // +1 charge on turn 1
|
||||
setChoice(playerA, true); // +1 charge on turn 3
|
||||
setChoice(playerA, true); // +1 charge on turn 5
|
||||
|
||||
// put card from hand to battlefield
|
||||
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: You may put a creature card");
|
||||
setChoice(playerA, "Yes"); // put card
|
||||
setChoice(playerA, true); // put card
|
||||
setChoice(playerA, "Glasspool Mimic"); // select card with cmc 3 from hand
|
||||
//
|
||||
setChoice(playerA, "Yes"); // put to battlefield as copy
|
||||
setChoice(playerA, true); // put to battlefield as copy
|
||||
setChoice(playerA, "Balduvian Bears"); // copy of
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -820,7 +820,7 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
|||
|
||||
// play elf with cascade
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodbraid Elf");
|
||||
setChoice(playerA, "Yes"); // use free cast
|
||||
setChoice(playerA, true); // use free cast
|
||||
//setChoice(playerA, "Cast Valki, God of Lies"); possible bug: you can see two spell abilities to choose, but only one allows here
|
||||
setChoice(playerA, TestPlayer.CHOICE_SKIP); // no choices for valki's etb exile
|
||||
|
||||
|
@ -853,7 +853,7 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
|
|||
|
||||
// play elf with cascade
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodbraid Elf");
|
||||
setChoice(playerA, "Yes"); // use free cast
|
||||
setChoice(playerA, true); // use free cast
|
||||
setChoice(playerA, "Cast The Omenkeel"); // can cast any side here
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
|
|
@ -204,7 +204,7 @@ public class CostModificationTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
|
||||
|
||||
playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zoetic Cavern");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -410,7 +410,7 @@ public class CostModificationTest extends CardTestPlayerBase {
|
|||
|
||||
// Vivien: make cost +2 instead +1 (total 7 counters)
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Look at the top four");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
checkPermanentCounters("Vivien Reid counter check", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Vivien Reid", CounterType.LOYALTY, 7);
|
||||
|
||||
// loyalty cost modification doesn't affect card rule's text, so it still shown an old cost value for a user
|
||||
|
@ -467,10 +467,10 @@ public class CostModificationTest extends CardTestPlayerBase {
|
|||
|
||||
// prepare duplicates
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes"); // copy
|
||||
setChoice(playerA, true); // copy
|
||||
setChoice(playerA, "Carth the Lion"); // copy target
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
|
||||
setChoice(playerA, "Yes"); // copy
|
||||
setChoice(playerA, true); // copy
|
||||
setChoice(playerA, "Carth the Lion"); // copy target
|
||||
|
||||
// x3 lions gives +3 in cost reduction (-8 -> -5)
|
||||
|
|
|
@ -29,7 +29,7 @@ public class HeartstoneTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", playerA);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}{U}, Tap two untapped Wizards you control: Copy target instant or sorcery spell. You may choose new targets for the copy.", "Lightning Bolt");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -80,7 +80,7 @@ public class MizzixOfTheIzmagnusTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Seething Anger", "Mizzix of the Izmagnus");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -26,7 +26,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Relic of Progenitus");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -53,7 +53,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -78,7 +78,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Glint Hawk");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -102,7 +102,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Moat");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Moat");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -130,7 +130,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Propaganda");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, "Propaganda");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -156,7 +156,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Drake Familiar");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -180,7 +180,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Propaganda");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
|
||||
setChoice(playerA, "No");
|
||||
setChoice(playerA, false);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -35,7 +35,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Wear // Tear"); // select card
|
||||
setChoice(playerA, "Yes"); // confirm to cast
|
||||
setChoice(playerA, true); // confirm to cast
|
||||
setChoice(playerA, "Cast Tear"); // select tear side
|
||||
addTarget(playerA, "Sanguine Bond"); // target for tear
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Wear // Tear"); // select card
|
||||
setChoice(playerA, "Yes"); // confirm to cast
|
||||
setChoice(playerA, true); // confirm to cast
|
||||
setChoice(playerA, "Cast Wear"); // select wear side
|
||||
addTarget(playerA, "Icy Manipulator"); // target for wear
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Wear // Tear"); // select card
|
||||
setChoice(playerA, "Yes"); // confirm to cast
|
||||
setChoice(playerA, true); // confirm to cast
|
||||
setChoice(playerA, "Cast fused Wear // Tear"); // select fused
|
||||
addTarget(playerA, "Icy Manipulator"); // target for wear
|
||||
addTarget(playerA, "Sanguine Bond"); // target for tear
|
||||
|
@ -136,7 +136,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Etali, Primal Storm"); // Creature {4}{R} 6/6
|
||||
|
||||
attack(2, playerB, "Etali, Primal Storm");
|
||||
setChoice(playerB, "Yes"); // free cast
|
||||
setChoice(playerB, true); // free cast
|
||||
setChoice(playerB, "Fire // Ice"); // card to cast
|
||||
setChoice(playerB, "Cast Fire"); // ability to cast
|
||||
addTargetAmount(playerB, "Silvercoat Lion", 2);
|
||||
|
|
|
@ -59,7 +59,7 @@ public class SplitCardCmcTest extends CardTestPlayerBase {
|
|||
skipInitShuffling(); // so the set to top card stays at top
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Typhoid Rats");
|
||||
setChoice(playerB, "Yes"); // Reveal to Counterbalance to attempt to counter Typhoid Rats
|
||||
setChoice(playerB, true); // Reveal to Counterbalance to attempt to counter Typhoid Rats
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -105,7 +105,7 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -128,10 +128,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -154,10 +154,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
|
@ -180,9 +180,9 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
@ -203,9 +203,9 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
rollbackTurns(2, PhaseStep.END_TURN, playerA, 0);
|
||||
|
@ -228,16 +228,16 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
rollbackTurns(2, PhaseStep.END_TURN, playerA, 0);
|
||||
|
||||
rollbackAfterActionsStart();
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Storeroom
|
||||
setChoice(playerA, true); // Storeroom
|
||||
addTarget(playerA, SILVERCOAT_LION);
|
||||
rollbackAfterActionsEnd();
|
||||
|
||||
|
@ -265,10 +265,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
|
||||
setChoice(playerB, DUNGEON_OF_THE_MAD_MAGE);
|
||||
|
@ -276,7 +276,7 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
|
||||
waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
|
||||
setChoice(playerB, "Yes"); // Goblin Bazaar
|
||||
setChoice(playerB, true); // Goblin Bazaar
|
||||
waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
|
||||
|
||||
|
@ -305,10 +305,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
|
@ -346,10 +346,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
|
||||
|
@ -370,13 +370,13 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // return Dungeon Crawler
|
||||
setChoice(playerA, true); // return Dungeon Crawler
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -396,10 +396,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -423,10 +423,10 @@ public class DungeonTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, LOST_MINE_OF_PHANDELVER);
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "Yes"); // Goblin Lair
|
||||
setChoice(playerA, true); // Goblin Lair
|
||||
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
|
||||
setChoice(playerA, "No"); // Dark Pool
|
||||
setChoice(playerA, false); // Dark Pool
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -50,9 +50,9 @@ public class AuraMovingTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Alexi's Cloak", "Bruna, Light of Alabaster");
|
||||
attack(2, playerB, "Bruna, Light of Alabaster");
|
||||
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, "Hostile Realm");
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
addTarget(playerB, "Unholy Strength");
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
|
|||
|
||||
attack(2, playerB, "Hill Giant");
|
||||
addTarget(playerA, playerB); // Circle of Affliction drain ability
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -60,9 +60,9 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
|
|||
attack(2, playerB, "Silvercoat Lion");
|
||||
attack(2, playerB, "Silvercoat Lion");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
@ -93,18 +93,18 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lava Spike", playerA);
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
attack(2, playerB, "Hill Giant");
|
||||
attack(2, playerB, "Hill Giant");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lava Spike", playerA);
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
@ -135,9 +135,9 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
|
|||
attack(2, playerB, "Silvercoat Lion");
|
||||
attack(2, playerB, "Hill Giant");
|
||||
addTarget(playerA, playerB);
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
addTarget(playerA, playerB); // should not be able to drain Hill Giant with white selected
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, true);
|
||||
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
@ -74,7 +74,7 @@ public class EnchantingGraveyardCardsTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, SPELLWEAVER_VOLUTE, LIGHTNING_BOLT);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cloak of Feathers", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // play the L. Bold
|
||||
setChoice(playerA, true); // play the L. Bold
|
||||
addTarget(playerA, playerB); // Add Target for the L. Bold
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
@ -120,7 +120,7 @@ public class EnchantingGraveyardCardsTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, SPELLWEAVER_VOLUTE, LIGHTNING_BOLT);
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cloak of Feathers", "Silvercoat Lion");
|
||||
setChoice(playerA, "Yes"); // play the L. Bold
|
||||
setChoice(playerA, true); // play the L. Bold
|
||||
addTarget(playerA, playerB); // Add Target for the L. Bold
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
@ -28,7 +28,7 @@ public class MindsDilationTest extends CardTestPlayerBase {
|
|||
skipInitShuffling();
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
setChoice(playerB, "Yes");
|
||||
setChoice(playerB, true);
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
@ -55,7 +55,7 @@ public class MindsDilationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.LIBRARY, playerA, "Divination", 1); // draw 2 cards
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
|
||||
setChoice(playerB, "No"); // no, I don't want my free 2 cards
|
||||
setChoice(playerB, false); // no, I don't want my free 2 cards
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
@ -25,7 +25,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
// turn 1 - A
|
||||
// oath A triggers for A and activates
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -57,7 +57,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
// turn 2 - B
|
||||
// oath A triggers for B and activates
|
||||
addTarget(playerB, playerA); // who control more lands
|
||||
setChoice(playerB, "Yes"); // search library
|
||||
setChoice(playerB, true); // search library
|
||||
addTarget(playerB, "Plains"); // card from library
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
@ -81,7 +81,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
// turn 1 - A
|
||||
// oath B triggers for A and activates
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -106,11 +106,11 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
// oath B triggers for A and activates
|
||||
// 1
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
// 2
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
@ -142,7 +142,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish");
|
||||
// cast oath copy
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Copy Enchantment");
|
||||
setChoice(playerA, "Yes"); // use copy effect
|
||||
setChoice(playerA, true); // use copy effect
|
||||
setChoice(playerA, "Oath of Lieges"); // target for copy
|
||||
checkPermanentCount("A have 2 oath", 1, PhaseStep.END_TURN, playerA, "Oath of Lieges", 2);
|
||||
checkPermanentCount("A have 10 plains", 1, PhaseStep.END_TURN, playerA, "Plains", 10);
|
||||
|
@ -161,11 +161,11 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "At the beginning of each player's upkeep"); // two triggers on upkeep
|
||||
// 1
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
// 2
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
|
||||
setStrictChooseMode(true);
|
||||
|
@ -201,7 +201,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish");
|
||||
// cast oath copy by opponent
|
||||
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Copy Enchantment");
|
||||
setChoice(playerB, "Yes"); // use copy effect
|
||||
setChoice(playerB, true); // use copy effect
|
||||
setChoice(playerB, "Oath of Lieges"); // target for copy
|
||||
checkPermanentCount("A have 1 oath", 2, PhaseStep.END_TURN, playerA, "Oath of Lieges", 1);
|
||||
checkPermanentCount("B have 1 oath", 2, PhaseStep.END_TURN, playerA, "Oath of Lieges", 1);
|
||||
|
@ -213,11 +213,11 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
|
|||
// copy oath B triggers for A and activates
|
||||
// 1
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
// 2
|
||||
addTarget(playerA, playerB); // who control more lands
|
||||
setChoice(playerA, "Yes"); // search library
|
||||
setChoice(playerA, true); // search library
|
||||
addTarget(playerA, "Plains"); // card from library
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue