Merge pull request #8059 from magefree/testing/add-boolean-choice

Added boolean option for setChoice
This commit is contained in:
Evan Kranzler 2021-07-27 09:16:05 -04:00 committed by GitHub
commit 9233b5c7d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
223 changed files with 806 additions and 802 deletions

View file

@ -21,7 +21,7 @@ public class ChooseTargetTest extends CardTestPlayerBase {
setChoice(playerA, "Silvercoat Lion"); setChoice(playerA, "Silvercoat Lion");
setChoice(playerB, "Silvercoat Lion"); setChoice(playerB, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(2, PhaseStep.BEGIN_COMBAT); setStopAt(2, PhaseStep.BEGIN_COMBAT);
@ -44,7 +44,7 @@ public class ChooseTargetTest extends CardTestPlayerBase {
// AI must choose itself (strict mode must be disabled) // AI must choose itself (strict mode must be disabled)
//setChoice(playerA, "Silvercoat Lion"); //setChoice(playerA, "Silvercoat Lion");
//setChoice(playerB, "Silvercoat Lion"); //setChoice(playerB, "Silvercoat Lion");
//setChoice(playerA, "Yes"); //setChoice(playerA, true);
//setStrictChooseMode(true); //setStrictChooseMode(true);
setStopAt(2, PhaseStep.BEGIN_COMBAT); setStopAt(2, PhaseStep.BEGIN_COMBAT);

View file

@ -26,7 +26,7 @@ public class CopyAITest extends CardTestPlayerBaseWithAIHelps {
// clone // clone
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Spectral Bears"); setChoice(playerA, "Spectral Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -21,7 +21,7 @@ public class TargetControllerChangeTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Evangelize"); // do not call direct target setup castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Evangelize"); // do not call direct target setup
addTarget(playerA, playerB); // choose target opponent 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 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 castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Evangelize"); // do not call direct target setup
//addTarget(playerA, playerB); // choose target opponent - AI must choose itself //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 //addTarget(playerB, "Balduvian Bears"); // give small bear to A - AI must choose itself

View file

@ -24,7 +24,7 @@ public class ChaosWandTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{4}, {T}: "); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{4}, {T}: ");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); // cast for free setChoice(playerA, true); // cast for free
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -33,14 +33,14 @@ public class LightningStormTest extends CardTestPlayerBase {
// B discard and re-target // B discard and re-target
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Discard"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Discard");
setChoice(playerB, "Yes"); // change target setChoice(playerB, true); // change target
addTarget(playerB, playerA); // new target addTarget(playerB, playerA); // new target
setChoice(playerB, "Mountain"); // discard cost setChoice(playerB, "Mountain"); // discard cost
// A discard and re-target // A discard and re-target
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Discard"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Discard");
setChoice(playerA, "Mountain"); setChoice(playerA, "Mountain");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -31,12 +31,12 @@ public class CurseOfShallowGravesTest extends CardTestPlayerBase {
// turn 1 - attack without token // turn 1 - attack without token
attack(1, playerA, "Balduvian Bears", playerB); 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); checkPermanentCount("zombie 0", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
// turn 3 - attack with token // turn 3 - attack with token
attack(3, playerA, "Balduvian Bears", playerB); 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); checkPermanentCount("zombie 1", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 1);
setStopAt(3, PhaseStep.END_TURN); setStopAt(3, PhaseStep.END_TURN);
@ -60,12 +60,12 @@ public class CurseOfShallowGravesTest extends CardTestPlayerBase {
// turn 1 - attack player without token // turn 1 - attack player without token
attack(1, playerA, "Balduvian Bears", playerB); 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); checkPermanentCount("zombie 0", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
// turn 3 - attack planeswalker (no choices at all) // turn 3 - attack planeswalker (no choices at all)
attack(3, playerA, "Balduvian Bears", "Chandra Ablaze"); attack(3, playerA, "Balduvian Bears", "Chandra Ablaze");
//setChoice(playerA, "Yes"); //setChoice(playerA, true);
checkPermanentCount("zombie 0", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0); checkPermanentCount("zombie 0", 3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zombie", 0);
setStopAt(3, PhaseStep.END_TURN); setStopAt(3, PhaseStep.END_TURN);

View file

@ -116,7 +116,7 @@ public class CursesTest extends CardTestPlayerBase {
castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
castSpell(4, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment"); castSpell(4, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment");
setChoice(playerB, "Yes"); setChoice(playerB, true);
setChoice(playerB, "Curse of Exhaustion"); setChoice(playerB, "Curse of Exhaustion");
setChoice(playerB, "targetPlayer=PlayerA"); setChoice(playerB, "targetPlayer=PlayerA");
castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
@ -384,7 +384,7 @@ public class CursesTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, memnite); addCard(Zone.BATTLEFIELD, playerB, memnite);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, cReality, playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, cReality, playerB);
setChoice(playerB, "No"); setChoice(playerB, false);
setStopAt(2, PhaseStep.PRECOMBAT_MAIN); setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();

View file

@ -24,7 +24,7 @@ public class AetherFigmentTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -114,9 +114,9 @@ public class ValakutTheMoltenPinnacleTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Scapeshift");
addTarget(playerA, "Forest^Forest^Forest^Forest^Forest^Forest^Forest"); addTarget(playerA, "Forest^Forest^Forest^Forest^Forest^Forest^Forest");
setChoice(playerA, "No"); // Stomping Ground can be tapped setChoice(playerA, false); // Stomping Ground can be tapped
setChoice(playerA, "No"); // Stomping Ground can be tapped setChoice(playerA, false); // Stomping Ground can be tapped
setChoice(playerA, "No"); // Stomping Ground can be tapped setChoice(playerA, false); // Stomping Ground can be tapped
setStopAt(3, PhaseStep.BEGIN_COMBAT); setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -25,7 +25,7 @@ public class AmplifyTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Kilnmouth Dragon"); addTarget(playerA, "Kilnmouth Dragon");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -49,7 +49,7 @@ public class AmplifyTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 7);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Kilnmouth Dragon^Phantasmal Dragon"); addTarget(playerA, "Kilnmouth Dragon^Phantasmal Dragon");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -76,13 +76,13 @@ public class AmplifyTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Island", 4); addCard(Zone.BATTLEFIELD, playerB, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Kilnmouth Dragon");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Kilnmouth Dragon"); addTarget(playerA, "Kilnmouth Dragon");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone"); 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, "Kilnmouth Dragon"); // what clone
setChoice(playerB, "Yes"); // use amplify setChoice(playerB, true); // use amplify
addTarget(playerB, "Phantasmal Dragon"); // reveal addTarget(playerB, "Phantasmal Dragon"); // reveal
setStrictChooseMode(true); setStrictChooseMode(true);
@ -115,9 +115,9 @@ public class AmplifyTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 5); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Through the Breach"); 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, "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"); //addTarget(playerA, "Kilnmouth Dragon");
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -70,7 +70,7 @@ public class AnnihilatorTest extends CardTestPlayerBase {
setChoice(playerA, "Academy Rector"); // Annihilator setChoice(playerA, "Academy Rector"); // Annihilator
setChoice(playerA, "Plains"); // Annihilator setChoice(playerA, "Plains"); // Annihilator
castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerA, "Cauldron Haze", "Academy Rector", "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); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();

View file

@ -357,7 +357,7 @@ public class BestowTest extends CardTestPlayerBase {
// attacks by Alesha and return card on trigger // attacks by Alesha and return card on trigger
attack(2, playerB, "Alesha, Who Smiles at Death"); 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 addTarget(playerB, "Pillarfield Ox"); // target card to return
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Chandra's Outrage", "Alesha, Who Smiles at Death"); castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Chandra's Outrage", "Alesha, Who Smiles at Death");

View file

@ -23,7 +23,7 @@ public class BuybackTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G} addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion");
setChoice(playerA, "Yes"); // use buyback setChoice(playerA, true); // use buyback
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -44,7 +44,7 @@ public class BuybackTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G} addCard(Zone.HAND, playerA, "Elvish Fury", 1); // Instant {G}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elvish Fury", "Silvercoat Lion"); 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 //setStrictChooseMode(true); - AI must choose
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -187,8 +187,8 @@ public class CascadeTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Enlisted Wurm"); // Creature {4}{G}{W} 5/5 addCard(Zone.HAND, playerA, "Enlisted Wurm"); // Creature {4}{G}{W} 5/5
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Enlisted Wurm"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Enlisted Wurm");
setChoice(playerA, "Yes"); // Use cascade on Promise of Power setChoice(playerA, true); // Use cascade on Promise of Power
setChoice(playerA, "No"); // Pay no Entwine setChoice(playerA, false); // Pay no Entwine
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -224,7 +224,7 @@ public class CascadeTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Ardent Plea"); // Enchantment {1}{W}{U} addCard(Zone.HAND, playerA, "Ardent Plea"); // Enchantment {1}{W}{U}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ardent Plea"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ardent Plea");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -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 // 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"); 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 addTarget(playerA, "Roil Elemental"); // Cipher target for encode
checkPermanentCount("playerA must have Roil Elemental", 2, PhaseStep.PRECOMBAT_MAIN, playerA, "Roil Elemental", 1); 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); 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 // Roil Elemental must activated on new land
playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Mountain"); 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 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 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); checkPermanentCount("must lose control of Lion", 3, PhaseStep.POSTCOMBAT_MAIN, playerB, "Silvercoat Lion", 0);
// on attack must activated ability to free cast // on attack must activated ability to free cast
attack(5, playerA, "Roil Elemental"); 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("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); checkPermanentCount("playerB must have Roil Elemental", 5, PhaseStep.POSTCOMBAT_MAIN, playerB, "Roil Elemental", 1);

View file

@ -43,7 +43,7 @@ public class ConspireTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Burn Trail"); addCard(Zone.HAND, playerA, "Burn Trail");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -63,7 +63,7 @@ public class ConspireTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Burn Trail"); addCard(Zone.HAND, playerA, "Burn Trail");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail", playerB);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -89,10 +89,10 @@ public class ConspireTest extends CardTestPlayerBase {
// cast with conspire // cast with conspire
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", playerB); 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, "Goblin Warrior"); setChoice(playerA, "Goblin Warrior");
setChoice(playerA, "No"); // keep targets setChoice(playerA, false); // keep targets
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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.PRECOMBAT_MAIN, playerA, "Wort, the Raidmother"); // {4}{R/G}{R/G}
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Burn Trail", playerB); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Burn Trail", playerB);
setChoice(playerA, "Yes"); // use Conspire from Burn Trail itself setChoice(playerA, true); // use Conspire from Burn Trail itself
setChoice(playerA, "Yes"); // use Conspire gained from Wort, the Raidmother setChoice(playerA, true); // use Conspire gained from Wort, the Raidmother
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -141,9 +141,9 @@ public class ConspireTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); // use conspire setChoice(playerA, true); // use conspire
setChoice(playerA, "Goblin Assailant^Goblin Assailant"); setChoice(playerA, "Goblin Assailant^Goblin Assailant");
setChoice(playerA, "No"); // don't change target 1 setChoice(playerA, false); // don't change target 1
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -166,9 +166,9 @@ public class ConspireTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
addTarget(playerA, playerB); 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, "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 //setStrictChooseMode(true); - AI must choose
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -191,9 +191,9 @@ public class ConspireTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burn Trail");
addTarget(playerA, playerB); 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, "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 //setStrictChooseMode(true); - AI must choose
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -26,15 +26,15 @@ public class CumulativeUpkeepTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm");
// Phobian Phantasm - CumulativeUpkeepAbility: Cumulative upkeep {B} // Phobian Phantasm - CumulativeUpkeepAbility: Cumulative upkeep {B}
setChoice(playerA, "Yes"); // Pay {B}? setChoice(playerA, true); // Pay {B}?
attack(3, playerA, "Phobian Phantasm"); attack(3, playerA, "Phobian Phantasm");
checkPermanentCounters("Age counters", 3, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm", CounterType.AGE, 1); 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"); attack(5, playerA, "Phobian Phantasm");
checkPermanentCounters("Age counters", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Phobian Phantasm", CounterType.AGE, 2); 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); setStopAt(7, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -79,7 +79,7 @@ public class CumulativeUpkeepTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Kor Celebrant"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Kor Celebrant");
// Illusions of Grandeur - CumulativeUpkeepAbility: Cumulative upkeep {2} // 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"); 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, "Illusions of Grandeur"); // Own target permanent of Puca's Mischief
addTarget(playerA, "Kor Celebrant"); // Opponent's 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, 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, "No"); // Pay {2}{2}? setChoice(playerA, false); // Pay {2}{2}?
checkPermanentCounters("Age counters", 5, PhaseStep.PRECOMBAT_MAIN, playerB, "Illusions of Grandeur", CounterType.AGE, 2); checkPermanentCounters("Age counters", 5, PhaseStep.PRECOMBAT_MAIN, playerB, "Illusions of Grandeur", CounterType.AGE, 2);

View file

@ -130,7 +130,7 @@ public class CyclingTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "New Perspectives"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "New Perspectives");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cycling"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cycling");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -39,7 +39,7 @@ public class DashTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Screamreach Brawler"); addCard(Zone.HAND, playerA, "Screamreach Brawler");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(1, playerA, "Screamreach Brawler"); attack(1, playerA, "Screamreach Brawler");
setStopAt(2, PhaseStep.UNTAP); setStopAt(2, PhaseStep.UNTAP);
@ -57,7 +57,7 @@ public class DashTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Screamreach Brawler"); addCard(Zone.HAND, playerA, "Screamreach Brawler");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
setChoice(playerA, "No"); setChoice(playerA, false);
attack(1, playerA, "Screamreach Brawler"); attack(1, playerA, "Screamreach Brawler");
setStopAt(2, PhaseStep.UNTAP); setStopAt(2, PhaseStep.UNTAP);
@ -81,7 +81,7 @@ public class DashTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Geist of the Moors", 1); // 3/1 addCard(Zone.BATTLEFIELD, playerB, "Geist of the Moors", 1); // 3/1
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(1, playerA, "Screamreach Brawler"); attack(1, playerA, "Screamreach Brawler");
block(1, playerB, "Geist of the Moors", "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 addCard(Zone.HAND, playerA, "Screamreach Brawler"); // 2/3
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(1, playerA, "Screamreach Brawler"); attack(1, playerA, "Screamreach Brawler");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler"); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Screamreach Brawler");

View file

@ -67,7 +67,7 @@ public class DredgeTest extends CardTestPlayerBase {
addCard(Zone.LIBRARY, playerB, "Silvercoat Lion", 5); addCard(Zone.LIBRARY, playerB, "Silvercoat Lion", 5);
skipInitShuffling(); skipInitShuffling();
setChoice(playerB, "Yes"); // Use Dredge setChoice(playerB, true); // Use Dredge
setStopAt(2, PhaseStep.PRECOMBAT_MAIN); setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();

View file

@ -47,7 +47,7 @@ public class EchoTest extends CardTestPlayerBase {
activateManaAbility(3, PhaseStep.UPKEEP, playerA, "{T}: Add {W}"); activateManaAbility(3, PhaseStep.UPKEEP, playerA, "{T}: Add {W}");
castSpell(3, PhaseStep.UPKEEP, playerA, "Restoration Angel"); castSpell(3, PhaseStep.UPKEEP, playerA, "Restoration Angel");
addTarget(playerA, "Avalanche Riders"); addTarget(playerA, "Avalanche Riders");
setChoice(playerA, "Yes"); // raider do restore setChoice(playerA, true); // raider do restore
// Avalanche Riders triggered again // Avalanche Riders triggered again
addTarget(playerA, "Forest"); addTarget(playerA, "Forest");

View file

@ -23,7 +23,7 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); 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 setModeChoice(playerA, "1"); // target creature
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
@ -49,7 +49,7 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
setChoice(playerA, "Yes"); // use Entwine setChoice(playerA, true); // use Entwine
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
addTarget(playerA, playerA); addTarget(playerA, playerA);
@ -77,7 +77,7 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
setChoice(playerA, "Yes"); // use Entwine setChoice(playerA, true); // use Entwine
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
addTarget(playerA, playerA); addTarget(playerA, playerA);
@ -105,7 +105,7 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
setChoice(playerA, "Yes"); // use Entwine setChoice(playerA, true); // use Entwine
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
addTarget(playerA, playerA); addTarget(playerA, playerA);
@ -134,8 +134,8 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
setChoice(playerA, "Yes"); // cast for free setChoice(playerA, true); // cast for free
setChoice(playerA, "Yes"); // use Entwine setChoice(playerA, true); // use Entwine
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
addTarget(playerA, playerA); addTarget(playerA, playerA);
@ -164,7 +164,7 @@ public class EntwineTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Tooth and Nail"); // Sorcery {5}{G}{G} addCard(Zone.HAND, playerA, "Tooth and Nail"); // Sorcery {5}{G}{G}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tooth and Nail"); 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"); addTarget(playerA, "Silvercoat Lion^Pillarfield Ox");
setChoice(playerA, "Silvercoat Lion^Pillarfield Ox"); setChoice(playerA, "Silvercoat Lion^Pillarfield Ox");

View file

@ -40,7 +40,7 @@ public class EvokeTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1); addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shriekmaw"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shriekmaw");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Silvercoat Lion"); addTarget(playerA, "Silvercoat Lion");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Exhume"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Exhume");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -23,7 +23,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, gWalker); addCard(Zone.BATTLEFIELD, playerA, gWalker);
attack(1, playerA, gWalker); attack(1, playerA, gWalker);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -40,7 +40,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, brawler); addCard(Zone.BATTLEFIELD, playerA, brawler);
attack(1, playerA, brawler); attack(1, playerA, brawler);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -56,7 +56,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, warrior); addCard(Zone.BATTLEFIELD, playerA, warrior);
attack(1, playerA, warrior); attack(1, playerA, warrior);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -72,7 +72,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, spearmaster); addCard(Zone.BATTLEFIELD, playerA, spearmaster);
attack(1, playerA, spearmaster); attack(1, playerA, spearmaster);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -87,7 +87,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears"); addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears");
attack(1, playerA, elite); attack(1, playerA, elite);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
assertPowerToughness(playerA, "Grizzly Bears", 3, 3); assertPowerToughness(playerA, "Grizzly Bears", 3, 3);
@ -101,7 +101,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, minotaur); addCard(Zone.BATTLEFIELD, playerA, minotaur);
attack(1, playerA, minotaur); attack(1, playerA, minotaur);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -115,7 +115,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, entangler); addCard(Zone.BATTLEFIELD, playerA, entangler);
attack(1, playerA, entangler); attack(1, playerA, entangler);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -129,7 +129,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Hyena Pack"); addCard(Zone.BATTLEFIELD, playerA, "Hyena Pack");
addCard(Zone.BATTLEFIELD, playerB, "Dune Beetle"); addCard(Zone.BATTLEFIELD, playerB, "Dune Beetle");
attack(1, playerA, twins); attack(1, playerA, twins);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -148,7 +148,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, gWalker); addCard(Zone.BATTLEFIELD, playerA, gWalker);
addCard(Zone.BATTLEFIELD, playerA, twins); addCard(Zone.BATTLEFIELD, playerA, twins);
attack(1, playerA, gWalker); attack(1, playerA, gWalker);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -170,7 +170,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, gbInitiate); addCard(Zone.BATTLEFIELD, playerA, gbInitiate);
attack(1, playerA, gbInitiate); attack(1, playerA, gbInitiate);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(3, PhaseStep.PRECOMBAT_MAIN); setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();
@ -192,7 +192,7 @@ public class ExertTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, gbInitiate); addCard(Zone.BATTLEFIELD, playerA, gbInitiate);
attack(1, playerA, gbInitiate); attack(1, playerA, gbInitiate);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(3, PhaseStep.PRECOMBAT_MAIN); setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();
@ -225,7 +225,7 @@ public class ExertTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, gbInitiate); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, gbInitiate);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, aTreason, gbInitiate); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, aTreason, gbInitiate);
attack(2, playerB, gbInitiate); attack(2, playerB, gbInitiate);
setChoice(playerB, "Yes"); setChoice(playerB, true);
setStopAt(3, PhaseStep.PRECOMBAT_MAIN); setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();
@ -251,10 +251,10 @@ public class ExertTest extends CardTestPlayerBase {
attack(1, playerA, cCelebrant); attack(1, playerA, cCelebrant);
attack(1, playerA, memnite); 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, cCelebrant);
attack(1, playerA, memnite); 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, cCelebrant); // should not be able to enter this 3rd combat phase
attack(1, playerA, memnite); attack(1, playerA, memnite);
@ -292,10 +292,10 @@ public class ExertTest extends CardTestPlayerBase {
attack(1, playerA, cCelebrant); attack(1, playerA, cCelebrant);
attack(1, playerA, memnite); 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, cCelebrant);
attack(1, playerA, memnite); 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, cCelebrant); // should not be able to enter this 3rd combat phase
attack(1, playerA, memnite); 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 activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1:"); // grant +2/+2 vig and haste to celebrant
addTarget(playerA, cCelebrant); addTarget(playerA, cCelebrant);
attack(1, playerA, cCelebrant); attack(1, playerA, cCelebrant);
setChoice(playerA, "Yes"); // exert for extra turn setChoice(playerA, true); // exert for extra turn
attack(1, playerA, cCelebrant); 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 attack(1, playerA, cCelebrant); // should not be able to enter this 3rd combat phase
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);

View file

@ -37,7 +37,7 @@ public class ExploitTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Thundering Giant"); // 4/3 addCard(Zone.BATTLEFIELD, playerB, "Thundering Giant"); // 4/3
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silumgar Butcher"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silumgar Butcher");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Silvercoat Lion"); // sacrifice to Exploit addTarget(playerA, "Silvercoat Lion"); // sacrifice to Exploit
addTarget(playerA, "Thundering Giant"); // Target for the -3/-3 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, playerA, "Silumgar Butcher");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "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, "Silvercoat Lion"); // sacrifice to Exploit
addTarget(playerA, "Thundering Giant"); // Target for the -3/-3 addTarget(playerA, "Thundering Giant"); // Target for the -3/-3
@ -97,7 +97,7 @@ public class ExploitTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Qarsi Sadist"); addCard(Zone.HAND, playerA, "Qarsi Sadist");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, 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, "Qarsi Sadist"); // sacrifice to Exploit
addTarget(playerA, playerB); // Target for lose life addTarget(playerA, playerB); // Target for lose life

View file

@ -375,7 +375,7 @@ public class FlashbackTest extends CardTestPlayerBase {
setChoice(playerA, "Whispers of the Muse"); setChoice(playerA, "Whispers of the Muse");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Flashback"); // Flashback 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); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -70,7 +70,7 @@ public class GraftTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -91,7 +91,7 @@ public class GraftTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cytoplast Root-Kin");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sporeback Troll");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -79,7 +79,7 @@ public class HideawayTest extends CardTestPlayerBase {
setChoice(playerA, "Ulamog, the Ceaseless Hunger"); setChoice(playerA, "Ulamog, the Ceaseless Hunger");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{G},"); 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"); addTarget(playerA, "Dross Crocodile^Dross Crocodile");
@ -126,7 +126,7 @@ public class HideawayTest extends CardTestPlayerBase {
attack(3, playerA, "Auriok Champion"); attack(3, playerA, "Auriok Champion");
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},"); activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
setChoice(playerA, "Yes"); // play Ghost Quarter setChoice(playerA, true); // play Ghost Quarter
setStopAt(3, PhaseStep.END_COMBAT); setStopAt(3, PhaseStep.END_COMBAT);
@ -180,7 +180,7 @@ public class HideawayTest extends CardTestPlayerBase {
attack(3, playerA, "Auriok Champion"); attack(3, playerA, "Auriok Champion");
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},"); activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
setChoice(playerA, "Yes"); // play Ghost Quarter setChoice(playerA, true); // play Ghost Quarter
setStopAt(3, PhaseStep.END_COMBAT); setStopAt(3, PhaseStep.END_COMBAT);
@ -214,7 +214,7 @@ public class HideawayTest extends CardTestPlayerBase {
attack(3, playerA, "Auriok Champion"); attack(3, playerA, "Auriok Champion");
activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},"); activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},");
setChoice(playerA, "Yes"); // play Ghost Quarter setChoice(playerA, true); // play Ghost Quarter
setStopAt(3, PhaseStep.END_COMBAT); setStopAt(3, PhaseStep.END_COMBAT);
@ -254,7 +254,7 @@ public class HideawayTest extends CardTestPlayerBase {
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle);
setChoice(playerA, ulamog); setChoice(playerA, ulamog);
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}"); 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); setStopAt(3, PhaseStep.BEGIN_COMBAT);
@ -299,7 +299,7 @@ public class HideawayTest extends CardTestPlayerBase {
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, sIsle);
setChoice(playerA, ulamog); setChoice(playerA, ulamog);
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{U}"); 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); setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -55,7 +55,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
setChoice(playerA, "Yes"); // with Kicker setChoice(playerA, true); // with Kicker
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -75,7 +75,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, 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 //setStrictChooseMode(true); - AI must choose
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -93,7 +93,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
setChoice(playerA, "No"); setChoice(playerA, false);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -113,7 +113,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, 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 //setStrictChooseMode(true); - AI must choose
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -137,8 +137,8 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Apex Hawks"); addCard(Zone.HAND, playerA, "Apex Hawks");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "No"); setChoice(playerA, false);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -157,9 +157,9 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Apex Hawks"); addCard(Zone.HAND, playerA, "Apex Hawks");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "No"); setChoice(playerA, false);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -177,7 +177,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Apex Hawks"); addCard(Zone.HAND, playerA, "Apex Hawks");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Apex Hawks");
setChoice(playerA, "No"); setChoice(playerA, false);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); 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} addCard(Zone.HAND, playerA, "Sunscape Battlemage", 1); // 2/2 {2}{W}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
setChoice(playerA, "No"); // not use kicker {1}{G} setChoice(playerA, false); // not use kicker {1}{G}
setChoice(playerA, "Yes"); // use kicker {2}{U} setChoice(playerA, true); // use kicker {2}{U}
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -226,8 +226,8 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Birds of Paradise", 2); addCard(Zone.BATTLEFIELD, playerB, "Birds of Paradise", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
setChoice(playerA, "Yes"); // use kicker {1}{G} setChoice(playerA, true); // use kicker {1}{G}
setChoice(playerA, "Yes"); // use kicker {2}{U} setChoice(playerA, true); // use kicker {2}{U}
setChoice(playerA, "When "); // two triggers from two kicker options setChoice(playerA, "When "); // two triggers from two kicker options
addTarget(playerA, "Birds of Paradise"); addTarget(playerA, "Birds of Paradise");
@ -259,8 +259,8 @@ public class KickerTest extends CardTestPlayerBase {
// cast with kicker // cast with kicker
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sunscape Battlemage");
setChoice(playerA, "Yes"); // use kicker {1}{G} - destroy target creature with flying setChoice(playerA, true); // use kicker {1}{G} - destroy target creature with flying
setChoice(playerA, "Yes"); // use kicker {2}{U} - draw two cards setChoice(playerA, true); // use kicker {2}{U} - draw two cards
// spell must be countered, so no chooses // spell must be countered, so no chooses
//setChoice(playerA, "When "); // two triggers rised: When {this} enters the battlefield, if it was kicked... //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 //addTarget(playerA, "Birds of Paradise"); // target for {1}{G} trigger
@ -297,10 +297,10 @@ public class KickerTest extends CardTestPlayerBase {
// cast kicked spell // cast kicked spell
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thornscape Battlemage"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thornscape Battlemage");
setChoice(playerA, "Yes"); // use kicker {R} - 2 damage to any target setChoice(playerA, true); // use kicker {R} - 2 damage to any target
setChoice(playerA, "No"); // not use kicker {W} - destroy target setChoice(playerA, false); // not use kicker {W} - destroy target
addTarget(playerA, playerB); // target for 2 damage addTarget(playerA, playerB); // target for 2 damage
setChoice(playerA, "Yes"); // put counter on hallar setChoice(playerA, true); // put counter on hallar
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -332,7 +332,7 @@ public class KickerTest extends CardTestPlayerBase {
// first cast with kicker // first cast with kicker
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gatekeeper of Malakir"); 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(playerA, playerB); // trigger's target
addTarget(playerB, "Birds of Paradise"); // sacrifice addTarget(playerB, "Birds of Paradise"); // sacrifice
@ -341,7 +341,7 @@ public class KickerTest extends CardTestPlayerBase {
// second cast without kicker // second cast without kicker
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Gatekeeper of Malakir"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Gatekeeper of Malakir");
setChoice(playerA, "No"); // no kicker setChoice(playerA, false); // no kicker
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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) // cast spell with kicker and copy it (kicker status must be saved)
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Agonizing Demise", "@bear1"); 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 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, "Cast Ago", 1);
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1); checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1);
// //
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
setChoice(playerA, "Yes"); // copy spell setChoice(playerA, true); // copy spell
setChoice(playerA, "Yes"); // new target setChoice(playerA, true); // new target
addTarget(playerA, "@bear2"); addTarget(playerA, "@bear2");
checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy
checkStackObject("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 2); 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) // cast spell with kicker and copy it (kicker status must be saved)
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Agonizing Demise", "@bear1"); 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 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, "Cast Ago", 1);
checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1); checkStackObject("after cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Whenever you cast", 1);
// //
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
setChoice(playerA, "Yes"); // copy spell setChoice(playerA, true); // copy spell
setChoice(playerA, "Yes"); // new target setChoice(playerA, true); // new target
addTarget(playerA, "@bear2"); addTarget(playerA, "@bear2");
checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy checkStackSize("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 2); // spell + copy
checkStackObject("after copy trigger", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 2); 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); checkStackObject("before counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Absorb", 1);
// //
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); // trigger 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 waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); // counter
checkStackSize("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 1); // copy checkStackSize("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 1); // copy
checkStackObject("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 1); checkStackObject("after counter", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Ago", 1);
@ -481,7 +481,7 @@ public class KickerTest extends CardTestPlayerBase {
// cast spell with kicker // cast spell with kicker
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 3); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Academy Drake"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Academy Drake");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
// copy spell // copy spell
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 4); 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 // cast 2x kicked spell for 4x damage
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deathforge Shaman"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deathforge Shaman");
setChoice(playerA, "Yes"); // 1x kick setChoice(playerA, true); // 1x kick
setChoice(playerA, "Yes"); // 2x kick setChoice(playerA, true); // 2x kick
setChoice(playerA, "No"); // stop multikicker setChoice(playerA, false); // stop multikicker
setChoice(playerA, "Yes"); // remove counters and activate verazol's copy setChoice(playerA, true); // remove counters and activate verazol's copy
addTarget(playerA, playerA); // on resolve: target for copied spell addTarget(playerA, playerA); // on resolve: target for copied spell
addTarget(playerA, playerB); // on resolve: target for original spell addTarget(playerA, playerB); // on resolve: target for original spell
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
@ -571,7 +571,7 @@ public class KickerTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Lightning Bolt"); addCard(Zone.HAND, playerB, "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Orim's Chant", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Orim's Chant", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(1, playerA, "Raging Goblin"); 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. // 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodhusk Ritualist");
setChoice(playerA, "Yes", 2); // 2 x Multikicker 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Bloodhusk Ritualist");
addTarget(playerA, playerB); // target for kicker's trigger (discard cards) 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 addCard(Zone.BATTLEFIELD, playerB, "Centaur Courser", 1); // 3/3
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Marsh Casualties", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Marsh Casualties", playerB);
setChoice(playerA, "Yes"); // Pay Kicker setChoice(playerA, true); // Pay Kicker
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -22,7 +22,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
setChoice(playerA, "No"); // no kicker setChoice(playerA, false); // no kicker
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
addTarget(playerA, "Balduvian Bears"); addTarget(playerA, "Balduvian Bears");
@ -48,7 +48,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setModeChoice(playerA, "2"); setModeChoice(playerA, "2");
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
addTarget(playerA, playerA); // gain x life addTarget(playerA, playerA); // gain x life
@ -78,7 +78,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setModeChoice(playerA, "2"); setModeChoice(playerA, "2");
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
addTarget(playerA, playerA); // gain x life addTarget(playerA, playerA); // gain x life
@ -108,7 +108,7 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setModeChoice(playerA, "2"); setModeChoice(playerA, "2");
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
addTarget(playerA, playerA); // gain x life addTarget(playerA, playerA); // gain x life
@ -139,8 +139,8 @@ public class KickerWithAnyNumberModesAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2 addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears", 1); // 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inscription of Abundance");
setChoice(playerA, "Yes"); // use free cast setChoice(playerA, true); // use free cast
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setModeChoice(playerA, "2"); setModeChoice(playerA, "2");
setModeChoice(playerA, "1"); setModeChoice(playerA, "1");
addTarget(playerA, playerA); // gain x life addTarget(playerA, playerA); // gain x life

View file

@ -24,7 +24,7 @@ public class KickerWithFlashbackTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Burst Lightning"); addCard(Zone.HAND, playerA, "Burst Lightning");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Burst Lightning", playerB); 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); checkLife("after", 1, PhaseStep.END_TURN, playerB, 20 - 4);
@ -77,7 +77,7 @@ public class KickerWithFlashbackTest extends CardTestPlayerBase {
// cast burst by flashback // cast burst by flashback
// showAvailableAbilities("after", 1, PhaseStep.BEGIN_COMBAT, playerA); // showAvailableAbilities("after", 1, PhaseStep.BEGIN_COMBAT, playerA);
activateAbility(1, PhaseStep.BEGIN_COMBAT, playerA, "Flashback"); activateAbility(1, PhaseStep.BEGIN_COMBAT, playerA, "Flashback");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
addTarget(playerA, playerB); addTarget(playerA, playerB);
checkLife("after", 1, PhaseStep.END_TURN, playerB, 20 - 4); checkLife("after", 1, PhaseStep.END_TURN, playerB, 20 - 4);

View file

@ -44,7 +44,7 @@ public class MadnessTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1); addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raven's Crime", playerA); 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -65,7 +65,7 @@ public class MadnessTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Raven's Crime"); addCard(Zone.HAND, playerA, "Raven's Crime");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raven's Crime", playerA); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Raven's Crime", playerA);
setChoice(playerA, "No"); setChoice(playerA, false);
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -94,8 +94,8 @@ public class MadnessTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Haunting Hymn"); addCard(Zone.HAND, playerB, "Haunting Hymn");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Haunting Hymn", playerA); 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, "Yes"); // use madness cast setChoice(playerA, true); // use madness cast
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -123,7 +123,7 @@ public class MadnessTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Haunting Hymn"); addCard(Zone.HAND, playerB, "Haunting Hymn");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Haunting Hymn", playerA); 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"); setChoice(playerA, "X=4");
addTargetAmount(playerA, "Pillarfield Ox", 4); addTargetAmount(playerA, "Pillarfield Ox", 4);
@ -176,11 +176,11 @@ public class MadnessTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Falkenrath Gorger"); 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 Visitor"); // Card to discard from Falkenrath entering by Olivia effect
setChoice(playerA, "Asylum Visito"); // Madness {1}{B} setChoice(playerA, "Asylum Visito"); // Madness {1}{B}
setChoice(playerA, "Yes"); // use madness triggered ability setChoice(playerA, true); // 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); // 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"); setChoice(playerA, "Forest");
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -22,7 +22,7 @@ public class MegamorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 6); addCard(Zone.BATTLEFIELD, playerA, "Forest", 6);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aerie Bowmasters"); 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"); activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{5}{G}: Turn");

View file

@ -65,7 +65,7 @@ public class ModularTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Arcbound Hybrid"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Arcbound Hybrid");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Arcbound Bruiser"); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Arcbound Bruiser");
setStopAt(3, PhaseStep.BEGIN_COMBAT); setStopAt(3, PhaseStep.BEGIN_COMBAT);
setChoice(playerA, "Yes"); setChoice(playerA, true);
execute(); execute();
assertPermanentCount(playerA, "Arcbound Bruiser", 0); assertPermanentCount(playerA, "Arcbound Bruiser", 0);
@ -115,7 +115,7 @@ public class ModularTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Puncture Blast"); addCard(Zone.HAND, playerA, "Puncture Blast");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Puncture Blast", "Arcbound Bruiser"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Puncture Blast", "Arcbound Bruiser");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -31,7 +31,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5); addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -50,7 +50,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 3); addCard(Zone.BATTLEFIELD, playerA, "Forest", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -69,7 +69,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 5); addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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()); attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
@ -100,14 +100,14 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Island", 3); addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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); 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());
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."); 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); setStopAt(3, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -142,7 +142,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Soldier of the Pantheon", 1); addCard(Zone.BATTLEFIELD, playerB, "Soldier of the Pantheon", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ponyback Brigade"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -170,10 +170,10 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Island", 4); addCard(Zone.BATTLEFIELD, playerB, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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"); 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 addTarget(playerB, EmptyNames.FACE_DOWN_CREATURE.toString()); // Morphed creature
setStopAt(2, PhaseStep.BEGIN_COMBAT); setStopAt(2, PhaseStep.BEGIN_COMBAT);
@ -206,7 +206,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5); addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Doomwake Giant");
@ -248,7 +248,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5); addCard(Zone.BATTLEFIELD, playerB, "Swamp", 5);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ponyback Brigade"); 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"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Doomwake Giant");
@ -285,7 +285,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 3); addCard(Zone.BATTLEFIELD, playerA, "Forest", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler"); 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."); activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}{G}{U}: Turn this face-down permanent face up.");
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
setChoice(playerA, "Sagu Mauler"); setChoice(playerA, "Sagu Mauler");
@ -322,7 +322,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Island", 2); addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler"); 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"); 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); addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sagu Mauler"); 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); 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); // showBattlefield("A battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerA);
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Echoing Decay", EmptyNames.FACE_DOWN_CREATURE.toString()); 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); addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury"); 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Counterspell", "Akroma, Angel of Fury");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -423,7 +423,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Plains", 1); addCard(Zone.BATTLEFIELD, playerB, "Plains", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Birchlore Rangers"); 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", ""); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Swords to Plowshares", "");
@ -462,7 +462,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1); addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ashcloud Phoenix"); 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()); 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"); addCard(Zone.BATTLEFIELD, playerB, "Mirri, Cat Warrior");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ashcloud Phoenix"); 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"); attack(2, playerB, "Mirri, Cat Warrior");
block(2, playerA, EmptyNames.FACE_DOWN_CREATURE.toString(), "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); addCard(Zone.BATTLEFIELD, playerB, "Island", 6);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury"); 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("A battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerA);
// showBattlefield("B battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerB); // showBattlefield("B battle", 1, PhaseStep.POSTCOMBAT_MAIN, playerB);
@ -580,7 +580,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Dragonlord Kolaghan", 1); addCard(Zone.BATTLEFIELD, playerB, "Dragonlord Kolaghan", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -610,7 +610,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Linvala, Keeper of Silence", 1); addCard(Zone.BATTLEFIELD, playerB, "Linvala, Keeper of Silence", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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()); attack(3, playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
@ -657,7 +657,7 @@ public class MorphTest extends CardTestPlayerBase {
// try cast as normal -- must not work // try cast as normal -- must not work
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic"); 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 //setStrictChooseMode(true); // no strict mode - cause can't cast as normal
setStopAt(2, PhaseStep.BEGIN_COMBAT); setStopAt(2, PhaseStep.BEGIN_COMBAT);
@ -692,7 +692,7 @@ public class MorphTest extends CardTestPlayerBase {
// try cast as morph - must work // try cast as morph - must work
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Rattleclaw Mystic");
setChoice(playerB, "Yes"); // try cast as morph setChoice(playerB, true); // try cast as morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(2, PhaseStep.BEGIN_COMBAT); setStopAt(2, PhaseStep.BEGIN_COMBAT);
@ -734,12 +734,12 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Island", 2); addCard(Zone.BATTLEFIELD, playerB, "Island", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic"); 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(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Reflector Mage");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Rattleclaw Mystic"); 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); setStopAt(3, PhaseStep.BEGIN_COMBAT);
@ -779,7 +779,7 @@ public class MorphTest extends CardTestPlayerBase {
// 1. Cast Vesuvan as face-down // 1. Cast Vesuvan as face-down
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Vesuvan Shapeshifter"); 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 // 2. Moth Vesuvan and copy brine
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{1}{U}: Turn this face-down permanent"); 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); addCard(Zone.BATTLEFIELD, playerB, "Swamp", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pine Walker"); 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"); 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); addCard(Zone.BATTLEFIELD, playerA, "The Ur-Dragon", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Quicksilver Dragon"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -898,7 +898,7 @@ public class MorphTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1); addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Quicksilver Dragon"); 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()); 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); addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Fury"); 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."); 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); checkPlayableAbility("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Play Zoetic Cavern", true);
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern"); 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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("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); checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern"); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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("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); checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern"); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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("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); checkPlayableAbility("morph must be replaced by play ability", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Morph", false);
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern"); playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Zoetic Cavern");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -1078,7 +1078,7 @@ public class MorphTest extends CardTestPlayerBase {
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true); checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -1101,7 +1101,7 @@ public class MorphTest extends CardTestPlayerBase {
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true); checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -1125,7 +1125,7 @@ public class MorphTest extends CardTestPlayerBase {
// creature one - get cost reduce // creature one - get cost reduce
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true); checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender", true);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Willbender");
setChoice(playerA, "Yes"); // morph setChoice(playerA, true); // morph
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
// creature two - do not get cost reduce // creature two - do not get cost reduce

View file

@ -20,7 +20,7 @@ public class OfferingTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, kurosTaken); addCard(Zone.BATTLEFIELD, playerA, kurosTaken);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, kurosTaken); addTarget(playerA, kurosTaken);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -40,7 +40,7 @@ public class OfferingTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, kurosTaken); addCard(Zone.BATTLEFIELD, playerA, kurosTaken);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, nezumiPatron);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -63,7 +63,7 @@ public class OfferingTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Akki Drillmaster"); // Creature Goblin {2}{R} (2/2) addCard(Zone.BATTLEFIELD, playerA, "Akki Drillmaster"); // Creature Goblin {2}{R} (2/2)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Akki Drillmaster"); addTarget(playerA, "Akki Drillmaster");
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); 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) addCard(Zone.BATTLEFIELD, playerA, "Boros Recruit"); // Creature Goblin {R/W} (1/1)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Boros Recruit"); addTarget(playerA, "Boros Recruit");
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
@ -126,7 +126,7 @@ public class OfferingTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, patron);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Boggart Ram-Gang"); addTarget(playerA, "Boggart Ram-Gang");
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);

View file

@ -29,7 +29,7 @@ public class ProwlTest extends CardTestPlayerBase {
checkPlayableAbility("must play", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cast Auntie's Snitch", true); checkPlayableAbility("must play", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cast Auntie's Snitch", true);
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Auntie's Snitch"); 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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); 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 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -33,7 +33,7 @@ public class RecoverTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -62,7 +62,7 @@ public class RecoverTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sun's Bounty");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -38,8 +38,8 @@ public class ReplicateTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Train of Thought"); addCard(Zone.HAND, playerA, "Train of Thought");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -54,9 +54,9 @@ public class ReplicateTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Train of Thought"); addCard(Zone.HAND, playerA, "Train of Thought");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -71,7 +71,7 @@ public class ReplicateTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Train of Thought"); addCard(Zone.HAND, playerA, "Train of Thought");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Train of Thought");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -89,12 +89,12 @@ public class ReplicateTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); // replicate 1 setChoice(playerA, true); // replicate 1
setChoice(playerA, "Yes"); // replicate 2 setChoice(playerA, true); // replicate 2
setChoice(playerA, "No"); // stop setChoice(playerA, false); // stop
// //
setChoice(playerA, "No"); // don't change target 1 setChoice(playerA, false); // don't change target 1
setChoice(playerA, "No"); // don't change target 2 setChoice(playerA, false); // don't change target 2
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -114,12 +114,12 @@ public class ReplicateTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyromatics");
addTarget(playerA, playerB); addTarget(playerA, playerB);
//setChoice(playerA, "Yes"); // replicate 1 - AI must choice max possible //setChoice(playerA, true); // replicate 1 - AI must choice max possible
//setChoice(playerA, "Yes"); // replicate 2 - AI must choice max possible //setChoice(playerA, true); // replicate 2 - AI must choice max possible
//setChoice(playerA, "No"); // stop - AI must choice max possible //setChoice(playerA, false); // stop - AI must choice max possible
// //
//setChoice(playerA, "No"); // don't change target 1 //setChoice(playerA, false); // don't change target 1
//setChoice(playerA, "No"); // don't change target 2 //setChoice(playerA, false); // don't change target 2
//setStrictChooseMode(true); - AI must choice //setStrictChooseMode(true); - AI must choice
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -30,7 +30,7 @@ public class RiotTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G} addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn");
setChoice(playerA, "Yes"); // yes - counter setChoice(playerA, true); // yes - counter
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -51,7 +51,7 @@ public class RiotTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G} addCard(Zone.HAND, playerA, "Rampaging Rendhorn", 1); // Creature {4}{G}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rampaging Rendhorn");
setChoice(playerA, "No"); // no - haste setChoice(playerA, false); // no - haste
setStopAt(2, PhaseStep.BEGIN_COMBAT); 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 addCard(Zone.HAND, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); // yes - counter setChoice(playerA, true); // yes - counter
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -102,8 +102,8 @@ public class RiotTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "Rhythm of the Wild"); // choose replacement effect setChoice(playerA, "Rhythm of the Wild"); // choose replacement effect
setChoice(playerA, "Yes"); // yes - counter setChoice(playerA, true); // yes - counter
setChoice(playerA, "Yes"); // yes - counter setChoice(playerA, true); // yes - counter
setStopAt(1, PhaseStep.BEGIN_COMBAT); 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 addCard(Zone.HAND, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "No"); // no - haste setChoice(playerA, false); // no - haste
setStopAt(2, PhaseStep.BEGIN_COMBAT); 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 addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume");
setChoice(playerA, "Yes"); // yes - counter setChoice(playerA, true); // yes - counter
setStopAt(1, PhaseStep.BEGIN_COMBAT); 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 addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 1); // Creature {1}{W} 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Exhume");
setChoice(playerA, "No"); // no - haste setChoice(playerA, false); // no - haste
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -33,7 +33,7 @@ public class RippleTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);
@ -62,7 +62,7 @@ public class RippleTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);
@ -97,7 +97,7 @@ public class RippleTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Surging Dementia", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);

View file

@ -379,9 +379,9 @@ public class SoulbondKeywordTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 2); addCard(Zone.BATTLEFIELD, playerA, "Plains", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elite Vanguard"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Elite Vanguard");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cloudshift", "Trusted Forcemage"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Cloudshift", "Trusted Forcemage");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -415,7 +415,7 @@ public class SoulbondKeywordTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2); addCard(Zone.BATTLEFIELD, playerB, "Swamp", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deadeye Navigator"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deadeye Navigator");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Palinchron"); setChoice(playerA, "Palinchron");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Doom Blade", "Deadeye Navigator"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Doom Blade", "Deadeye Navigator");

View file

@ -31,7 +31,7 @@ public class SpliceOnArcaneTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB);
// activate splice: yes -> card with splice ability -> new target for spliced ability // 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, "Through the Breach");
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: put from hand to battlefield 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 // cast arcane Lava Spike
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Spike", playerB);
// activate splice: yes -> card with splice ability -> new target for spliced ability // 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, "Torrent of Stone");
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: 4 damage 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nourishing Shoal");
// activate splice: yes -> card with splice ability -> new target for spliced ability // 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, "Through the Breach");
addTarget(playerA, "Silvercoat Lion"); // target for spliced ability: put from hand to battlefield 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nourishing Shoal");
setChoice(playerA, "X=3"); setChoice(playerA, "X=3");
setChoice(playerA, "Yes"); // splice setChoice(playerA, true); // splice
addTarget(playerA, "Griselbrand"); addTarget(playerA, "Griselbrand");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goryo's Vengeance", "Griselbrand", "Nourishing Shoal"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goryo's Vengeance", "Griselbrand", "Nourishing Shoal");

View file

@ -32,7 +32,7 @@ public class TributeTest extends CardTestPlayerBase {
addCard(Zone.GRAVEYARD, playerB, "Pharagax Giant"); // Creature 3/3 addCard(Zone.GRAVEYARD, playerB, "Pharagax Giant"); // Creature 3/3
attack(1, playerA, "Ink-Eyes, Servant of Oni"); attack(1, playerA, "Ink-Eyes, Servant of Oni");
setChoice(playerB, "Yes"); // pay tribute setChoice(playerB, true); // pay tribute
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();

View file

@ -55,7 +55,7 @@ public class ConditionalOneShotEffectTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Unlicensed Disintegration", "Silvercoat Lion"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -69,7 +69,7 @@ public class CounterbalanceTest extends CardTestPlayerBase {
skipInitShuffling(); // so the set to top card stays at top skipInitShuffling(); // so the set to top card stays at top
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nessian Courser"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nessian Courser");
setChoice(playerB, "Yes"); setChoice(playerB, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -80,7 +80,7 @@ public class CounterspellTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Memory Lapse", "Lightning Bolt"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Memory Lapse", "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Memory Lapse"); 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"); addTarget(playerA, "Memory Lapse");
setStrictChooseMode(true); 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, playerB, "Counterspell", "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Counterspell"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Counterspell");
setChoice(playerA, "Yes"); // change the target setChoice(playerA, true); // change the target
addTarget(playerA, "Counterspell"); addTarget(playerA, "Counterspell");
setStrictChooseMode(true); 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, playerB, "Dissipate", "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Dissipate"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Twincast", "Dissipate");
setChoice(playerA, "Yes"); // change the target setChoice(playerA, true); // change the target
addTarget(playerA, "Dissipate"); addTarget(playerA, "Dissipate");
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -89,7 +89,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillarfield Ox"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillarfield Ox");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Pillarfield Ox", "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) 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, // 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 // 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"); 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) setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
setStrictChooseMode(true); 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 // 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"); 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) setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
setStrictChooseMode(true); setStrictChooseMode(true);
@ -203,7 +203,7 @@ public class DisruptingShoalTest extends CardTestPlayerBase {
// try to pay by split card and it works // try to pay by split card and it works
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Disrupting Shoal", "Air Elemental", "Air Elemental"); 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) setChoice(playerB, "Far // Away"); // pay by card (cmc = 5, so X = 5 too)
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -32,7 +32,7 @@ public class RoonOfTheHiddenRealmTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Plains", 2); addCard(Zone.BATTLEFIELD, playerB, "Plains", 2);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}", "Perplexing Chimera"); activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}", "Perplexing Chimera");

View file

@ -13,7 +13,7 @@ public class IdentityThiefTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion"); addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
attack(1, playerA, "Identity Thief"); attack(1, playerA, "Identity Thief");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.DECLARE_BLOCKERS); setStopAt(1, PhaseStep.DECLARE_BLOCKERS);
execute(); execute();
@ -28,7 +28,7 @@ public class IdentityThiefTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion"); addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
attack(1, playerA, "Identity Thief"); attack(1, playerA, "Identity Thief");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.DECLARE_BLOCKERS); setStopAt(1, PhaseStep.DECLARE_BLOCKERS);
execute(); execute();

View file

@ -33,7 +33,7 @@ public class ChorusOfTheConclaveTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Goblin Roughrider"); addCard(Zone.HAND, playerA, "Goblin Roughrider");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
setStopAt(1, PhaseStep.BEGIN_COMBAT); 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} addCard(Zone.HAND, playerA, "Hamza, Guardian of Arashin"); // {4}{G}{W}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Roughrider");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Hamza, Guardian of Arashin"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Hamza, Guardian of Arashin");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Mountain"); playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Mountain");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Akki Drillmaster"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Akki Drillmaster");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -23,7 +23,7 @@ public class ThrummingStoneTest extends CardTestPlayerBase {
addCard(Zone.LIBRARY, playerA, "Swamp", 3); addCard(Zone.LIBRARY, playerA, "Swamp", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -48,7 +48,7 @@ public class ThrummingStoneTest extends CardTestPlayerBase {
skipInitShuffling(); skipInitShuffling();
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shadowborn Apostle");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();

View file

@ -18,7 +18,7 @@ public class LeylineOfAnticipationTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Leyline of Anticipation"); addCard(Zone.HAND, playerA, "Leyline of Anticipation");
addCard(Zone.HAND, playerA, "Silvercoat Lion"); addCard(Zone.HAND, playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(2, PhaseStep.DRAW, playerA, "Silvercoat Lion"); castSpell(2, PhaseStep.DRAW, playerA, "Silvercoat Lion");
setStopAt(2, PhaseStep.END_COMBAT); setStopAt(2, PhaseStep.END_COMBAT);
@ -41,7 +41,7 @@ public class LeylineOfAnticipationTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Yawgmoth's Agenda",1); addCard(Zone.BATTLEFIELD, playerA, "Yawgmoth's Agenda",1);
addCard(Zone.HAND, playerA, "Leyline of Anticipation"); addCard(Zone.HAND, playerA, "Leyline of Anticipation");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion"); addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion");

View file

@ -83,7 +83,7 @@ public class TwoFacedCardEffectsTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mayor of Avabruck"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mayor of Avabruck");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone");
setChoice(playerB, "Yes"); // use copy setChoice(playerB, true); // use copy
setChoice(playerB, "Mayor of Avabruck"); // clone target setChoice(playerB, "Mayor of Avabruck"); // clone target
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -201,7 +201,7 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Lightning Bolt"); addCard(Zone.HAND, playerB, "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion"); 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); addTarget(playerA, playerB);

View file

@ -53,7 +53,7 @@ public class CommanderAsIndomitableCreativityCastTest extends CardTestCommander4
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Indomitable Creativity"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Indomitable Creativity");
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
addTarget(playerA, "Balduvian Bears"); 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); checkPermanentCount("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Balduvian Bears", 0);

View file

@ -52,7 +52,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
// destroy commander // destroy commander
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Balduvian Bears"); 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); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after destroy", 1, PhaseStep.PRECOMBAT_MAIN, playerB, playerA, "Balduvian Bears", 0); checkPermanentCount("after destroy", 1, PhaseStep.PRECOMBAT_MAIN, playerB, playerA, "Balduvian Bears", 0);
@ -105,7 +105,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
// destroy commander land // destroy commander land
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pillage", "Academy Ruins"); 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); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after destroy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Academy Ruins", 0); 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, "1"); setModeChoice(playerA, "1");
setModeChoice(playerA, "4"); setModeChoice(playerA, "4");
setChoice(playerA, "Yes"); // return commander setChoice(playerA, true); // return commander
checkPermanentCount("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Citizen", 3); checkPermanentCount("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Citizen", 3);
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 + 4); 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) // cast 1 and counter (increase commander tax)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Remand", "Balduvian Bears", "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); checkCommandCardCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
checkHandCardCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 1); checkHandCardCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 1);
checkPermanentCount("cast 1", 1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0); 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 // cast 2 from hand without tax
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears"); castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears");
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerB, "Remand", "Balduvian Bears", "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); checkCommandCardCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 1);
checkHandCardCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0); checkHandCardCount("cast 2", 5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Balduvian Bears", 0);
checkPermanentCount("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 // cast overload
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Weapon Surge with 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); checkAbility("after", 1, PhaseStep.BEGIN_COMBAT, playerA, "Balduvian Bears", FirstStrikeAbility.class, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -306,7 +306,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}"); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Balduvian Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Balduvian Bears");
setChoice(playerA, "Red"); // pay setChoice(playerA, "Red"); // pay
setChoice(playerA, "No"); // leave in graveyard setChoice(playerA, false); // leave in graveyard
// use commander as delve pay // use commander as delve pay
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {U}", 5); 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, "Blue", 5); // pay normal
setChoice(playerA, "Exile a card"); // pay delve setChoice(playerA, "Exile a card"); // pay delve
setChoice(playerA, "Balduvian Bears"); setChoice(playerA, "Balduvian Bears");
setChoice(playerA, "Yes"); // move to command zone setChoice(playerA, true); // move to command zone
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
setStrictChooseMode(true); setStrictChooseMode(true);
@ -350,7 +350,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
// turn 1 - cast left // turn 1 - cast left
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire");
addTargetAmount(playerA, playerB, 2); addTargetAmount(playerA, playerB, 2);
setChoice(playerA, "Yes"); // return commander setChoice(playerA, true); // return commander
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
// can't cast due commander cost added // can't cast due commander cost added
checkCommandCardCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire // Ice", 1); 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) // cast right and use all mana (4 = card + commander cost)
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Ice"); castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Ice");
addTarget(playerA, "Mountain"); // tap target addTarget(playerA, "Mountain"); // tap target
setChoice(playerA, "Yes"); // move to commander setChoice(playerA, true); // move to commander
waitStackResolved(5, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(5, PhaseStep.PRECOMBAT_MAIN);
checkCommandCardCount("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire // Ice", 1); checkCommandCardCount("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire // Ice", 1);
checkPlayableAbility("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Fire", false); checkPlayableAbility("after second cast", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Fire", false);
@ -406,7 +406,7 @@ public class CommandersCastTest extends CardTestCommander4PlayersWithAIHelps {
// cast adventure spell // cast adventure spell
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Treats to Share"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Treats to Share");
setChoice(playerA, "Yes"); // return commander setChoice(playerA, true); // return commander
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkCommandCardCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curious Pair", 1); checkCommandCardCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Curious Pair", 1);
checkPermanentCount("after first cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Food", 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 // play adventure spell, but keep it
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Treats to Share"); 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); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after second cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Food", 2); checkPermanentCount("after second cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Food", 2);
checkPlayableAbility("after second cast", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Curious Pair", false); 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 // return commander to command zone
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "target damage 10", "Curious Pair"); 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} // 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 Curious Pair", false);
checkPlayableAbility("after return 2", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Treats to Share", 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 // exile and return
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Angelic Edict", "Tergrid, God of Fright"); 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 // turn 5 - check commander cost
checkPlayableAbility("before second cast 1", 5, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Tergrid, God of Fright", true); 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); 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); 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.END_TURN); 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"); 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, "Whenever {this} enters the battlefield or attacks"); // gain life trigger first, sacrifice next
setChoice(playerA, "No"); // keep in graveyard setChoice(playerA, false); // keep in graveyard
setChoice(playerA, "Yes"); // put land to battlefield setChoice(playerA, true); // put land to battlefield
setChoice(playerA, "Swamp"); // put a Swamp setChoice(playerA, "Swamp"); // put a Swamp
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -207,7 +207,7 @@ public class ConditionalPreventionTest extends CardTestPlayerBase {
// add shield for 3 damage // add shield for 3 damage
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy");
setChoice(playerA, "No"); // no kicker setChoice(playerA, false); // no kicker
addTargetAmount(playerA, "Balduvian Bears", 3); addTargetAmount(playerA, "Balduvian Bears", 3);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkGraveyardCount("shield", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy", 1); checkGraveyardCount("shield", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy", 1);
@ -242,7 +242,7 @@ public class ConditionalPreventionTest extends CardTestPlayerBase {
// add shield for 6 damage // add shield for 6 damage
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pollen Remedy");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setChoice(playerA, "Swamp"); // kicker cost setChoice(playerA, "Swamp"); // kicker cost
addTargetAmount(playerA, "Balduvian Bears", 6); addTargetAmount(playerA, "Balduvian Bears", 6);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);

View file

@ -78,7 +78,7 @@ public class DependentEffectsTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Raise the Alarm"); // Instant {1}{W} addCard(Zone.HAND, playerB, "Raise the Alarm"); // Instant {1}{W}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rite of Replication", "Cobblebrute"); 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.PRECOMBAT_MAIN, playerB, "Raise the Alarm");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Enchanted Evening"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Enchanted Evening");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -21,7 +21,7 @@ public class GoblinBushwhackerTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard"); addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setStrictChooseMode(true); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -38,7 +38,7 @@ public class SerraAscendantTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Serra Ascendant"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Serra Ascendant");
playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Stomping Ground"); playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Stomping Ground");
setChoice(playerB, "Yes"); setChoice(playerB, true);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Wild Nacatl"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Wild Nacatl");
playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Plains"); playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Plains");

View file

@ -97,7 +97,7 @@ public class TappedForManaFromMultipleEffects extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Balduvian Bears", 1); addCard(Zone.HAND, playerA, "Balduvian Bears", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox");
setChoice(playerA, "Yes"); // use imprint setChoice(playerA, true); // use imprint
setChoice(playerA, "Balduvian Bears"); // discard setChoice(playerA, "Balduvian Bears"); // discard
activateManaAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: Add one"); 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); addCard(Zone.BATTLEFIELD, playerA, "Mana Reflection", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chrome Mox");
setChoice(playerA, "Yes"); // use imprint setChoice(playerA, true); // use imprint
setChoice(playerA, "Balduvian Bears"); // discard setChoice(playerA, "Balduvian Bears"); // discard
activateManaAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: Add one"); activateManaAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{T}: Add one");

View file

@ -71,7 +71,7 @@ public class UnboundFlourishingTest extends CardTestPlayerBase {
checkLife("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 20); checkLife("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 20);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerA); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerA);
setChoice(playerA, "X=3"); setChoice(playerA, "X=3");
setChoice(playerA, "Yes"); // change target setChoice(playerA, true); // change target
addTarget(playerA, playerB); // change to B addTarget(playerA, playerB); // change to B
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerB, 20 - 3); // copy 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); checkLife("before", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 20);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{X}{R}", playerA); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{X}{R}", playerA);
setChoice(playerA, "X=3"); setChoice(playerA, "X=3");
setChoice(playerA, "Yes"); // change target setChoice(playerA, true); // change target
addTarget(playerA, playerB); // change to B addTarget(playerA, playerB); // change to B
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerA, 20 - 3); // original damage
checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerB, 20 - 3); // copy damage checkLife("after", 1, PhaseStep.BEGIN_COMBAT, playerB, 20 - 3); // copy damage

View file

@ -90,7 +90,7 @@ public class ExileAndReturnUnderYourControl extends CardTestPlayerBase {
skipInitShuffling(); // to keep this card on top of library skipInitShuffling(); // to keep this card on top of library
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Master of Pearls"); 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); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Villainous Wealth", playerB);
setChoice(playerA, "X=3"); setChoice(playerA, "X=3");

View file

