mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 12:02:01 -08:00
text fixes and test fixes to fix how tests test text, then more text next
This commit is contained in:
parent
14107b3d55
commit
54b8f10c3c
76 changed files with 247 additions and 227 deletions
|
|
@ -88,7 +88,7 @@ public class DeathtouchTest extends CardTestPlayerBase {
|
|||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip {2}", "Marath, Will of the Wild", "Marath, Will of the Wild", StackClause.WHILE_NOT_ON_STACK);
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},Remove X +1/+1 counters from Marath", "Archangel of Thune");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X}, Remove X +1/+1 counters from Marath", "Archangel of Thune");
|
||||
setChoice(playerA, "X=3");
|
||||
setModeChoice(playerA, "2"); // Marath deals X damage to target creature or player
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ public class DeathtouchTest extends CardTestPlayerBase {
|
|||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip {2}", "Marath, Will of the Wild");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},Remove X +1/+1 counters from Marath", "Elesh Norn, Grand Cenobite");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X}, Remove X +1/+1 counters from Marath", "Elesh Norn, Grand Cenobite");
|
||||
setModeChoice(playerA, "2"); // Marath deals X damage to target creature or player
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ public class ManifestTest extends CardTestPlayerBase {
|
|||
|
||||
skipInitShuffling();
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B},{T}, Sacrifice another creature");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B}, {T}, Sacrifice another creature");
|
||||
addTarget(playerB, "Silvercoat Lion");
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
@ -309,7 +309,7 @@ public class ManifestTest extends CardTestPlayerBase {
|
|||
|
||||
skipInitShuffling();
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B},{T}, Sacrifice another creature");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B}, {T}, Sacrifice another creature");
|
||||
addTarget(playerB, "Silvercoat Lion");
|
||||
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{5}{G}: Turn");
|
||||
|
|
@ -353,7 +353,7 @@ public class ManifestTest extends CardTestPlayerBase {
|
|||
|
||||
skipInitShuffling();
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B},{T}, Sacrifice another creature");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B}, {T}, Sacrifice another creature");
|
||||
addTarget(playerB, "Silvercoat Lion");
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
|
|
@ -431,7 +431,7 @@ public class ManifestTest extends CardTestPlayerBase {
|
|||
|
||||
skipInitShuffling();
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B},{T}, Sacrifice another creature");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}{B}, {T}, Sacrifice another creature");
|
||||
setChoice(playerB, "Silvercoat Lion");
|
||||
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Sacrifice a creature");
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class SuspendTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerA, "Silvercoat Lion", 1);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Jhoira of the Ghitu", 1);
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},Exile a nonland card from your hand: Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, Exile a nonland card from your hand: Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend");
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
setStopAt(11, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class ExileAndReturnTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tawnos's Coffin");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}", "Silvercoat Lion");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}", "Silvercoat Lion");
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
@ -83,7 +83,7 @@ public class ExileAndReturnTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tawnos's Coffin");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Battlegrowth", "Silvercoat Lion");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3},{T}", "Silvercoat Lion");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3}, {T}", "Silvercoat Lion");
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
@ -123,7 +123,7 @@ public class ExileAndReturnTest extends CardTestPlayerBase {
|
|||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Battlegrowth", "Bramble Elemental");
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Blanchwood Armor", "Bramble Elemental");
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Frog Tongue", "Bramble Elemental");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3},{T}", "Bramble Elemental");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3}, {T}", "Bramble Elemental");
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class TradingPostTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Act of Treason", "Savannah Lions");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1},{T}, Sacrifice a creature", "Helm of Possession", "Act of Treason", StackClause.WHILE_NOT_ON_STACK);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}, {T}, Sacrifice a creature", "Helm of Possession", "Act of Treason", StackClause.WHILE_NOT_ON_STACK);
|
||||
setChoice(playerA, "Savannah Lions");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class SoulfireGrandMasterTest extends CardTestPlayerBase {
|
|||
// {3}, {T}: Rod of Ruin deals 1 damage to target creature or player.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Rod of Ruin", 1);
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Island", 4);
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Food Chain");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2},Sacrifice a permanent you control: Return target creature to its owner's hand.");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}, Sacrifice a permanent you control: Return target creature to its owner's hand.");
|
||||
playerB.addChoice("Food Chain");
|
||||
playerA.addTarget("Angel of Jubilation");
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Nantuko Husk");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Llanowar Elves", 2);
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2},Sacrifice a permanent you control: Return target creature to its owner's hand.");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}, Sacrifice a permanent you control: Return target creature to its owner's hand.");
|
||||
playerB.addChoice("Nantuko Husk");
|
||||
playerA.addTarget("Angel of Jubilation");
|
||||
|
||||
|
|
@ -151,7 +151,7 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Tomb of Urami");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 4);
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B},{T}, Sacrifice all lands you control: Create a legendary 5/5 black Demon Spirit creature token with flying named Urami.");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B}, {T}, Sacrifice all lands you control: Create a legendary 5/5 black Demon Spirit creature token with flying named Urami.");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class SerraAscendantTest extends CardTestPlayerBase {
|
|||
|
||||
playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Plains");
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Martyr of Sands");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{1},You may reveal X white cards from your hand");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}, You may reveal X white cards from your hand");
|
||||
setChoice(playerA,"X=3");
|
||||
|
||||
attack(3, playerA, "Serra Ascendant");
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ public class ExchangeControlTest extends CardTestPlayerBase {
|
|||
addTarget(playerA, "Manta Riders");
|
||||
|
||||
// now use the activated ability to make the "Silvercoat Lions" (that became Mana Riders) flying
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{U}: {this} gains Flying until end of turn.");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{U}: {this} gains flying until end of turn.");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ public class GainControlDiedCastAgainTest extends CardTestPlayerBase {
|
|||
castSpell(4, PhaseStep.POSTCOMBAT_MAIN, playerB, "Akroma's Vengeance");
|
||||
|
||||
// Put Elesh Norn back on library
|
||||
activateAbility(5, PhaseStep.END_TURN, playerB, "{1}{B},{T}: Put target creature card", "Elesh Norn, Grand Cenobite");
|
||||
activateAbility(5, PhaseStep.END_TURN, playerB, "{1}{B}, {T}: Put target creature card", "Elesh Norn, Grand Cenobite");
|
||||
|
||||
castSpell(6, PhaseStep.PRECOMBAT_MAIN, playerB, "Elesh Norn, Grand Cenobite");
|
||||
setStopAt(6, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
|||
|
|
@ -60,10 +60,10 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
|
|||
// Persist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.)
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Glen Elendra Archmage");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as {this} remains tapped.", "Glen Elendra Archmage");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as {this} remains tapped.", "Glen Elendra Archmage");
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Lightning Strike", playerA);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{U},Sacrifice {this}: Counter target noncreature spell.", "Lightning Strike");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{U}, Sacrifice {this}: Counter target noncreature spell.", "Lightning Strike");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
@ -94,7 +94,7 @@ public class GainControlTargetEffectTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Mutavault", 1);
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{1}: Until end of turn {this} becomes");
|
||||
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
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class WillbreakerTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{B},Remove", "Silvercoat Lion");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{B}, Remove", "Silvercoat Lion");
|
||||
setChoice(playerA, "X=0");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public class FeldonOfTheThirdPathTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA,
|
||||
"{2}{R},{T}: Create a token that's a copy of target creature card in your graveyard, except it's an artifact in addition to its other types. It gains haste. Sacrifice it at the beginning of the next end step.",
|
||||
"{2}{R}, {T}: Create a token that's a copy of target creature card in your graveyard, except it's an artifact in addition to its other types. It gains haste. Sacrifice it at the beginning of the next end step.",
|
||||
"Highway Robber");
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
@ -82,7 +82,7 @@ public class FeldonOfTheThirdPathTest extends CardTestPlayerBase {
|
|||
addCard(Zone.GRAVEYARD, playerB, "Silvercoat Lion", 1);
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA,
|
||||
"{2}{R},{T}: Create a token that's a copy of target creature card in your graveyard, except it's an artifact in addition to its other types. It gains haste. Sacrifice it at the beginning of the next end step.",
|
||||
"{2}{R}, {T}: Create a token that's a copy of target creature card in your graveyard, except it's an artifact in addition to its other types. It gains haste. Sacrifice it at the beginning of the next end step.",
|
||||
"Sepulchral Primordial");
|
||||
addTarget(playerA, "Silvercoat Lion"); // target for ETB Sepulchral Primordial
|
||||
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||
addTarget(playerA, "Lightning Bolt");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2},{T}:");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||
addTarget(playerA, "Lightning Bolt");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2},{T}:");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "No");
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ 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, "Yes");
|
||||
|
||||
|
|
@ -180,7 +180,7 @@ public class IsochronScepterTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||
addTarget(playerA, "Silence");
|
||||
|
||||
activateAbility(2, PhaseStep.UPKEEP, playerA, "{2},{T}:");
|
||||
activateAbility(2, PhaseStep.UPKEEP, playerA, "{2}, {T}:");
|
||||
setChoice(playerA, "Yes");
|
||||
setChoice(playerA, "Yes");
|
||||
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ public class MimicVatTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Clone");
|
||||
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");
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}: Create a token");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}: Create a token");
|
||||
setChoice(playerA, "Silvercoat Lion");
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
@ -95,10 +95,10 @@ public class MimicVatTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Phyrexian Metamorph");
|
||||
setChoice(playerA, "Yes");
|
||||
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");
|
||||
|
||||
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, "Silvercoat Lion");
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public class RemoveCounterCostTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Novijen Sages");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1},Remove two +1/+1 counters");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}, Remove two +1/+1 counters");
|
||||
setChoice(playerA, "X=2");
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class HeartstoneTest extends CardTestPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Lightning Bolt");
|
||||
|
||||
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");
|
||||
addTarget(playerA, playerB);
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class SkullclampTest extends CardTestPlayerBase {
|
|||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Equip", "Silvercoat Lion");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{X},Sacrifice");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{X}, Sacrifice");
|
||||
setChoice(playerB, "X=2");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ public class ConditionalManaTest extends CardTestPlayerBase {
|
|||
|
||||
activateManaAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{T}: Add {C}{C}{C}{C}");
|
||||
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{X},{T}: Untap");
|
||||
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{X}, {T}: Untap");
|
||||
setChoice(playerB, "X=4");
|
||||
addTarget(playerB, "Island");
|
||||
addTarget(playerB, "Island");
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ public class CryptGhastTest extends CardTestPlayerBase {
|
|||
// {X}{U}{R},{T}: Nin, the Pain Artist deals X damage to target creature. That creature's controller draws X cards.
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Nin, the Pain Artist", 1);
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{X}{U}{R},{T}: {this} deals X damage to target creature", "Crypt Ghast");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{X}{U}{R}, {T}: {this} deals X damage to target creature", "Crypt Ghast");
|
||||
setChoice(playerB, "X=2");
|
||||
|
||||
// Crypt Ghast may no longer give additional mana
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
package org.mage.test.cards.mana;
|
||||
|
||||
import mage.abilities.costs.mana.ColorlessManaCost;
|
||||
import mage.constants.ManaType;
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
import org.mage.test.serverside.base.impl.CardTestAPIImpl;
|
||||
|
||||
public class DoublingCubeTest extends CardTestPlayerBase {
|
||||
|
||||
|
|
@ -26,18 +24,16 @@ public class DoublingCubeTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, cube);
|
||||
addCard(Zone.BATTLEFIELD, playerA, upwelling);
|
||||
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {G} to your mana pool");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {G} to your mana pool");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {G} to your mana pool");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {C}{C}");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}:");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{3}, {T}:");
|
||||
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
assertManaPool(playerA, ManaType.COLORLESS, 4);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ public class HarvesterDruidTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
ManaOptions options = playerA.getAvailableManaTest(currentGame);
|
||||
Assert.assertEquals("Player should be able to create 2 red and 1 blue mana", "{R}{R}{U}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 red and 3 blue mana", "{R}{U}{U}", options.get(1).toString());
|
||||
Assert.assertEquals("Player should be able to create 2 red and 1 blue mana", "{U}{R}{R}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 red and 3 blue mana", "{U}{U}{R}", options.get(1).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -68,9 +68,9 @@ public class HarvesterDruidTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
ManaOptions options = playerA.getAvailableManaTest(currentGame);
|
||||
Assert.assertEquals("Player should be able to create 3 red and 1 blue mana", "{R}{R}{R}{U}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 2 red and 2 blue mana", "{R}{R}{U}{U}", options.get(1).toString());
|
||||
Assert.assertEquals("Player should be able to create 2 red and 2 blue mana", "{R}{R}{U}{U}", options.get(2).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 red and 3 blue mana", "{R}{U}{U}{U}", options.get(3).toString());
|
||||
Assert.assertEquals("Player should be able to create 3 red and 1 blue mana", "{U}{R}{R}{R}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 2 red and 2 blue mana", "{U}{U}{R}{R}", options.get(1).toString());
|
||||
Assert.assertEquals("Player should be able to create 2 red and 2 blue mana", "{U}{U}{R}{R}", options.get(2).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 red and 3 blue mana", "{U}{U}{U}{R}", options.get(3).toString());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
|
|||
// Omnath, Locus of Mana gets +1/+1 for each green mana in your mana pool.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Omnath, Locus of Mana", 1);
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
@ -75,12 +75,12 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
|
|||
// Omnath, Locus of Mana gets +1/+1 for each green mana in your mana pool.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Omnath, Locus of Mana", 1);
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Untap another target permanent.", "Nykthos, Shrine to Nyx");
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
|
|
@ -106,12 +106,12 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
|
|||
// If unused mana would empty from your mana pool, that mana becomes colorless instead.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Kruphix, God of Horizons", 1); // 1 G devotion
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Untap another target permanent.", "Nykthos, Shrine to Nyx");
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
@ -143,7 +143,7 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cackling Counterpart");
|
||||
addTarget(playerA, "Simic Guildmage");
|
||||
|
||||
activateManaAbility(1, PhaseStep.BEGIN_COMBAT, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.BEGIN_COMBAT, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Green");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
@ -205,7 +205,7 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Wastes", 2); // two colorless to pay for nykthos
|
||||
addCard(Zone.HAND, playerA, pObliterator); // just for something to cast for 4 black mana
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.");
|
||||
setChoice(playerA, "Black"); // should produce 4 black mana
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, pObliterator); // costs exactly 4 black mana should be castable
|
||||
|
|
|
|||
|
|
@ -174,13 +174,13 @@ public class ReflectingPoolTest extends CardTestPlayerBase {
|
|||
|
||||
ManaOptions options = playerA.getAvailableManaTest(currentGame);
|
||||
Assert.assertEquals("Player A should be able to create the ", "{G}{G}{G}", options.get(0).toString());
|
||||
Assert.assertEquals("Player A should be able to create the ", "{G}{G}{W}", options.get(1).toString());
|
||||
Assert.assertEquals("Player A should be able to create the ", "{G}{G}{W}", options.get(2).toString()); // ManaOption type optimzing seems not optimal yet
|
||||
Assert.assertEquals("Player A should be able to create the ", "{G}{W}{W}", options.get(3).toString());
|
||||
Assert.assertEquals("Player A should be able to create the ", "{W}{G}{G}", options.get(1).toString());
|
||||
Assert.assertEquals("Player A should be able to create the ", "{W}{G}{G}", options.get(2).toString()); // ManaOption type optimzing seems not optimal yet
|
||||
Assert.assertEquals("Player A should be able to create the ", "{W}{W}{G}", options.get(3).toString());
|
||||
Assert.assertEquals("Player A should be able to create only 3 different mana options", 4, options.size());
|
||||
|
||||
options = playerB.getAvailableManaTest(currentGame);
|
||||
Assert.assertEquals("Player B should be able to create the ", "{G}{W}", options.get(0).toString());
|
||||
Assert.assertEquals("Player B should be able to create the ", "{W}{G}", options.get(0).toString());
|
||||
Assert.assertEquals("Player B should be able to create the ", "{W}{W}", options.get(1).toString());
|
||||
Assert.assertEquals("Player B should be able to create only 3 different mana options", 2, options.size());
|
||||
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ public class SylvokExplorerTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
ManaOptions options = playerA.getAvailableManaTest(currentGame);
|
||||
Assert.assertEquals("Player should be able to create 1 red and 1 white mana", "{R}{W}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 blue and 1 white mana", "{U}{W}", options.get(1).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 red and 1 white mana", "{W}{R}", options.get(0).toString());
|
||||
Assert.assertEquals("Player should be able to create 1 blue and 1 white mana", "{W}{U}", options.get(1).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -37,12 +37,11 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
|||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
|
||||
public class GrindstoneTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's Servant is in play
|
||||
* Leaving one Progenius in play
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's
|
||||
* Servant is in play Leaving one Progenius in play
|
||||
*/
|
||||
@Test
|
||||
public void testGrindstoneProgenius() {
|
||||
|
|
@ -61,19 +60,19 @@ public class GrindstoneTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Painter's Servant");
|
||||
setChoice(playerA, "Blue");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3},{T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
Assert.assertEquals("Progenitus has to be in the libarary", 1, playerB.getLibrary().size());
|
||||
|
||||
Assert.assertEquals("Progenitus has to be in the libarary", 1, playerB.getLibrary().size());
|
||||
assertPermanentCount(playerA, "Painter's Servant", 1);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's Servant is in play
|
||||
* Iterating with two Progenius for a draw
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's
|
||||
* Servant is in play Iterating with two Progenius for a draw
|
||||
*/
|
||||
@Test
|
||||
public void testGrindstoneProgeniusDraw() {
|
||||
|
|
@ -92,19 +91,19 @@ public class GrindstoneTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Painter's Servant");
|
||||
setChoice(playerA, "Blue");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3},{T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
|
||||
Assert.assertTrue("Has to be a draw because of endless iteration", currentGame.isADraw());
|
||||
assertPermanentCount(playerA, "Painter's Servant", 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's Servant is in play
|
||||
* Iterating with two Progenius for a draw
|
||||
|
||||
/**
|
||||
* Tests that Grindstone mills all cards to graveyard while Painter's
|
||||
* Servant is in play Iterating with two Progenius for a draw
|
||||
*/
|
||||
@Test
|
||||
public void testGrindstoneUlamog() {
|
||||
|
|
@ -125,16 +124,14 @@ public class GrindstoneTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Painter's Servant");
|
||||
setChoice(playerA, "Blue");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3},{T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.");
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
|
||||
// No cards in graveyard because Ulamog shuffle all cards back to Lib
|
||||
assertGraveyardCount(playerB, 0);
|
||||
assertPermanentCount(playerA, "Painter's Servant", 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class LeylineOfTheVoidTest extends CardTestPlayerBase {
|
|||
// {X}, {T}: Target opponent puts cards from the top of his or her library into his or her graveyard until a creature card or X cards are put into that graveyard this way, whichever comes first. If a creature card is put into that graveyard this way, sacrifice Helm of Obedience and put that card onto the battlefield under your control. X can't be 0.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Helm of Obedience");
|
||||
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},{T}: Target opponent puts cards", playerB);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X}, {T}: Target opponent puts cards", playerB);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ public class ZoneChangeReplacementTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerB, "Swamp", 4);
|
||||
addCard(Zone.GRAVEYARD, playerB, "Silvercoat Lion");
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B},{T}: Return target creature", "Silvercoat Lion");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B}, {T}: Return target creature", "Silvercoat Lion");
|
||||
|
||||
castSpell(2, PhaseStep.BEGIN_COMBAT, playerA, "Terror", "Silvercoat Lion");
|
||||
setStopAt(2, PhaseStep.END_COMBAT);
|
||||
|
|
@ -364,7 +364,7 @@ public class ZoneChangeReplacementTest extends CardTestPlayerBase {
|
|||
addCard(Zone.GRAVEYARD, playerB, "Swamp", 5);
|
||||
addCard(Zone.GRAVEYARD, playerB, "Jace, Vryn's Prodigy");
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B},{T}: Return target creature", "Jace, Vryn's Prodigy");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{2}{B}{B}, {T}: Return target creature", "Jace, Vryn's Prodigy");
|
||||
|
||||
// {T}: Draw a card, then discard a card. If there are five or more cards in your graveyard, exile Jace, Vryn's Prodigy, then return him to the battefield transformed under his owner's control.
|
||||
activateAbility(2, PhaseStep.BEGIN_COMBAT, playerB, "{T}: Draw a card, then discard a card. If there are five or more cards in your graveyard");
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class ContagionEngineTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Contagion Engine");
|
||||
addTarget(playerA, playerB);
|
||||
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{4},{T}: Proliferate");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{4}, {T}: Proliferate");
|
||||
setChoice(playerA, "Wall of Frost^Kalonian Behemoth^Plated Slagwurm^Teysa, Envoy of Ghosts^Ajani Goldmane");
|
||||
setChoice(playerA, "Wall of Frost^Kalonian Behemoth^Plated Slagwurm^Teysa, Envoy of Ghosts^Ajani Goldmane");
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class MagewrightStoneTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, meanderer, 1, true);
|
||||
addCard(Zone.BATTLEFIELD, playerA, magewrightStone);
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1},{T}: Untap target creature", meanderer);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{1}, {T}: Untap target creature", meanderer);
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class SoulFoundryTest extends CardTestPlayerBase {
|
|||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Soul Foundry");
|
||||
setChoice(playerA, "Yes");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},{T}: Create a token");
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X}, {T}: Create a token");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public class GrinningTotemTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Grinning Totem");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}, Sacrifice {this}: Search target opponent's library for a card and exile it", playerB);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice {this}: Search target opponent's library for a card and exile it", playerB);
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
@ -28,7 +28,7 @@ public class GrinningTotemTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Tormod's Crypt");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}, Sacrifice {this}: Search target opponent's library for a card and exile it", playerB);
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}, Sacrifice {this}: Search target opponent's library for a card and exile it", playerB);
|
||||
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "{T}, Sacrifice {this}: Exile all cards", playerA);
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class BecomesTheTargetTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion", 1);
|
||||
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{W/P},{T}: Tap target creature", "Silvercoat Lion");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{W/P}, {T}: Tap target creature", "Silvercoat Lion");
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ public class SpellskiteTest extends CardTestPlayerBase {
|
|||
// Whenever Frost Titan enters the battlefield or attacks, tap target permanent. It doesn't untap during its controller's next untap step.
|
||||
addCard(Zone.HAND, playerB, "Frost Titan", 1);
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Gain control", "Spellskite");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}: Gain control", "Spellskite");
|
||||
|
||||
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Frost Titan");
|
||||
addTarget(playerB, "Silvercoat Lion");
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class FellShepherdTest extends CardTestPlayerBase {
|
|||
addCard(Zone.BATTLEFIELD, playerA, "Fell Shepherd");
|
||||
|
||||
playerA.addChoice("Craw Wurm");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{B},Sacrifice another creature: Target creature gets -2/-2 until end of turn.", "Raging Goblin");
|
||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{B}, Sacrifice another creature: Target creature gets -2/-2 until end of turn.", "Raging Goblin");
|
||||
attack(3, playerA, "Fell Shepherd");
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ public class BloodchiefAscensionTest extends CardTestMultiPlayerBase {
|
|||
addCard(Zone.HAND, playerB, "Bellows Lizard", 5);
|
||||
|
||||
// Player order: A -> D -> C -> B
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerD, "{U},{T}: Each player discards");
|
||||
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerD, "{U}, {T}: Each player discards");
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class ProtectionFromTypeTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Tel-Jilad Fallen");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},Remove a charge counter from {this}, {T}: put a -1/-1 counter on target creature.", "Tel-Jilad Fallen");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, Remove a charge counter from {this}, {T}: put a -1/-1 counter on target creature.", "Tel-Jilad Fallen");
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ public class ProtectionFromTypeTest extends CardTestPlayerBase {
|
|||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Coral Merfolk");
|
||||
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},Remove a charge counter from {this}, {T}: Put a -1/-1 counter on target creature.", "Coral Merfolk");
|
||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, Remove a charge counter from {this}, {T}: Put a -1/-1 counter on target creature.", "Coral Merfolk");
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ public class ManaOptionsTest extends CardTestPlayerBase {
|
|||
|
||||
Assert.assertEquals("mana variations don't fit", 4, manaOptions.size());
|
||||
Assert.assertEquals("{G}{G}{G}", getManaOption(0, manaOptions));
|
||||
Assert.assertEquals("{R}{G}{G}{W}", getManaOption(1, manaOptions));
|
||||
Assert.assertEquals("{R}{R}{G}{W}{W}", getManaOption(2, manaOptions));
|
||||
Assert.assertEquals("{R}{R}{R}{W}{W}{W}", getManaOption(3, manaOptions));
|
||||
Assert.assertEquals("{W}{R}{G}{G}", getManaOption(1, manaOptions));
|
||||
Assert.assertEquals("{W}{W}{R}{R}{G}", getManaOption(2, manaOptions));
|
||||
Assert.assertEquals("{W}{W}{W}{R}{R}{R}", getManaOption(3, manaOptions));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -95,11 +95,11 @@ public class ManaOptionsTest extends CardTestPlayerBase {
|
|||
Assert.assertEquals("{C}{C}{W}", getManaOption(1, manaOptions));
|
||||
Assert.assertEquals("{C}{C}{U}", getManaOption(2, manaOptions));
|
||||
Assert.assertEquals("{C}{W}{W}", getManaOption(3, manaOptions));
|
||||
Assert.assertEquals("{C}{U}{W}", getManaOption(4, manaOptions));
|
||||
Assert.assertEquals("{C}{W}{U}", getManaOption(4, manaOptions));
|
||||
Assert.assertEquals("{C}{U}{U}", getManaOption(5, manaOptions));
|
||||
Assert.assertEquals("{W}{W}{W}", getManaOption(6, manaOptions));
|
||||
Assert.assertEquals("{U}{W}{W}", getManaOption(7, manaOptions));
|
||||
Assert.assertEquals("{U}{U}{W}", getManaOption(8, manaOptions));
|
||||
Assert.assertEquals("{W}{W}{U}", getManaOption(7, manaOptions));
|
||||
Assert.assertEquals("{W}{U}{U}", getManaOption(8, manaOptions));
|
||||
Assert.assertEquals("{U}{U}{U}", getManaOption(9, manaOptions));
|
||||
}
|
||||
|
||||
|
|
@ -151,7 +151,7 @@ public class ManaOptionsTest extends CardTestPlayerBase {
|
|||
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
|
||||
|
||||
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
|
||||
Assert.assertEquals("{C}{G}{G}{W}{W}", getManaOption(0, manaOptions));
|
||||
Assert.assertEquals("{C}{W}{W}{G}{G}", getManaOption(0, manaOptions));
|
||||
}
|
||||
|
||||
// Crystal Quarry
|
||||
|
|
@ -169,8 +169,8 @@ public class ManaOptionsTest extends CardTestPlayerBase {
|
|||
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
|
||||
|
||||
Assert.assertEquals("mana variations don't fit", 2, manaOptions.size());
|
||||
Assert.assertEquals("{C}{G}{G}{G}{W}{W}", getManaOption(0, manaOptions));
|
||||
Assert.assertEquals("{R}{G}{U}{W}{B}", getManaOption(1, manaOptions));
|
||||
Assert.assertEquals("{C}{W}{W}{G}{G}{G}", getManaOption(0, manaOptions));
|
||||
Assert.assertEquals("{W}{U}{B}{R}{G}", getManaOption(1, manaOptions));
|
||||
}
|
||||
|
||||
// Nykthos, Shrine to Nyx
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue