Changed rule text from "put token onto the battlefield" to "create token".

This commit is contained in:
LevelX2 2016-10-29 23:42:19 +02:00
parent ecc012c9f6
commit 70126988c5
792 changed files with 1563 additions and 1600 deletions

View file

@ -2,8 +2,6 @@ package org.mage.test.cards.abilities.enters;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.game.permanent.Permanent;
import org.junit.Assert;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
@ -22,26 +20,27 @@ public class DearlyDepartedTest extends CardTestPlayerBase {
// As long as Dearly Departed is in your graveyard, each Human creature you control enters the battlefield with an additional +1/+1 counter on it.
addCard(Zone.GRAVEYARD, playerA, "Dearly Departed");
/**
* Thraben Doomsayer
* Creature Human Cleric 2/2, 1WW (3)
* {T}: Put a 1/1 white Human creature token onto the battlefield.
* Fateful hour As long as you have 5 or less life, other creatures you control get +2/+2.
* Thraben Doomsayer Creature Human Cleric 2/2, 1WW (3)
*
* {T}: Put a 1/1 white Human creature token onto the battlefield.
* Fateful hour As long as you have 5 or less life, other creatures
* you control get +2/+2.
*/
addCard(Zone.BATTLEFIELD, playerA, "Thraben Doomsayer");
addCard(Zone.HAND, playerA, "Thraben Doomsayer");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a 1/1 white Human creature token onto the battlefield.");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thraben Doomsayer");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Create a 1/1 white Human creature token.");
setStopAt(2, PhaseStep.BEGIN_COMBAT);
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertLife(playerA, 20);
assertLife(playerB, 20);
assertPermanentCount(playerA, "Human", 1);
assertPowerToughness(playerA, "Thraben Doomsayer", 3, 3);
assertPermanentCount(playerA, "Human", 1);
// check that the +1/+1 counter was added to the token
Permanent humanToken = getPermanent("Human", playerA.getId());
Assert.assertEquals(2, humanToken.getPower().getValue());
Assert.assertEquals(2, humanToken.getToughness().getValue());
assertPowerToughness(playerA, "Human", 2, 2);
}
}

View file

@ -136,7 +136,7 @@ public class CloudshiftTest extends CardTestPlayerBase {
@Test
public void testThatCardIsHandledAsNewInstanceAfterCloudshift() {
// Whenever another creature enters the battlefield under your control, you gain life equal to that creature's toughness.
// {1}{G}{W}, {T}: Populate. (Put a token onto the battlefield that's a copy of a creature token you control.)
// {1}{G}{W}, {T}: Populate. (Create a tokenonto the battlefield that's a copy of a creature token you control.)
addCard(Zone.BATTLEFIELD, playerA, "Trostani, Selesnya's Voice");
addCard(Zone.BATTLEFIELD, playerA, "Forest", 4);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 4);

View file

@ -192,7 +192,7 @@ public class FlashbackTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
addCard(Zone.HAND, playerA, "Snapcaster Mage", 1);
// Converge - Put a 1/1 white Kor Ally creature token onto the battlefield for each color of mana spent to cast Unified Front.
// Converge - Create a 1/1 white Kor Ally creature token for each color of mana spent to cast Unified Front.
addCard(Zone.GRAVEYARD, playerA, "Unified Front"); // {3}{W}
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {W}");

View file

@ -134,7 +134,7 @@ public class RetraceTest extends CardTestPlayerBase {
addCard(Zone.GRAVEYARD, playerA, "Swamp", 2);
addCard(Zone.HAND, playerA, "Mountain", 1);
// Put a 1/1 black and green Worm creature token onto the battlefield for each land card in your graveyard.
// Create a 1/1 black and green Worm creature token for each land card in your graveyard.
// Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Worm Harvest");

View file

@ -71,7 +71,7 @@ public class SurgeTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Lightning Bolt");
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
// Put a token onto the battlefield that's a copy of target creature you control.
// Create a tokenonto the battlefield that's a copy of target creature you control.
// Flashback {5}{U}{U}(You may cast this card from your graveyard for its flashback cost. Then exile it.)
addCard(Zone.HAND, playerB, "Cackling Counterpart");
addCard(Zone.BATTLEFIELD, playerB, "Island", 3);

View file

@ -43,7 +43,7 @@ public class BaneOfProgessTest extends CardTestPlayerBase {
// You may play land cards from your graveyard.
addCard(Zone.BATTLEFIELD, playerA, "Crucible of Worlds");
addCard(Zone.BATTLEFIELD, playerA, "Island", 6);
// Put a token onto the battlefield that's a copy of target artifact or creature.
// Create a tokenonto the battlefield that's a copy of target artifact or creature.
// Cipher (Then you may exile this spell card encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost.)
addCard(Zone.HAND, playerA, "Stolen Identity"); // {4}{U}{U}

View file

@ -47,7 +47,7 @@ public class TradingPostTest extends CardTestPlayerBase {
public void testSacrifice() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
// {1}, {T}, Discard a card: You gain 4 life.
// {1}, {T}, Pay 1 life: Put a 0/1 white Goat creature token onto the battlefield.
// {1}, {T}, Pay 1 life: Create a 0/1 white Goat creature token onto the battlefield.
// {1}, {T}, Sacrifice a creature: Return target artifact card from your graveyard to your hand.
// {1}, {T}, Sacrifice an artifact: Draw a card.
addCard(Zone.BATTLEFIELD, playerA, "Trading Post", 1);

View file

@ -43,7 +43,7 @@ public class SpellFizzlesTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
// Devoid
// Tap up to two target creatures. Those creatures don't untap during their controller's next untap step.
// Put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."
// Create a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."
addCard(Zone.HAND, playerA, "Adverse Conditions"); // {3}{U}
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 1);

View file

@ -118,7 +118,7 @@ public class SpendOtherManaTest extends CardTestPlayerBase {
// <i>Spell mastery</i> - If there are two or more instant and/or sorcery cards in your graveyard, add {B}{B}{B} to your mana pool.
addCard(Zone.HAND, playerA, "Dark Petition"); // {3}{B}{B}
// +1: Put a 0/1 green Plant creature token onto the battlefield.
// +1: Create a 0/1 green Plant creature token onto the battlefield.
// -2: Put a +1/+1 counter on each creature you control.
// -7: You gain X life and draw X cards, where X is the number of lands you control.
addCard(Zone.LIBRARY, playerA, "Nissa, Voice of Zendikar"); // {1}{G}{G}

View file

@ -6,9 +6,8 @@ import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* Angel of Jubilation
* Other nonblack creatures you control get +1/+1.
* Players can't pay life or sacrifice creatures to cast spells or activate abilities
* Angel of Jubilation Other nonblack creatures you control get +1/+1. Players
* can't pay life or sacrifice creatures to cast spells or activate abilities
*
* @author noxx
*/
@ -58,22 +57,22 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
assertPowerToughness(playerA, "Devout Chaplain", 2, 2);
assertPowerToughness(playerA, "Corpse Traders", 3, 3);
}
@Test
public void testOpponentCantSacrificeCreatures() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
addCard(Zone.BATTLEFIELD, playerB, "Nantuko Husk");
addCard(Zone.BATTLEFIELD, playerB, "Corpse Traders");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Sacrifice a creature: {this} gets +2/+2 until end of turn.");
playerB.addChoice("Corpse Traders");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPowerToughness(playerB, "Nantuko Husk", 2, 2);
assertPermanentCount(playerB, "Corpse Traders", 1);
}
@Test
public void testOpponentCanSacrificeNonCreaturePermanents() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
@ -82,36 +81,36 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Nantuko Husk");
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.");
playerB.addChoice("Food Chain");
playerA.addTarget("Angel of Jubilation");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerA, "Angel of Jubilation", 0);
assertPermanentCount(playerB, "Food Chain", 0);
}
@Test
public void testOpponentCantSacrificeCreaturesAsPartOfPermanentsOptions() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
addCard(Zone.BATTLEFIELD, playerB, "Barrin, Master Wizard");
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.");
playerB.addChoice("Nantuko Husk");
playerA.addTarget("Angel of Jubilation");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerA, "Angel of Jubilation", 1);
assertPermanentCount(playerB, "Nantuko Husk", 1);
}
@Test
public void testOpponentCantSacrificeAll() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
@ -119,59 +118,59 @@ public class AngelOfJubilationTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Corpse Traders");
addCard(Zone.HAND, playerB, "Soulblast");
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 6);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Soulblast", playerA);
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 20);
assertLife(playerB, 20);
assertPermanentCount(playerB, "Nantuko Husk", 1);
assertPermanentCount(playerB, "Corpse Traders", 1);
}
@Test
public void testOpponentCantSacrificeCreatureSource() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
addCard(Zone.BATTLEFIELD, playerB, "Children of Korlis");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Sacrifice {this}: You gain life equal to the life you've lost this turn.");
playerB.addChoice("Skirk Prospector");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerB, "Children of Korlis", 1);
}
@Test
public void testOpponentCanSacrificeAllLands() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
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: Put a legendary 5/5 black Demon Spirit creature token with flying named Urami onto the battlefield.");
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();
assertPermanentCount(playerB, "Swamp", 0);
}
@Test
public void testOpponentCanSacrificeNonCreatureSource() {
addCard(Zone.BATTLEFIELD, playerA, "Angel of Jubilation");
addCard(Zone.BATTLEFIELD, playerA, "Tundra");
addCard(Zone.BATTLEFIELD, playerB, "Wasteland");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerB, "{T}, Sacrifice {this}: Destroy target nonbasic land.");
playerB.addTarget("Tundra");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerA, "Tundra", 0);
assertPermanentCount(playerB, "Wasteland", 0);
}

View file

@ -50,7 +50,7 @@ public class DaxosTheReturnedTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 8);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 1);
// Whenever you cast an enchantment spell, you get an experience counter.
// {1}{W}{B}: Put a white and black Spirit enchantment creature token onto the battlefield. It has
// {1}{W}{B}: Create a white and black Spirit enchantment creature token onto the battlefield. It has
// "This creature's power and toughness are each equal to the number of experience counters you have."
addCard(Zone.BATTLEFIELD, playerA, "Daxos the Returned");

View file

@ -91,7 +91,7 @@ public class DependentEffectsTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Opalescence", 1);
addCard(Zone.BATTLEFIELD, playerA, "Island", 9);
// Kicker {5}
// Put a token that's a copy of target creature onto the battlefield. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
// Create a tokenthat's a copy of target creature onto the battlefield. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
addCard(Zone.HAND, playerA, "Rite of Replication", 1); // This token can have a cmc
// All permanents are enchantments in addition to their other types.
addCard(Zone.HAND, playerA, "Enchanted Evening"); // {3}{W/U}{W/U}

View file