@ -96,7 +96,7 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}:"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}:");
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}: Gain control", "Mutavault"); 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); setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute(); execute();
@ -171,9 +171,9 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, leovold); addCard(Zone.BATTLEFIELD, playerB, leovold);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, oGorger); 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 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -218,7 +218,7 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, aLight); addCard(Zone.BATTLEFIELD, playerB, aLight);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, oGorger); 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 addTarget(playerA, aLight); // target Angel of Light with Kirin's take control ability
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -72,7 +72,7 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
// search under control of B // search under control of B
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive"); 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 addTarget(playerB, "Balduvian Bears"); // player B must take control for searching
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
@ -115,7 +115,7 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
// search as normal and cast // search as normal and cast
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive"); 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 setChoice(playerA, "Panglacial Wurm"); // try to cast
addTarget(playerA, "Balduvian Bears"); // choice for searching addTarget(playerA, "Balduvian Bears"); // choice for searching
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
@ -169,8 +169,8 @@ public class TakeControlWhileSearchingLibraryTest extends CardTestPlayerBase {
// search under control of B and cast under B too // search under control of B and cast under B too
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {B}", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive");
setChoice(playerB, "Yes"); // continue setChoice(playerB, true); // continue
setChoice(playerB, "Yes"); // yes, try to cast a creature card from lib setChoice(playerB, true); // yes, try to cast a creature card from lib
setChoice(playerB, "Panglacial Wurm"); // try to cast setChoice(playerB, "Panglacial Wurm"); // try to cast
addTarget(playerB, "Balduvian Bears"); // choice for searching addTarget(playerB, "Balduvian Bears"); // choice for searching
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); 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) // start searching under B (bears must go to exile instead graveyard)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Buried Alive"); 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"); addTarget(playerB, "Balduvian Bears");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkGraveyardCount("after grave a", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears", 0); checkGraveyardCount("after grave a", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Balduvian Bears", 0);

View file

@ -22,7 +22,7 @@ public class AlteredEgoTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego");
setChoice(playerA, "X=3"); setChoice(playerA, "X=3");
setChoice(playerA, "Yes"); // use copy setChoice(playerA, true); // use copy
setChoice(playerA, "Silvercoat Lion"); // copy target setChoice(playerA, "Silvercoat Lion"); // copy target
setStrictChooseMode(true); setStrictChooseMode(true);
@ -44,7 +44,7 @@ public class AlteredEgoTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Altered Ego");
setChoice(playerA, "X=3"); 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -65,7 +65,7 @@ public class CleverImpersonatorTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Balduvian Bears", 1); addCard(Zone.HAND, playerB, "Balduvian Bears", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clever Impersonator"); 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 setChoice(playerA, "Liliana, Defiant Necromancer"); // copy target
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Each player discards a card"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Each player discards a card");
addTarget(playerA, "Balduvian Bears"); // discard addTarget(playerA, "Balduvian Bears"); // discard

View file

@ -214,7 +214,7 @@ public class CloneTest extends CardTestPlayerBase {
setChoice(playerA, "Elf"); setChoice(playerA, "Elf");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Clone");
setChoice(playerB, "Yes"); setChoice(playerB, true);
setChoice(playerB, "Adaptive Automaton"); setChoice(playerB, "Adaptive Automaton");
setChoice(playerB, "Goblin"); setChoice(playerB, "Goblin");
@ -271,7 +271,7 @@ public class CloneTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ixidron"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Ixidron");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, EmptyNames.FACE_DOWN_CREATURE.toString()); setChoice(playerA, EmptyNames.FACE_DOWN_CREATURE.toString());
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -50,7 +50,7 @@ public class CopyEnchantmentTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inferno Fist", "Geist of the Moors"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Inferno Fist", "Geist of the Moors");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Copy Enchantment");
setChoice(playerB, "Yes"); // copy setChoice(playerB, true); // copy
setChoice(playerB, "Inferno Fist"); // copied setChoice(playerB, "Inferno Fist"); // copied
setChoice(playerB, "Silvercoat Lion"); // target for copy setChoice(playerB, "Silvercoat Lion"); // target for copy

View file

@ -48,7 +48,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
addCard(Zone.HAND, playerA, "Holy Strength"); addCard(Zone.HAND, playerA, "Holy Strength");
setChoice(playerA, "No"); setChoice(playerA, false);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Holy Strength", "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Holy Strength", "Grizzly Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -67,7 +67,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Hill Giant"); addCard(Zone.BATTLEFIELD, playerA, "Hill Giant");
addCard(Zone.HAND, playerA, "Dead Weight"); addCard(Zone.HAND, playerA, "Dead Weight");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Dead Weight", "Centaur Courser"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Dead Weight", "Centaur Courser");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -89,7 +89,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
addCard(Zone.HAND, playerA, "Goblin Bushwhacker"); addCard(Zone.HAND, playerA, "Goblin Bushwhacker");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -107,7 +107,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Island", 5); addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
addCard(Zone.HAND, playerA, "Aether Figment"); addCard(Zone.HAND, playerA, "Aether Figment");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Aether Figment");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -144,7 +144,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears");
addCard(Zone.HAND, playerA, "Nimbus Naiad"); addCard(Zone.HAND, playerA, "Nimbus Naiad");
setChoice(playerA, "No"); setChoice(playerA, false);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -164,7 +164,7 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion"); addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
addCard(Zone.HAND, playerA, "Nimbus Naiad"); addCard(Zone.HAND, playerA, "Nimbus Naiad");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -191,10 +191,10 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Murder", 1); addCard(Zone.HAND, playerA, "Murder", 1);
addCard(Zone.HAND, playerA, "Nimbus Naiad"); addCard(Zone.HAND, playerA, "Nimbus Naiad");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears"); 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"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Murder", "Grizzly Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -217,10 +217,10 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Murder", 1); addCard(Zone.HAND, playerA, "Murder", 1);
addCard(Zone.HAND, playerA, "Nimbus Naiad"); addCard(Zone.HAND, playerA, "Nimbus Naiad");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears"); 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"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Murder", "Silvercoat Lion");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -244,11 +244,11 @@ public class CopyPermanentSpellTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Murder", 1); addCard(Zone.HAND, playerA, "Murder", 1);
addCard(Zone.HAND, playerA, "Nimbus Naiad"); addCard(Zone.HAND, playerA, "Nimbus Naiad");
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nimbus Naiad using bestow", "Grizzly Bears");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, true);
setChoice(playerA, "No"); setChoice(playerA, false);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Murder", "Grizzly Bears"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Murder", "Grizzly Bears");
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);

View file

@ -39,13 +39,13 @@ public class CopySpellTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chain of Vapor", "Pillarfield Ox"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chain of Vapor", "Pillarfield Ox");
// chain 1 - B can return // chain 1 - B can return
addTarget(playerB, "Island"); // select a land to sacrifice addTarget(playerB, "Island"); // select a land to sacrifice
setChoice(playerB, "Yes"); // want to copy spell setChoice(playerB, true); // want to copy spell
setChoice(playerB, "Yes"); // want to change target setChoice(playerB, true); // want to change target
addTarget(playerB, "Silvercoat Lion"); // new target after copy addTarget(playerB, "Silvercoat Lion"); // new target after copy
// chain 2 - A can return // chain 2 - A can return
addTarget(playerA, "Island"); // select a land to sacrifice addTarget(playerA, "Island"); // select a land to sacrifice
setChoice(playerA, "Yes"); // want to copy spell setChoice(playerA, true); // want to copy spell
setChoice(playerA, "Yes"); // want to change target setChoice(playerA, true); // want to change target
addTarget(playerA, "Pillarfield Ox"); // new target after copy addTarget(playerA, "Pillarfield Ox"); // new target after copy
// stop the chain by B // stop the chain by B
addTarget(playerB, TestPlayer.TARGET_SKIP); addTarget(playerB, TestPlayer.TARGET_SKIP);
@ -109,12 +109,12 @@ public class CopySpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions"); addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing"); castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
setChoice(playerA, "Yes"); // use Conspire setChoice(playerA, true); // use Conspire
addTarget(playerA, "Bonecrusher Giant"); // target bone addTarget(playerA, "Bonecrusher Giant"); // target bone
setChoice(playerA, "Grizzly Bears"); // pay for conspire setChoice(playerA, "Grizzly Bears"); // pay for conspire
setChoice(playerA, "Savannah Lions"); // pay for conspire setChoice(playerA, "Savannah Lions"); // pay for conspire
setChoice(playerA, "When you pay"); // Put Conspire on the stack first. 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); setStrictChooseMode(true);
setStopAt(1, PhaseStep.PRECOMBAT_MAIN); setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
@ -140,12 +140,12 @@ public class CopySpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions"); addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing"); castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
setChoice(playerA, "Yes"); // use Conspire setChoice(playerA, true); // use Conspire
addTarget(playerA, "Bonecrusher Giant"); // target bone addTarget(playerA, "Bonecrusher Giant"); // target bone
setChoice(playerA, "Grizzly Bears"); // pay for conspire setChoice(playerA, "Grizzly Bears"); // pay for conspire
setChoice(playerA, "Savannah Lions"); // pay for conspire setChoice(playerA, "Savannah Lions"); // pay for conspire
setChoice(playerA, "When you pay"); // Put Conspire on the stack first. 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"); addTarget(playerA, "Grizzly Bears");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -172,11 +172,11 @@ public class CopySpellTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions"); addCard(Zone.BATTLEFIELD, playerA, "Savannah Lions");
castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing"); castSpell(1, PhaseStep.UPKEEP, playerA, "Barkshell Blessing");
setChoice(playerA, "Yes"); // use Conspire setChoice(playerA, true); // use Conspire
addTarget(playerA, "Grizzly Bears"); // target bear addTarget(playerA, "Grizzly Bears"); // target bear
setChoice(playerA, "Grizzly Bears"); // pay for conspire setChoice(playerA, "Grizzly Bears"); // pay for conspire
setChoice(playerA, "Savannah Lions"); // 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"); addTarget(playerA, "Bonecrusher Giant");
// setChoice(playerA, "When {this} becomes the target of a spell"); // must be one trigger from bone, not two // 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); addCard(Zone.BATTLEFIELD, playerA, "Pillarfield Ox", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Into the Fray", "Zada, Hedron Grinder"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Into the Fray", "Zada, Hedron Grinder");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -331,7 +331,7 @@ public class CopySpellTest extends CardTestPlayerBase {
addTarget(playerA, playerB); addTarget(playerA, playerB);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt");
addTarget(playerB, playerA); // original target addTarget(playerB, playerA); // original target
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setStopAt(2, PhaseStep.BEGIN_COMBAT); 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, "Flame Slash", "Atraxa, Praetors' Voice");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Dualcaster Mage"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Dualcaster Mage");
addTarget(playerB, "Flame Slash"); // original target addTarget(playerB, "Flame Slash"); // original target
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, "Walking Ballista"); addTarget(playerB, "Walking Ballista");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Remove a", "Silvercoat Lion", "Flame Slash", StackClause.WHILE_COPY_ON_STACK); 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"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback");
addTarget(playerA, "Mountain"); addTarget(playerA, "Mountain");
setChoice(playerA, "Yes"); // Copy setChoice(playerA, true); // Copy
setChoice(playerA, "Yes"); // Choose new target setChoice(playerA, true); // Choose new target
addTarget(playerA, "Island"); addTarget(playerA, "Island");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -459,7 +459,7 @@ public class CopySpellTest extends CardTestPlayerBase {
// cast spark and make imoti's copy // cast spark and make imoti's copy
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); 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 setChoice(playerA, "Imoti, Celebrant of Bounty"); // copy of imoti
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Imoti, Celebrant of Bounty", 2); 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Alpha Tyrranax");
checkStackSize("afer big spell", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 3); checkStackSize("afer big spell", 1, PhaseStep.PRECOMBAT_MAIN, playerA, 3);
setChoice(playerA, "cascade"); // choice between 2x gained cascades 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 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 addTarget(playerA, playerB); // target for second bolt
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -556,8 +556,8 @@ public class CopySpellTest extends CardTestPlayerBase {
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}", 3); activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {R}", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Banefire", playerB);
setChoice(playerA, "X=2"); setChoice(playerA, "X=2");
setChoice(playerA, "Yes"); // make copy setChoice(playerA, true); // make copy
setChoice(playerA, "No"); // keep target same setChoice(playerA, false); // keep target same
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkLife("after spell copy", 1, PhaseStep.PRECOMBAT_MAIN, playerB, 20 - 2 * 2); 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) // token must have x=0 (dies)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian");
setChoice(playerA, "X=1"); setChoice(playerA, "X=1");
setChoice(playerA, "Yes"); // make copy setChoice(playerA, true); // make copy
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after creature copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian", 1); checkPermanentCount("after creature copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Capricopian", 1);

View file

@ -54,14 +54,14 @@ public class CryptoplasmTest extends CardTestPlayerBase {
// turn 2 - prepare (crypto to paladin, footsteps to crypto) // turn 2 - prepare (crypto to paladin, footsteps to crypto)
// crypto: copy as paladin on upkeep // crypto: copy as paladin on upkeep
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, "Sigiled Paladin"); addTarget(playerB, "Sigiled Paladin");
// footsteps: enchant copy of paladin (crypto) // footsteps: enchant copy of paladin (crypto)
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Followed Footsteps"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Followed Footsteps");
addTarget(playerB, "Sigiled Paladin[only copy]"); addTarget(playerB, "Sigiled Paladin[only copy]");
// turn 4 - ignore crypto ask for new copy // turn 4 - ignore crypto ask for new copy
setChoice(playerB, "No"); setChoice(playerB, false);
setStopAt(4, PhaseStep.END_TURN); setStopAt(4, PhaseStep.END_TURN);
execute(); execute();