@ -49,7 +49,7 @@ public class ArtisanOfFormsTest extends CardTestPlayerBase {
public void testCopyTriggeredByCracklingCounterpart() {
// Heroic - Whenever you cast a spell that targets Artisan of Forms, you may have Artisan of Forms become a copy of target creature and gain this ability.
addCard(Zone.HAND, playerA, "Artisan of Forms"); // {1}{U}
// {1}{U}{U} Put a token onto the battlefield that's a copy of target creature you control.
// {1}{U}{U} Create a tokenonto the battlefield that's a copy of target creature you control.
addCard(Zone.HAND, playerA, "Cackling Counterpart");
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
@ -88,7 +88,7 @@ public class ArtisanOfFormsTest extends CardTestPlayerBase {
// Heroic - Whenever you cast a spell that targets Artisan of Forms, you may have
// Artisan of Forms become a copy of target creature and gain this ability.
addCard(Zone.BATTLEFIELD, playerA, "Artisan of Forms");
// {1}{U}{U} Put a token onto the battlefield that's a copy of target creature you control.
// {1}{U}{U} Create a tokenonto the battlefield that's a copy of target creature you control.
addCard(Zone.HAND, playerA, "Cackling Counterpart");
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
addCard(Zone.HAND, playerA, "Eyes in the Skies");

View file

@ -84,7 +84,7 @@ public class EssenceOfTheWildtest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Plains", 2);
// Creatures you control enter the battlefield as a copy of Essence of the Wild.
addCard(Zone.BATTLEFIELD, playerA, "Essence of the Wild"); // 6/6
// Exile a creature card from your graveyard and pay its mana cost: Put a token onto the battlefield that's a copy of that card. Activate this ability only any time you could cast a sorcery.
// Exile a creature card from your graveyard and pay its mana cost: Create a tokenonto the battlefield that's a copy of that card. Activate this ability only any time you could cast a sorcery.
addCard(Zone.BATTLEFIELD, playerA, "Back from the Brink"); // Enchantment
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion");

View file

@ -35,12 +35,12 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* Test the funtions of Feldon of the Third Path - {1}{R}{R} Legendary Creature
* - Human Artificer 2/3 {2}{R}, {T} : Put a token onto the battlefield that's a
* copy of target creature card in your graveyard, except it's an artifact in
* - Human Artificer 2/3 {2}{R}, {T} : Create a tokenonto the battlefield 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.
*
*
*
* @author LevelX2
*/
public class FeldonOfTheThirdPathTest extends CardTestPlayerBase {
@ -58,7 +58,7 @@ public class FeldonOfTheThirdPathTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA,
"{2}{R},{T}: Put a token onto the battlefield 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}: Put a token onto the battlefield 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);

View file

@ -27,7 +27,6 @@
*/
package org.mage.test.cards.copy;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Assert;
@ -41,12 +40,12 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
public class HiveMindTest extends CardTestPlayerBase {
/**
* Check that opponent gets a copy of Lightning Bolt
* Check that opponent gets a copy of Lightning Bolt
*/
@Test
public void testTransform() {
public void testTransform() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
// Whenever a player casts an instant or sorcery spell, each other player copies that spell.
// Whenever a player casts an instant or sorcery spell, each other player copies that spell.
// Each of those players may choose new targets for his or her copy.
addCard(Zone.BATTLEFIELD, playerA, "Hive Mind", 1);
addCard(Zone.HAND, playerA, "Lightning Bolt", 1);
@ -60,30 +59,32 @@ public class HiveMindTest extends CardTestPlayerBase {
assertLife(playerB, 17);
assertLife(playerA, 17);
}
/**
* The Amulet Bloom deck in Modern has a few wincons, one of them being that the Bloom player
* resolves a Hive Mind, then casts a Pact. The Hive Mind copies it so the opponent also casts a Pact.
* If the opposing player has a Chalice set on ZERO, it will counter both copies which it should
* NOT DO because Hive Mind puts a copy onto the stack, not 'cast'. So while the Bloom player's
* copy is countered, the opponent will still cast and have to pay during their upkeep.
* The Amulet Bloom deck in Modern has a few wincons, one of them being that
* the Bloom player resolves a Hive Mind, then casts a Pact. The Hive Mind
* copies it so the opponent also casts a Pact. If the opposing player has a
* Chalice set on ZERO, it will counter both copies which it should NOT DO
* because Hive Mind puts a copy onto the stack, not 'cast'. So while the
* Bloom player's copy is countered, the opponent will still cast and have
* to pay during their upkeep.
*/
@Test
public void testChaliceOfTtheVoid() {
// Whenever a player casts an instant or sorcery spell, each other player copies that spell.
// Each of those players may choose new targets for his or her copy.
public void testChaliceOfTtheVoid() {
// Whenever a player casts an instant or sorcery spell, each other player copies that spell.
// Each of those players may choose new targets for his or her copy.
addCard(Zone.BATTLEFIELD, playerA, "Hive Mind", 1);
// Put a 4/4 red Giant creature token onto the battlefield.
// Create a 4/4 red Giant creature token onto the battlefield.
// At the beginning of your next upkeep, pay {4}{R}. If you don't, you lose the game.
addCard(Zone.HAND, playerA, "Pact of the Titan", 1);
// Chalice of the Void enters the battlefield with X charge counters on it.
// Whenever a player casts a spell with converted mana cost equal to the number of charge counters on Chalice of the Void, counter that spell.
addCard(Zone.BATTLEFIELD, playerB, "Chalice of the Void", 1);
setChoice(playerB, "Yes");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pact of the Titan");
setStopAt(2, PhaseStep.PRECOMBAT_MAIN);
execute();
@ -94,5 +95,5 @@ public class HiveMindTest extends CardTestPlayerBase {
Assert.assertTrue("Player B must have lost", playerB.hasLost());
assertLife(playerB, 20);
assertLife(playerA, 20);
}
}
}
}

View file

@ -49,7 +49,7 @@ public class KikiJikiMirrorBreakerTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Kiki-Jiki, Mirror Breaker", 1);
addCard(Zone.BATTLEFIELD, playerA, "Voice of Resurgence", 1);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a token that's a copy of target nonlegendary creature you control onto the battlefield. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Create a token that's a copy of target nonlegendary creature you control. That token has haste. Sacrifice it at the beginning of the next end step.");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
@ -65,7 +65,7 @@ public class KikiJikiMirrorBreakerTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Kiki-Jiki, Mirror Breaker", 1);
addCard(Zone.BATTLEFIELD, playerA, "Voice of Resurgence", 1);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a token that's a copy of target nonlegendary creature you control onto the battlefield. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Create a token that's a copy of target nonlegendary creature you control. That token has haste. Sacrifice it at the beginning of the next end step.");
setStopAt(1, PhaseStep.END_TURN);
execute();
@ -86,7 +86,7 @@ public class KikiJikiMirrorBreakerTest extends CardTestPlayerBase {
// Flamebreak deals 3 damage to each creature without flying and each player. Creatures dealt damage this way can't be regenerated this turn.
addCard(Zone.HAND, playerB, "Flamebreak");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a token that's a copy of target nonlegendary creature you control onto the battlefield. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Create a token that's a copy of target nonlegendary creature you control. That token has haste. Sacrifice it at the beginning of the next end step.");
castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Flamebreak");
setStopAt(2, PhaseStep.END_TURN);
@ -121,7 +121,7 @@ public class KikiJikiMirrorBreakerTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.UPKEEP, playerA, "Blustersquall", "Humble Defector"); // Tap nontoken Defector so only the Token can be used later
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{T}: Put a token that's a copy of target nonlegendary creature you control onto the battlefield. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{T}: Create a token that's a copy of target nonlegendary creature you control. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "{T}: Draw two cards. Target opponent gains control");
@ -163,7 +163,7 @@ public class KikiJikiMirrorBreakerTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Body Double");
setChoice(playerB, "Silvercoat Lion");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{T}: Put a token that's a copy of target nonlegendary creature you control onto the battlefield. That token has haste. Sacrifice it at the beginning of the next end step.");
activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerB, "{T}: Create a token that's a copy of target nonlegendary creature you control. That token has haste. Sacrifice it at the beginning of the next end step.");
attack(2, playerB, "Silvercoat Lion");
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);

View file

@ -51,7 +51,7 @@ public class MimicVatTest extends CardTestPlayerBase {
public void TestClone() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 6);
// Imprint - Whenever a nontoken creature dies, you may exile that card. If you do, return each other card exiled with Mimic Vat to its owner's graveyard.
// {3}, {T}: Put a token onto the battlefield that's a copy of the exiled card. It gains haste. Exile it at the beginning of the next end step.
// {3}, {T}: Create a tokenonto the battlefield that's a copy of the exiled card. It gains haste. Exile it at the beginning of the next end step.
addCard(Zone.BATTLEFIELD, playerA, "Mimic Vat", 1); // Artifact {3}
// {2}, {T}, Sacrifice a creature: Draw a card.
addCard(Zone.BATTLEFIELD, playerA, "Phyrexian Vault", 1);
@ -66,7 +66,7 @@ public class MimicVatTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}, Sacrifice a creature");
setChoice(playerA, "Yes");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}: Put a token onto the battlefield");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}: Create a token");
setChoice(playerA, "Silvercoat Lion");
setStopAt(3, PhaseStep.BEGIN_COMBAT);
@ -82,7 +82,7 @@ public class MimicVatTest extends CardTestPlayerBase {
public void TestPhyrexianMetamorph() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 6);
// Imprint - Whenever a nontoken creature dies, you may exile that card. If you do, return each other card exiled with Mimic Vat to its owner's graveyard.
// {3}, {T}: Put a token onto the battlefield that's a copy of the exiled card. It gains haste. Exile it at the beginning of the next end step.
// {3}, {T}: Create a token that's a copy of a card exiled with Mimic Vat. It gains haste. Exile it at the beginning of the next end step.
addCard(Zone.BATTLEFIELD, playerA, "Mimic Vat", 1); // Artifact {3}
// {2}, {T}, Sacrifice a creature: Draw a card.
addCard(Zone.BATTLEFIELD, playerA, "Phyrexian Vault", 1);
@ -98,7 +98,7 @@ public class MimicVatTest extends CardTestPlayerBase {
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}, Sacrifice a creature");
setChoice(playerA, "Yes");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{3},{T}: Put a token onto the battlefield");
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");

View file

@ -42,7 +42,7 @@ public class SplinterTwinTest extends CardTestPlayerBase {
public void testCopyCreature() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
// Enchant creature
// Enchanted creature has "{T}: Put a token that's a copy of this creature onto the battlefield. That token has haste. Exile it at the beginning of the next end step."
// Enchanted creature has "{T}: Create a tokenthat's a copy of this creature onto the battlefield. That token has haste. Exile it at the beginning of the next end step."
addCard(Zone.HAND, playerA, "Splinter Twin"); // {2}{R}{R}
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion");
@ -50,9 +50,9 @@ public class SplinterTwinTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Lightning Bolt");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Splinter Twin", "Silvercoat Lion");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a token");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Create a token");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion", "{T}: Put a token");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Silvercoat Lion", "{T}: Create a token");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();

View file

@ -72,7 +72,7 @@ public class CryptGhastTest extends CardTestPlayerBase {
// Whenever you tap a Swamp for mana, add {B} to your mana pool (in addition to the mana the land produces).
addCard(Zone.BATTLEFIELD, playerA, "Crypt Ghast", 1);
// Imprint - Whenever a nontoken creature dies, you may exile that card. If you do, return each other card exiled with Mimic Vat to its owner's graveyard.
// {3},{T}: Put a token onto the battlefield that's a copy of the exiled card. It gains haste. Exile it at the beginning of the next end step.
// {3},{T}: Create a tokenonto the battlefield that's a copy of the exiled card. It gains haste. Exile it at the beginning of the next end step.
addCard(Zone.BATTLEFIELD, playerA, "Mimic Vat", 1);
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
// Swamp Mountain

View file

@ -136,7 +136,7 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Simic Guildmage");
// Cackling Counterpart {1}{U}{U}
// Instant
// Put a token onto the battlefield that's a copy of target creature you control.
// Create a tokenonto the battlefield that's a copy of target creature you control.
// Flashback {5}{U}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
addCard(Zone.HAND, playerA, "Cackling Counterpart");

View file

@ -53,12 +53,12 @@ public class TamiyoTest extends CardTestPlayerBase {
/* Gideon, Ally of Zendikar {2}{W}{W} - 4 loyalty
* +1: Until end of turn, Gideon, Ally of Zendikar becomes a 5/5 Human Soldier Ally creature with indestructible
* that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
* 0: Put a 2/2 white Knight Ally creature token onto the battlefield.
* 0: Create a 2/2 white Knight Ally creature token.
**/
addCard(Zone.BATTLEFIELD, playerA, "Gideon, Ally of Zendikar", 1);
// put 2/2 knight ally token on battlefield
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+0: Put a");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+0: Create a");
// next, activate Gideon to make him a 5/5 human soldier ally creature
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Until end of turn");

View file

@ -54,7 +54,7 @@ public class UginTest extends CardTestPlayerBase {
// When Nissa, Vastwood Seer enters the battlefield, you may search your library for a basic Forest card, reveal it, put it into your hand, then shuffle your library.
// Whenever a land enters the battlefield under your control, if you control seven or more lands, exile Nissa, then return her to the battlefield transformed under her owner's control.
// +1: Reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand.
// -2: Put a legendary 4/4 green Elemental creature token named Ashaya, the Awoken World onto the battlefield.
// -2: Create a legendary 4/4 green Elemental creature token named Ashaya, the Awoken World.
// -7: Untap up to six target lands. They become 6/6 Elemental creatures. They're still lands.
addCard(Zone.HAND, playerB, "Nissa, Vastwood Seer");
@ -62,7 +62,7 @@ public class UginTest extends CardTestPlayerBase {
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Nissa, Vastwood Seer");
playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Forest");
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "-2: Put a legendary 4/4 green Elemental creature token named Ashaya, the Awoken World onto the battlefield.");
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "-2: Create a legendary 4/4 green Elemental creature token named Ashaya, the Awoken World.");
attack(3, playerA, "Silvercoat Lion");
block(3, playerB, "Ashaya, the Awoken World", "Silvercoat Lion");

View file

@ -80,7 +80,7 @@ public class DoublingSeasonTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pallid Mycoderm");
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Remove three spore counters from {this}: Put a 1/1 green Saproling creature token onto the battlefield.");
activateAbility(5, PhaseStep.PRECOMBAT_MAIN, playerA, "Remove three spore counters from {this}: Create a 1/1 green Saproling creature token.");
setStopAt(5, PhaseStep.END_TURN);
execute();
@ -117,7 +117,7 @@ public class DoublingSeasonTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Doubling Season");
addCard(Zone.BATTLEFIELD, playerA, "Island", 9);
// Put a token that's a copy of target creature onto the battlefield. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
// Create a tokenthat's a copy of target creature onto the battlefield. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
addCard(Zone.HAND, playerA, "Rite of Replication");
// When Venerable Monk enters the battlefield, you gain 2 life.
addCard(Zone.BATTLEFIELD, playerB, "Venerable Monk", 1);

View file

@ -36,17 +36,15 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
*
* @author LevelX2
*/
public class ArrestTest extends CardTestPlayerBase {
@Test
public void testArrest1() {
addCard(Zone.HAND, playerA, "Arrest");
addCard(Zone.BATTLEFIELD, playerA, "Plains", 3);
addCard(Zone.BATTLEFIELD, playerB, "Forest", 4);
// {3}{G}: Put a 1/1 green Saproling creature token onto the battlefield.
// {3}{G}: Create a 1/1 green Saproling creature token.
// {3}{W}: Creatures you control get +1/+1 until end of turn.
addCard(Zone.BATTLEFIELD, playerB, "Selesnya Guildmage");

View file

@ -10,7 +10,7 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* also tests emblems
*
*
* @author BetaSteward
*/
public class SorinLordOfInnistradTest extends CardTestPlayerBase {
@ -19,7 +19,7 @@ public class SorinLordOfInnistradTest extends CardTestPlayerBase {
public void testCard() {
addCard(Zone.BATTLEFIELD, playerA, "Sorin, Lord of Innistrad");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Put a a 1/1 black Vampire creature token with lifelink onto the battlefield.");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Create a a 1/1 black Vampire creature token with lifelink.");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
@ -52,7 +52,7 @@ public class SorinLordOfInnistradTest extends CardTestPlayerBase {
public void testCard3() {
// Sorin, Lord of Innistrad English
// Planeswalker Sorin (Loyalty: 3), 2WB
// +1: Put a 1/1 black Vampire creature token with lifelink onto the battlefield.
// +1: Create a 1/1 black Vampire creature token with lifelink.
// -2: You get an emblem with "Creatures you control get +1/+0."
// -6: Destroy up to three target creatures and/or other planeswalkers. Return each card put into a graveyard this way to the battlefield under your control.
addCard(Zone.BATTLEFIELD, playerA, "Sorin, Lord of Innistrad");
@ -73,7 +73,6 @@ public class SorinLordOfInnistradTest extends CardTestPlayerBase {
assertPermanentCount(playerA, "Craw Wurm", 1);
assertPermanentCount(playerA, "Angel of Mercy", 1);
assertLife(playerB, 20);
assertLife(playerA, 23);
assertPermanentCount(playerA, "Sorin, Lord of Innistrad", 0);

View file

@ -36,7 +36,6 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
*
* @author LevelX2
*/
public class SoulFoundryTest extends CardTestPlayerBase {
/**
@ -48,20 +47,20 @@ public class SoulFoundryTest extends CardTestPlayerBase {
public void testBloodlineKeeper() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 8);
// Imprint - When Soul Foundry enters the battlefield, you may exile a creature card from your hand.
// {X}, {T}: Put a token that's a copy of the exiled card onto the battlefield. X is the converted mana cost of that card.
// {X}, {T}: Create a tokenthat's a copy of the exiled card onto the battlefield. X is the converted mana cost of that card.
addCard(Zone.HAND, playerA, "Soul Foundry"); // {4}
addCard(Zone.HAND, playerA, "Bloodline Keeper");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Soul Foundry");
setChoice(playerA, "Yes");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},{T}: Put a token");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "{X},{T}: Create a token");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertPermanentCount(playerA, "Soul Foundry", 1);
assertExileCount("Bloodline Keeper", 1);
assertPermanentCount(playerA, "Bloodline Keeper", 1);
}
}
}

View file

@ -19,66 +19,66 @@ public class SoulSeparatorTest extends CardTestPlayerBase {
@Test
public void testBasicExileCreature() {
// Soul Separator {3} Artifact
// {5}, {T}, Sacrifice Soul Separator: Exile target creature card from your graveyard.
// Put a token onto the battlefield that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying.
// Put a black Zombie creature token onto the battlefield with power equal to that card's power and toughness equal that card's toughness.
// {5}, {T}, Sacrifice Soul Separator: Exile target creature card from your graveyard.
// Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying.
// Create a black Zombie creature token onto the battlefield with power equal to that card's power and toughness equal that card's toughness.
addCard(Zone.BATTLEFIELD, playerA, "Soul Separator");
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
addCard(Zone.GRAVEYARD, playerA, "Sylvan Advocate"); // 2/3 vigilance
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{5}");
addTarget(playerA, "Sylvan Advocate");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Soul Separator", 1);
assertExileCount("Sylvan Advocate", 1);
assertPermanentCount(playerA, "Sylvan Advocate", 1);
assertPermanentCount(playerA, "Zombie", 1);
assertPowerToughness(playerA, "Zombie", 2, 3);
Permanent saToken = getPermanent("Sylvan Advocate", playerA);
Assert.assertTrue(saToken.getAbilities().contains(FlyingAbility.getInstance()));
Assert.assertTrue(saToken.getSubtype(currentGame).contains("Spirit"));
Assert.assertTrue(saToken.getSubtype(currentGame).contains("Spirit"));
Assert.assertTrue(saToken.getAbilities().contains(VigilanceAbility.getInstance()));
assertPowerToughness(playerA, "Sylvan Advocate", 1, 1);
}
// Reported bug: Exiled Tree of Perdition with Soul Separator
// The token copy when activated reduced the opponent's life total to 13 (tree toughness) instead of 1 (1/1 token)
@Test
public void testExileTreeOfPerdition() {
// Soul Separator {3} Artifact
// {5}, {T}, Sacrifice Soul Separator: Exile target creature card from your graveyard.
// Put a token onto the battlefield that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying.
// Put a black Zombie creature token onto the battlefield with power equal to that card's power and toughness equal that card's toughness.
// {5}, {T}, Sacrifice Soul Separator: Exile target creature card from your graveyard.
// Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying.
// Create a black Zombie creature token onto the battlefield with power equal to that card's power and toughness equal that card's toughness.
addCard(Zone.BATTLEFIELD, playerA, "Soul Separator");
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
// Tree of Perdition {3}{B} Creature - Defender (0/13)
// {tap}: Exchange target opponent's life total with Tree of Perdition's toughness.
addCard(Zone.GRAVEYARD, playerA, "Tree of Perdition");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{5}");
addTarget(playerA, "Tree of Perdition");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Exchange");
addTarget(playerA, playerB);
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Soul Separator", 1);
assertExileCount("Tree of Perdition", 1);
assertPermanentCount(playerA, "Tree of Perdition", 1);
assertPermanentCount(playerA, "Zombie", 1);
assertPowerToughness(playerA, "Zombie", 0, 13);
Permanent treeToken = getPermanent("Tree of Perdition", playerA);
Assert.assertTrue(treeToken.getAbilities().contains(FlyingAbility.getInstance()));
Assert.assertTrue(treeToken.getSubtype(currentGame).contains("Spirit"));
Assert.assertTrue(treeToken.getSubtype(currentGame).contains("Spirit"));
Assert.assertTrue(treeToken.getAbilities().contains(DefenderAbility.getInstance()));
assertLife(playerA, 20);
assertLife(playerB, 1);
assertPowerToughness(playerA, "Tree of Perdition", 1, 20);

View file

@ -131,7 +131,7 @@ public class BurrentonForgeTenderTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerA, "Orzhov Charm");
// Kicker {5} (You may pay an additional as you cast this spell.)
// Put a token onto the battlefield that's a copy of target creature. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
// Create a tokenonto the battlefield that's a copy of target creature. If Rite of Replication was kicked, put five of those tokens onto the battlefield instead.
addCard(Zone.HAND, playerB, "Rite of Replication");
addCard(Zone.BATTLEFIELD, playerB, "Island", 4);

View file

@ -46,7 +46,7 @@ public class BriarbridgePatrolTest extends CardTestPlayerBase {
*/
@Test
public void dealtNonCombatDamageToCreatureInvestigate() {
// Whenever Briarbridge Patrol deals damage to one or more creatures, investigate (Put a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card.").
// Whenever Briarbridge Patrol deals damage to one or more creatures, investigate (Create a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card.").
// At the beginning of each end step, if you sacrificed three or more Clues this turn, you may put a creature card from your hand onto the battlefield.
addCard(Zone.BATTLEFIELD, playerA, "Briarbridge Patrol", 1);
addCard(Zone.BATTLEFIELD, playerB, "Wall of Roots", 1);

View file

@ -25,7 +25,7 @@ public class ThingInTheIceTest extends CardTestPlayerBase {
*/
@Test
public void testClueTokens() {
// Whenever a land enters the battlefield under your control, investigate. <i>(Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.")</i>
// Whenever a land enters the battlefield under your control, investigate. <i>(Create a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.")</i>
// Whenever you sacrifice a Clue, put a +1/+1 counter on Tireless Tracker.
addCard(Zone.BATTLEFIELD, playerA, "Tireless Tracker", 1); // Human, Scout 3/2
addCard(Zone.HAND, playerA, "Forest", 1);

View file

@ -36,15 +36,13 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
*
* @author LevelX2
*/
public class KarmicJusticeTest extends CardTestPlayerBase {
/*
Karmic Justice
Whenever a spell or ability an opponent controls destroys a noncreature permanent you control,
Whenever a spell or ability an opponent controls destroys a noncreature permanent you control,
you may destroy target permanent that opponent controls.
*/
*/
/**
* Karmic Justice should triggers for its own destroyment
*/
@ -73,8 +71,8 @@ public class KarmicJusticeTest extends CardTestPlayerBase {
*/
@Test
public void testMultiplePermanentsDestroyedTriggeredAbility() {
// At the beginning of each upkeep, if you lost life last turn, put a 1/1 white Soldier creature token onto the battlefield.
addCard(Zone.BATTLEFIELD, playerA, "First Response",2);
// At the beginning of each upkeep, if you lost life last turn, create a 1/1 white Soldier creature token.
addCard(Zone.BATTLEFIELD, playerA, "First Response", 2);
addCard(Zone.BATTLEFIELD, playerA, "Karmic Justice");
// Planar Cleansing {3}{W}{W}{W}

View file

@ -78,7 +78,7 @@ public class ReturnToHandEffectsTest extends CardTestPlayerBase {
// Whenever Stormfront Riders or another creature is returned to your hand from the battlefield, put a 1/1 white Soldier creature token onto the battlefield.
addCard(Zone.HAND, playerA, "Stormfront Riders"); // {4}{W}
// Buyback {4} (You may pay an additional {4} as you cast this spell. If you do, put this card into your hand as it resolves.)
// Put a 1/1 black Rat creature token onto the battlefield.
// Create a 1/1 black Rat creature token.
addCard(Zone.HAND, playerA, "Lab Rats"); // {B}
addCard(Zone.BATTLEFIELD, playerB, "Island", 2);

View file

@ -1,6 +1,5 @@
package org.mage.test.combat;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.counters.CounterType;
@ -74,9 +73,8 @@ public class DamageDistributionTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerB, "Drogskol Reaver");
addCard(Zone.BATTLEFIELD, playerB, "Primal Rage");
attack(2, playerB, "Drogskol Reaver");
block(2,playerA,"Darksteel Gargoyle","Drogskol Reaver");
block(2, playerA, "Darksteel Gargoyle", "Drogskol Reaver");
setStopAt(2, PhaseStep.END_TURN);
execute();
@ -91,22 +89,21 @@ public class DamageDistributionTest extends CardTestPlayerBase {
}
/**
*
*
*/
@Test
public void testDoubleStrikeTrampleVersusIndestructibleGod() {
/**
* Heliod, God of the Sun
* Legendary Enchantment Creature God 5/6, 3W
* Indestructible
* As long as your devotion to white is less than five, Heliod isn't a creature. (Each {W} in the mana costs of permanents you control counts toward your devotion to white.)
* Other creatures you control have vigilance.
* {2}{W}{W}: Put a 2/1 white Cleric enchantment creature token onto the battlefield.
* Heliod, God of the Sun Legendary Enchantment Creature God 5/6, 3W
* Indestructible As long as your devotion to white is less than five,
* Heliod isn't a creature. (Each {W} in the mana costs of permanents
* you control counts toward your devotion to white.) Other creatures
* you control have vigilance. {2}{W}{W}: Create a 2/1 white Cleric
* enchantment creature token.
*/
addCard(Zone.BATTLEFIELD, playerA, "Heliod, God of the Sun");
addCard(Zone.BATTLEFIELD, playerA, "Terra Eternal"); // only for devotion
addCard(Zone.BATTLEFIELD, playerA, "Terra Eternal"); // only for devotion
addCard(Zone.BATTLEFIELD, playerA, "Terra Eternal"); // only for devotion
/* Primeval Titan
* Creature Giant 6/6, 4GG
@ -124,10 +121,9 @@ public class DamageDistributionTest extends CardTestPlayerBase {
// Enchanted creature has double strike.
addCard(Zone.HAND, playerB, "Battle Mastery");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Battle Mastery","Primeval Titan");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Battle Mastery", "Primeval Titan");
attack(2, playerB, "Primeval Titan");
block(2,playerA,"Heliod, God of the Sun","Primeval Titan");
block(2, playerA, "Heliod, God of the Sun", "Primeval Titan");
setStopAt(2, PhaseStep.END_TURN);
execute();
@ -142,8 +138,8 @@ public class DamageDistributionTest extends CardTestPlayerBase {
assertPermanentCount(playerA, "Heliod, God of the Sun", 1);
assertPowerToughness(playerA, "Heliod, God of the Sun", 5, 6);
assertPermanentCount(playerB, "Primeval Titan", 1);
assertPowerToughness(playerB, "Primeval Titan", 6,6);
assertPowerToughness(playerB, "Primeval Titan", 6, 6);
}
/**
@ -151,24 +147,24 @@ public class DamageDistributionTest extends CardTestPlayerBase {
*/
@Test
public void testCombatDamagePhyrexianUnlife() {
addCard(Zone.HAND, playerA, "Lightning Bolt",6);
addCard(Zone.BATTLEFIELD, playerA, "Mountain",6);
addCard(Zone.HAND, playerA, "Lightning Bolt", 6);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6);
/**
* Phyrexian Unlife {2}{W}
* Enchantment
* Phyrexian Unlife {2}{W} Enchantment
*
* You don't lose the game for having 0 or less life.
* As long as you have 0 or less life, all damage is dealt to you as though its source had infect.
* You don't lose the game for having 0 or less life. As long as you
* have 0 or less life, all damage is dealt to you as though its source
* had infect.
*/
addCard(Zone.BATTLEFIELD, playerA, "Phyrexian Unlife");
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion",2);
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion", 2);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt","targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lightning Bolt", "targetPlayer=PlayerA");
attack(2, playerB, "Silvercoat Lion");
attack(2, playerB, "Silvercoat Lion");

View file

@ -70,7 +70,7 @@ public class LastKnownInformationTest extends CardTestPlayerBase {
@Test
public void testTrostaniSelesnyasVoice1() {
// Whenever another creature enters the battlefield under your control, you gain life equal to that creature's toughness.
// {1}{G}{W}, {T}: Populate. (Put a token onto the battlefield that's a copy of a creature token you control.)
// {1}{G}{W}, {T}: Populate. (Create a tokenonto the battlefield that's a copy of a creature token you control.)
addCard(Zone.BATTLEFIELD, playerA, "Trostani, Selesnya's Voice");
addCard(Zone.BATTLEFIELD, playerA, "Forest", 3);

View file

@ -100,7 +100,7 @@ public class MyriadTest extends CardTestMultiPlayerBase {
// +1: You gain 2 life.
// -1: Put a +1/+1 counter on each creature you control. Those creatures gain vigilance until end of turn.
// -6: Put a white Avatar creature token onto the battlefield. It has "This creature's power and toughness are each equal to your life total."
// -6: Create a white Avatar creature token. It has "This creature's power and toughness are each equal to your life total."
addCard(Zone.BATTLEFIELD, playerA, "Ajani Goldmane");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1:");

View file

@ -49,7 +49,7 @@ public class NewCreaturesAreRemovedTest extends CardTestPlayerBase {
@Test
public void testTamiyosJournal() {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
// At the beginning of your upkeep, investigate (Put a colorless Clue artifact token onto the battlefield with \"{2}, Sacrifice this artifact: Draw a card.\").
// At the beginning of your upkeep, investigate (Create a colorless Clue artifact token onto the battlefield with \"{2}, Sacrifice this artifact: Draw a card.\").
// {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library.
addCard(Zone.HAND, playerA, "Tamiyo's Journal"); // Artifact {5}
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion", 3);
@ -89,7 +89,7 @@ public class NewCreaturesAreRemovedTest extends CardTestPlayerBase {
@Test
public void testTamiyosJournalAndRollback() {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 5);
// At the beginning of your upkeep, investigate (Put a colorless Clue artifact token onto the battlefield with \"{2}, Sacrifice this artifact: Draw a card.\").
// At the beginning of your upkeep, investigate (Create a colorless Clue artifact token onto the battlefield with \"{2}, Sacrifice this artifact: Draw a card.\").
// {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library.
addCard(Zone.HAND, playerA, "Tamiyo's Journal"); // Artifact {5}

View file

@ -69,7 +69,7 @@ public class StateValuesTest extends CardTestPlayerBase {
@Test
public void testBriarbridgePatrol() {
// Whenever Briarbridge Patrol deals damage to one or more creatures, investigate (Put a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card.").
// Whenever Briarbridge Patrol deals damage to one or more creatures, investigate (Create a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card.").
// At the beginning of each end step, if you sacrificed three or more Clues this turn, you may put a creature card from your hand onto the battlefield.
addCard(Zone.BATTLEFIELD, playerA, "Briarbridge Patrol", 1); // 3/3

View file

@ -39,6 +39,7 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
* @author LevelX2
*/
public class ActivatedAbilityTest extends CardTestPlayerBase {
/**
* Check that activated ability of created token works
*/
@ -49,14 +50,14 @@ public class ActivatedAbilityTest extends CardTestPlayerBase {
addCard(Zone.BATTLEFIELD, playerA, "Omnath, Locus of Mana", 1);
addCard(Zone.BATTLEFIELD, playerA, "Freyalise, Llanowar's Fury");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Put a 1/1 green Elf Druid creature token with \"{t}: Add {G} to your mana pool.\" onto the battlefield.");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Put a 1/1 green Elf Druid creature token with \"{t}: Add {G} to your mana pool.\" onto the battlefield.");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Create a 1/1 green Elf Druid creature token with \"{T}: Add {G} to your mana pool.\"");
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "+2: Create a 1/1 green Elf Druid creature token with \"{T}: Add {G} to your mana pool.\"");
activateManaAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Add {G} to your mana pool.");
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute();
assertPermanentCount(playerA, "Elf Druid", 2);
assertPermanentCount(playerA, "Freyalise, Llanowar's Fury", 1);
Assert.assertEquals("one green mana has to be in the mana pool",1,playerA.getManaPool().get(ManaType.GREEN));
Assert.assertEquals("one green mana has to be in the mana pool", 1, playerA.getManaPool().get(ManaType.GREEN));
}
}