View file

@ -59,7 +59,7 @@ public class EldraziMimicTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Eldrazi Mimic", 1); // 2/1 addCard(Zone.BATTLEFIELD, playerA, "Eldrazi Mimic", 1); // 2/1
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Composite Golem"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Composite Golem");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -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. // 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. // At the beginning of your upkeep, you lose 2 life.
addCard(Zone.HAND, playerA, "Priest of the Blood Rite", 1); // {3}{B}{B} 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Priest of the Blood Rite");
setStopAt(3, PhaseStep.UPKEEP); setStopAt(3, PhaseStep.UPKEEP);
@ -65,7 +65,7 @@ public class FlameshadowConjuringTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Kill Shot", 1); // {2}{U} addCard(Zone.HAND, playerB, "Kill Shot", 1); // {2}{U}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wurmcoil Engine"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wurmcoil Engine");
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(1, playerA, "Wurmcoil Engine"); attack(1, playerA, "Wurmcoil Engine");

View file

@ -23,7 +23,7 @@ public class HiveMindTest extends CardTestPlayerBase {
// Each of those players may choose new targets for their copy. // Each of those players may choose new targets for their copy.
addCard(Zone.BATTLEFIELD, playerA, "Hive Mind", 1); addCard(Zone.BATTLEFIELD, playerA, "Hive Mind", 1);
addCard(Zone.HAND, playerA, "Lightning Bolt", 1); addCard(Zone.HAND, playerA, "Lightning Bolt", 1);
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, playerA); addTarget(playerB, playerA);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); 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. // 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); 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pact of the Titan");

View file

@ -32,7 +32,7 @@ public class IdentityThiefTest extends CardTestPlayerBase {
setFlipCoinResult(playerA, true); setFlipCoinResult(playerA, true);
attack(2, playerB, "Identity Thief"); attack(2, playerB, "Identity Thief");
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, "Molten Sentry"); addTarget(playerB, "Molten Sentry");
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -44,12 +44,12 @@ public class IsochronScepterTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Lightning Bolt"); addCard(Zone.HAND, playerA, "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter"); 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) setChoice(playerA, "Lightning Bolt"); // target for imprint (excile from hand)
// copy and cast imprinted card // copy and cast imprinted card
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -70,8 +70,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
addTarget(playerA, "Lightning Bolt"); addTarget(playerA, "Lightning Bolt");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -113,8 +113,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
attack(2, playerB, "Dross Crocodile"); attack(2, playerB, "Dross Crocodile");
activateAbility(2, PhaseStep.DECLARE_BLOCKERS, playerA, "{2}, {T}:"); activateAbility(2, PhaseStep.DECLARE_BLOCKERS, playerA, "{2}, {T}:");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Yes"); setChoice(playerA, true);
// Damage life loss is reduced to 0 because of Angel's Grace effect active // Damage life loss is reduced to 0 because of Angel's Grace effect active
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", playerA); castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Bolt", playerA);
@ -157,8 +157,8 @@ public class IsochronScepterTest extends CardTestPlayerBase {
addTarget(playerA, "Silence"); addTarget(playerA, "Silence");
activateAbility(2, PhaseStep.UPKEEP, playerA, "{2}, {T}:"); activateAbility(2, PhaseStep.UPKEEP, playerA, "{2}, {T}:");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Silvercoat Lion");

View file

@ -34,19 +34,19 @@ public class MimicVatTest extends CardTestPlayerBase {
// clone the opponent's creature // clone the opponent's creature
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); 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"); setChoice(playerA, "Silvercoat Lion");
// kill clone and exile it (imprint into vat) // kill clone and exile it (imprint into vat)
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice a creature"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice a creature");
setChoice(playerA, "Silvercoat Lion"); setChoice(playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); // exile killed card by vat setChoice(playerA, true); // exile killed card by vat
// turn 3 // turn 3
// create a token from exile (imprinted card: clone) // create a token from exile (imprinted card: clone)
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}: Create a token"); 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"); setChoice(playerA, "Silvercoat Lion");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -74,13 +74,13 @@ public class MimicVatTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1); addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phyrexian Metamorph"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phyrexian Metamorph");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Silvercoat Lion"); setChoice(playerA, "Silvercoat Lion");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice a creature"); 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 "); 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"); setChoice(playerA, "Silvercoat Lion");
setStopAt(3, PhaseStep.BEGIN_COMBAT); setStopAt(3, PhaseStep.BEGIN_COMBAT);
@ -115,14 +115,14 @@ public class MimicVatTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1); addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Silvercoat Lion"); setChoice(playerA, "Silvercoat Lion");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Shred Memory", "Silvercoat Lion", "Whenever a nontoken creature dies"); 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 "); 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"); setChoice(playerA, "Silvercoat Lion");
setStopAt(3, PhaseStep.BEGIN_COMBAT); setStopAt(3, PhaseStep.BEGIN_COMBAT);

View file

@ -31,7 +31,7 @@ public class MirrorworksTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5} addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -56,7 +56,7 @@ public class MirrorworksTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5} addCard(Zone.BATTLEFIELD, playerA, "Mirrorworks", 1); // Artifact {5}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mox Diamond");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -29,7 +29,7 @@ public class ReversalOfFortuneTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB);
setChoice(playerA, "Lightning Bolt"); // select to copy setChoice(playerA, "Lightning Bolt"); // select to copy
setChoice(playerA, "Yes"); // cast copy setChoice(playerA, true); // cast copy
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -49,7 +49,7 @@ public class ReversalOfFortuneTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Reversal of Fortune", playerB);
addTarget(playerA, "Lightning Bolt"); addTarget(playerA, "Lightning Bolt");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -52,29 +52,29 @@ public class SharuumTheHegemonTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Blood Artist", 1); addCard(Zone.BATTLEFIELD, playerA, "Blood Artist", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Sharuum the Hegemon"); // what creature to clone setChoice(playerA, "Sharuum the Hegemon"); // what creature to clone
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
addTarget(playerA, playerB); // damage by blood 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"); // return real sharuum
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
addTarget(playerA, playerB); // damage by blood 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"); // return real sharuum
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep
setChoice(playerA, "Whenever {this} or another creature dies"); // blood first setChoice(playerA, "Whenever {this} or another creature dies"); // blood first
addTarget(playerA, playerB); // damage by blood 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"); // return real sharuum
addTarget(playerA, "Sharuum the Hegemon[only copy]"); // which legend to keep 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); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();

View file

@ -40,7 +40,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Island", 4); addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Abbey Griffin"); setChoice(playerA, "Abbey Griffin");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -66,7 +66,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Island", 4); addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Ajani, the Greathearted"); setChoice(playerA, "Ajani, the Greathearted");
setChoice(playerA, "Ajani, the Greathearted"); // two etb effects (own + copy) 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); addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Abbey Griffin"); setChoice(playerA, "Abbey Griffin");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -118,7 +118,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
// copy // copy
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Spark Double"); 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");
setChoice(playerA, "Gideon, Ally of Zendikar"); // two etb effects (own + copy) setChoice(playerA, "Gideon, Ally of Zendikar"); // two etb effects (own + copy)
@ -147,7 +147,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
// copy // copy
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Gideon Blackblade"); setChoice(playerA, "Gideon Blackblade");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -188,7 +188,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
// make copy of legendary creature (it's not legendary now) // make copy of legendary creature (it's not legendary now)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Akroma, Angel of Wrath"); setChoice(playerA, "Akroma, Angel of Wrath");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
checkPermanentCount("must have copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Wrath", 2); 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) // make copy of legendary creature (it's not legendary now)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Akroma, Angel of Wrath"); setChoice(playerA, "Akroma, Angel of Wrath");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN, playerA);
checkPermanentCount("must have copy", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Akroma, Angel of Wrath", 2); 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 // cast first spark
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Grizzly Bears"); setChoice(playerA, "Grizzly Bears");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkPermanentCount("after 1", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Grizzly Bears", 2); checkPermanentCount("after 1", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Grizzly Bears", 2);
@ -274,7 +274,7 @@ public class SparkDoubleTest extends CardTestPlayerBase {
// cast second spark // cast second spark
// rules 706.9e affected, so must get only 1 counter // rules 706.9e affected, so must get only 1 counter
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setChoice(playerA, "Grizzly Bears[only copy]"); setChoice(playerA, "Grizzly Bears[only copy]");
//setChoice(playerA, "Grizzly Bears"); // possible bug: two etb effects //setChoice(playerA, "Grizzly Bears"); // possible bug: two etb effects
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);

View file

@ -70,8 +70,8 @@ public class SpelltwineTest extends CardTestPlayerBase {
addTarget(playerA, "Impulse"); // target 1 to exile addTarget(playerA, "Impulse"); // target 1 to exile
addTarget(playerA, "Blasphemous Act"); // target 2 to exile addTarget(playerA, "Blasphemous Act"); // target 2 to exile
setChoice(playerA, "Yes"); // pay {3} and copy spell setChoice(playerA, true); // pay {3} and copy spell
setChoice(playerA, "Yes"); // Change targets setChoice(playerA, true); // Change targets
addTarget(playerA, "Night's Whisper"); addTarget(playerA, "Night's Whisper");
addTarget(playerA, "Divination"); addTarget(playerA, "Divination");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -96,7 +96,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Silvercoat Lion"); addCard(Zone.HAND, playerA, "Silvercoat Lion");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -119,7 +119,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Fire // Ice"); addCard(Zone.HAND, playerA, "Fire // Ice");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Fire", playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -147,7 +147,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Shrapnel Blast", 1); addCard(Zone.HAND, playerA, "Shrapnel Blast", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shrapnel Blast"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shrapnel Blast");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -177,7 +177,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Trinisphere", 1); addCard(Zone.BATTLEFIELD, playerB, "Trinisphere", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -214,7 +214,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Far // Away"); addCard(Zone.HAND, playerA, "Far // Away");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "fused 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, "Silvercoat Lion");
addTarget(playerA, playerB); addTarget(playerA, playerB);
playerB.addTarget("Pillarfield Ox"); playerB.addTarget("Pillarfield Ox");
@ -253,7 +253,7 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
skipInitShuffling(); skipInitShuffling();
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -287,8 +287,8 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Bog Wraith", 1); addCard(Zone.BATTLEFIELD, playerB, "Bog Wraith", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Barbed Lightning");
setChoice(playerA, "Yes"); // cast without cost setChoice(playerA, true); // cast without cost
setChoice(playerA, "Yes"); // pay Entwine setChoice(playerA, true); // pay Entwine
addTarget(playerA, "Bog Wraith"); // target form mode 1 addTarget(playerA, "Bog Wraith"); // target form mode 1
addTarget(playerA, playerB); // target for mode 2 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) addCard(Zone.HAND, playerA, "Bog Wraith", 1); // Creature {3}{B} (3/3)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Omniscience"); 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"); 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 // 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, false); // Pay alternative costs? ({W}{U}{B}{R}{G})
setChoice(playerA, "Yes"); // Cast without paying its mana cost? setChoice(playerA, true); // Cast without paying its mana cost?
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -414,9 +414,9 @@ public class CastFromHandWithoutPayingManaCostTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, jeleva); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, jeleva);
attack(3, 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, 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 setModeChoice(playerA, "1"); // use first mode of Savage Beating granting double strike
setStopAt(3, PhaseStep.END_COMBAT); setStopAt(3, PhaseStep.END_COMBAT);

View file

@ -22,7 +22,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Lightning Bolt", 1); addCard(Zone.HAND, playerA, "Lightning Bolt", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre"); // Cast Orgre by discarding the Lightning Bolt 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"); setChoice(playerA, "Lightning Bolt");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -93,7 +93,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true); checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", "Alpha Myr"); 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"); setChoice(playerA, "Plains");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -118,7 +118,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true); checkPlayableAbility("can", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", true);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Abolish", "Alpha Myr"); 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"); setChoice(playerA, "Plains");
setStrictChooseMode(true); setStrictChooseMode(true);
@ -158,7 +158,7 @@ public class UseAlternateSourceCostsTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion"); addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Invigorate", "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 addTarget(playerA, playerB); // Opponent to gain live
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -19,7 +19,7 @@ public class GatekeeperOfMalakirTest extends CardTestPlayerBase {
// Kicker {B} (You may pay an additional {B} as you cast this spell.) // 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. // 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"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gatekeeper of Malakir");
setChoice(playerA, "Yes"); // use kicker setChoice(playerA, true); // use kicker
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -670,7 +670,7 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
// cast and make copy of bear // cast and make copy of bear
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glasspool Mimic"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glasspool Mimic");
setChoice(playerA, "Yes"); // as copy setChoice(playerA, true); // as copy
setChoice(playerA, "Balduvian Bears"); // copy of setChoice(playerA, "Balduvian Bears"); // copy of
setStrictChooseMode(true); setStrictChooseMode(true);
@ -695,16 +695,16 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Aether Vial", 1); addCard(Zone.BATTLEFIELD, playerA, "Aether Vial", 1);
// prepare charge counters // prepare charge counters
setChoice(playerA, "Yes"); // +1 charge on turn 1 setChoice(playerA, true); // +1 charge on turn 1
setChoice(playerA, "Yes"); // +1 charge on turn 3 setChoice(playerA, true); // +1 charge on turn 3
setChoice(playerA, "Yes"); // +1 charge on turn 5 setChoice(playerA, true); // +1 charge on turn 5
// put card from hand to battlefield // put card from hand to battlefield
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: You may put a creature card"); 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, "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 setChoice(playerA, "Balduvian Bears"); // copy of
setStrictChooseMode(true); setStrictChooseMode(true);
@ -820,7 +820,7 @@ public class ModalDoubleFacesCardsTest extends CardTestPlayerBase {
// play elf with cascade // play elf with cascade
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodbraid Elf"); 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, "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 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 // play elf with cascade
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Bloodbraid Elf"); 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 setChoice(playerA, "Cast The Omenkeel"); // can cast any side here
setStrictChooseMode(true); setStrictChooseMode(true);

View file

@ -204,7 +204,7 @@ public class CostModificationTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zoetic Cavern"); playLand(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Zoetic Cavern");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
execute(); execute();
@ -410,7 +410,7 @@ public class CostModificationTest extends CardTestPlayerBase {
// Vivien: make cost +2 instead +1 (total 7 counters) // Vivien: make cost +2 instead +1 (total 7 counters)
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Look at the top four"); 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); 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 // 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 // prepare duplicates
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); // copy setChoice(playerA, true); // copy
setChoice(playerA, "Carth the Lion"); // copy target setChoice(playerA, "Carth the Lion"); // copy target
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Spark Double");
setChoice(playerA, "Yes"); // copy setChoice(playerA, true); // copy
setChoice(playerA, "Carth the Lion"); // copy target setChoice(playerA, "Carth the Lion"); // copy target
// x3 lions gives +3 in cost reduction (-8 -> -5) // x3 lions gives +3 in cost reduction (-8 -> -5)

View file

@ -29,7 +29,7 @@ public class HeartstoneTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", playerA); 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"); 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); addTarget(playerA, playerB);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -80,7 +80,7 @@ public class MizzixOfTheIzmagnusTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Seething Anger", "Mizzix of the Izmagnus"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Seething Anger", "Mizzix of the Izmagnus");
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -26,7 +26,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus"); addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Relic of Progenitus"); addTarget(playerA, "Relic of Progenitus");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -53,7 +53,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus"); addCard(Zone.BATTLEFIELD, playerA, "Relic of Progenitus");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -78,7 +78,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Glint Hawk"); addCard(Zone.HAND, playerA, "Glint Hawk");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Glint Hawk");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -102,7 +102,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Moat"); addCard(Zone.BATTLEFIELD, playerA, "Moat");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Moat"); addTarget(playerA, "Moat");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -130,7 +130,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Propaganda"); addCard(Zone.BATTLEFIELD, playerB, "Propaganda");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, "Propaganda"); addTarget(playerA, "Propaganda");
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
@ -156,7 +156,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Drake Familiar"); addCard(Zone.HAND, playerA, "Drake Familiar");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -180,7 +180,7 @@ public class OptionalSacrificeTests extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Propaganda"); addCard(Zone.BATTLEFIELD, playerB, "Propaganda");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Drake Familiar");
setChoice(playerA, "No"); setChoice(playerA, false);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -35,7 +35,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Wear // Tear"); // select card 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 setChoice(playerA, "Cast Tear"); // select tear side
addTarget(playerA, "Sanguine Bond"); // target for tear addTarget(playerA, "Sanguine Bond"); // target for tear
@ -68,7 +68,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Wear // Tear"); // select card 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 setChoice(playerA, "Cast Wear"); // select wear side
addTarget(playerA, "Icy Manipulator"); // target for wear addTarget(playerA, "Icy Manipulator"); // target for wear
@ -101,7 +101,7 @@ public class CastSplitCardsFromOtherZonesTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mindclaw Shaman");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Wear // Tear"); // select card 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 setChoice(playerA, "Cast fused Wear // Tear"); // select fused
addTarget(playerA, "Icy Manipulator"); // target for wear addTarget(playerA, "Icy Manipulator"); // target for wear
addTarget(playerA, "Sanguine Bond"); // target for tear 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 addCard(Zone.BATTLEFIELD, playerB, "Etali, Primal Storm"); // Creature {4}{R} 6/6
attack(2, playerB, "Etali, Primal Storm"); 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, "Fire // Ice"); // card to cast
setChoice(playerB, "Cast Fire"); // ability to cast setChoice(playerB, "Cast Fire"); // ability to cast
addTargetAmount(playerB, "Silvercoat Lion", 2); addTargetAmount(playerB, "Silvercoat Lion", 2);

View file

@ -59,7 +59,7 @@ public class SplitCardCmcTest extends CardTestPlayerBase {
skipInitShuffling(); // so the set to top card stays at top skipInitShuffling(); // so the set to top card stays at top
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Typhoid Rats"); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -105,7 +105,7 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -128,10 +128,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -154,10 +154,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
@ -180,9 +180,9 @@ public class DungeonTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);
@ -203,9 +203,9 @@ public class DungeonTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
rollbackTurns(2, PhaseStep.END_TURN, 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}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{0}:");
rollbackTurns(2, PhaseStep.END_TURN, playerA, 0); rollbackTurns(2, PhaseStep.END_TURN, playerA, 0);
rollbackAfterActionsStart(); rollbackAfterActionsStart();
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Storeroom setChoice(playerA, true); // Storeroom
addTarget(playerA, SILVERCOAT_LION); addTarget(playerA, SILVERCOAT_LION);
rollbackAfterActionsEnd(); rollbackAfterActionsEnd();
@ -265,10 +265,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
setChoice(playerB, DUNGEON_OF_THE_MAD_MAGE); setChoice(playerB, DUNGEON_OF_THE_MAD_MAGE);
@ -276,7 +276,7 @@ public class DungeonTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN); waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
setChoice(playerB, "Yes"); // Goblin Bazaar setChoice(playerB, true); // Goblin Bazaar
waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN); waitStackResolved(1, PhaseStep.POSTCOMBAT_MAIN);
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:"); activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{0}:");
@ -305,10 +305,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
@ -346,10 +346,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
@ -370,13 +370,13 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // return Dungeon Crawler setChoice(playerA, true); // return Dungeon Crawler
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -396,10 +396,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -423,10 +423,10 @@ public class DungeonTest extends CardTestPlayerBase {
setChoice(playerA, LOST_MINE_OF_PHANDELVER); setChoice(playerA, LOST_MINE_OF_PHANDELVER);
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "Yes"); // Goblin Lair setChoice(playerA, true); // Goblin Lair
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN); waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{0}:");
setChoice(playerA, "No"); // Dark Pool setChoice(playerA, false); // Dark Pool
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();

View file

@ -50,9 +50,9 @@ public class AuraMovingTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Alexi's Cloak", "Bruna, Light of Alabaster"); castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Alexi's Cloak", "Bruna, Light of Alabaster");
attack(2, playerB, "Bruna, Light of Alabaster"); attack(2, playerB, "Bruna, Light of Alabaster");
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, "Hostile Realm"); addTarget(playerB, "Hostile Realm");
setChoice(playerB, "Yes"); setChoice(playerB, true);
addTarget(playerB, "Unholy Strength"); addTarget(playerB, "Unholy Strength");
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);

View file

@ -32,7 +32,7 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
attack(2, playerB, "Hill Giant"); attack(2, playerB, "Hill Giant");
addTarget(playerA, playerB); // Circle of Affliction drain ability addTarget(playerA, playerB); // Circle of Affliction drain ability
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -60,9 +60,9 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
attack(2, playerB, "Silvercoat Lion"); attack(2, playerB, "Silvercoat Lion");
attack(2, playerB, "Silvercoat Lion"); attack(2, playerB, "Silvercoat Lion");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();
@ -93,18 +93,18 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lava Spike", playerA); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Lava Spike", playerA);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
attack(2, playerB, "Hill Giant"); attack(2, playerB, "Hill Giant");
attack(2, playerB, "Hill Giant"); attack(2, playerB, "Hill Giant");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lava Spike", playerA); castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lava Spike", playerA);
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);
execute(); execute();
@ -135,9 +135,9 @@ public class CircleOfAfflictionTest extends CardTestPlayerBase {
attack(2, playerB, "Silvercoat Lion"); attack(2, playerB, "Silvercoat Lion");
attack(2, playerB, "Hill Giant"); attack(2, playerB, "Hill Giant");
addTarget(playerA, playerB); addTarget(playerA, playerB);
setChoice(playerA, "Yes"); setChoice(playerA, true);
addTarget(playerA, playerB); // should not be able to drain Hill Giant with white selected 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); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute(); execute();

View file

@ -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, SPELLWEAVER_VOLUTE, LIGHTNING_BOLT);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cloak of Feathers", "Silvercoat Lion"); 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 addTarget(playerA, playerB); // Add Target for the L. Bold
setStopAt(1, PhaseStep.BEGIN_COMBAT); 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, SPELLWEAVER_VOLUTE, LIGHTNING_BOLT);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cloak of Feathers", "Silvercoat Lion"); 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 addTarget(playerA, playerB); // Add Target for the L. Bold
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);

View file

@ -28,7 +28,7 @@ public class MindsDilationTest extends CardTestPlayerBase {
skipInitShuffling(); skipInitShuffling();
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB);
setChoice(playerB, "Yes"); setChoice(playerB, true);
setStopAt(1, PhaseStep.BEGIN_COMBAT); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();
@ -55,7 +55,7 @@ public class MindsDilationTest extends CardTestPlayerBase {
addCard(Zone.LIBRARY, playerA, "Divination", 1); // draw 2 cards addCard(Zone.LIBRARY, playerA, "Divination", 1); // draw 2 cards
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", playerB); 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); setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute(); execute();

View file

@ -25,7 +25,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
// turn 1 - A // turn 1 - A
// oath A triggers for A and activates // oath A triggers for A and activates
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -57,7 +57,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
// turn 2 - B // turn 2 - B
// oath A triggers for B and activates // oath A triggers for B and activates
addTarget(playerB, playerA); // who control more lands addTarget(playerB, playerA); // who control more lands
setChoice(playerB, "Yes"); // search library setChoice(playerB, true); // search library
addTarget(playerB, "Plains"); // card from library addTarget(playerB, "Plains"); // card from library
setStopAt(2, PhaseStep.END_TURN); setStopAt(2, PhaseStep.END_TURN);
@ -81,7 +81,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
// turn 1 - A // turn 1 - A
// oath B triggers for A and activates // oath B triggers for A and activates
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -106,11 +106,11 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
// oath B triggers for A and activates // oath B triggers for A and activates
// 1 // 1
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
// 2 // 2
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
setStopAt(1, PhaseStep.END_TURN); setStopAt(1, PhaseStep.END_TURN);
@ -142,7 +142,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish");
// cast oath copy // cast oath copy
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Copy Enchantment"); 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 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 2 oath", 1, PhaseStep.END_TURN, playerA, "Oath of Lieges", 2);
checkPermanentCount("A have 10 plains", 1, PhaseStep.END_TURN, playerA, "Plains", 10); 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 setChoice(playerA, "At the beginning of each player's upkeep"); // two triggers on upkeep
// 1 // 1
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
// 2 // 2
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
setStrictChooseMode(true); setStrictChooseMode(true);
@ -201,7 +201,7 @@ public class OathOfLiegesTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish"); castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Replenish");
// cast oath copy by opponent // cast oath copy by opponent
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Copy Enchantment"); 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 setChoice(playerB, "Oath of Lieges"); // target for copy
checkPermanentCount("A have 1 oath", 2, PhaseStep.END_TURN, playerA, "Oath of Lieges", 1); 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); 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 // copy oath B triggers for A and activates
// 1 // 1
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
// 2 // 2
addTarget(playerA, playerB); // who control more lands addTarget(playerA, playerB); // who control more lands
setChoice(playerA, "Yes"); // search library setChoice(playerA, true); // search library
addTarget(playerA, "Plains"); // card from library addTarget(playerA, "Plains"); // card from library
setStopAt(3, PhaseStep.END_TURN); setStopAt(3, PhaseStep.END_TURN);

Some files were not shown because too many files have changed in this diff Show more