mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
reinstated new mill wording
This commit is contained in:
parent
0dddfe3989
commit
36b31d097e
3 changed files with 18 additions and 19 deletions
|
@ -28,7 +28,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
public void testCopySimpleCreature() {
|
public void testCopySimpleCreature() {
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
||||||
// Codex Shredder - Artifact
|
// Codex Shredder - Artifact
|
||||||
// {T}: Target player puts the top card of their library into their graveyard.
|
// {T}: Target player mills a card.
|
||||||
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
||||||
|
|
||||||
|
@ -36,11 +36,10 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.LIBRARY, playerB, "Assault Griffin", 5);
|
addCard(Zone.LIBRARY, playerB, "Assault Griffin", 5);
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
setStopAt(1, PhaseStep.END_TURN);
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
execute();
|
execute();
|
||||||
assertAllCommandsUsed();
|
|
||||||
|
|
||||||
assertPermanentCount(playerA, "Lazav, Dimir Mastermind", 1);
|
assertPermanentCount(playerA, "Lazav, Dimir Mastermind", 1);
|
||||||
assertPowerToughness(playerA, "Lazav, Dimir Mastermind", 3, 2);
|
assertPowerToughness(playerA, "Lazav, Dimir Mastermind", 3, 2);
|
||||||
|
@ -64,7 +63,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.LIBRARY, playerB, "Ogre Slumlord", 5);
|
addCard(Zone.LIBRARY, playerB, "Ogre Slumlord", 5);
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
setStopAt(1, PhaseStep.END_TURN);
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
execute();
|
execute();
|
||||||
|
@ -98,7 +97,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.LIBRARY, playerB, "Nightveil Specter", 1);
|
addCard(Zone.LIBRARY, playerB, "Nightveil Specter", 1);
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
attack(3, playerA, "Lazav, Dimir Mastermind");
|
attack(3, playerA, "Lazav, Dimir Mastermind");
|
||||||
|
|
||||||
|
@ -130,10 +129,10 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
// Lazav becomes a Nightveil Specter
|
// Lazav becomes a Nightveil Specter
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
// Lazav becomes a Silvercoat Lion
|
// Lazav becomes a Silvercoat Lion
|
||||||
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(3, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
setStopAt(3, PhaseStep.END_TURN);
|
setStopAt(3, PhaseStep.END_TURN);
|
||||||
execute();
|
execute();
|
||||||
|
@ -157,7 +156,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.HAND, playerA, "Reanimate");
|
addCard(Zone.HAND, playerA, "Reanimate");
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
||||||
// Codex Shredder - Artifact
|
// Codex Shredder - Artifact
|
||||||
// {T}: Target player puts the top card of their library into their graveyard.
|
// {T}: Target player mills a card.
|
||||||
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
||||||
|
|
||||||
|
@ -169,7 +168,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Tribute to Hunger");
|
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Tribute to Hunger");
|
||||||
|
|
||||||
|
@ -190,6 +189,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
Assert.assertFalse(lazav.getSubtype(currentGame).contains(SubType.GRIFFIN)); // no Griffin type
|
Assert.assertFalse(lazav.getSubtype(currentGame).contains(SubType.GRIFFIN)); // no Griffin type
|
||||||
Assert.assertFalse("Lazav, Dimir Mastermind must have flying", lazav.getAbilities().contains(FlyingAbility.getInstance()));
|
Assert.assertFalse("Lazav, Dimir Mastermind must have flying", lazav.getAbilities().contains(FlyingAbility.getInstance()));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -199,7 +199,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
public void testCopyCreatureExiled() {
|
public void testCopyCreatureExiled() {
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Lazav, Dimir Mastermind", 1);
|
||||||
// Codex Shredder - Artifact
|
// Codex Shredder - Artifact
|
||||||
// {T}: Target player puts the top card of their library into their graveyard.
|
// {T}: Target player mills a card.
|
||||||
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ public class LazavDimirMastermindTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.LIBRARY, playerB, "Assault Griffin", 5);
|
addCard(Zone.LIBRARY, playerB, "Assault Griffin", 5);
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card", playerB);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerB);
|
||||||
|
|
||||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rest in Peace");
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rest in Peace");
|
||||||
|
|
||||||
|
|
|
@ -15,12 +15,11 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Volrath's Shapeshifter
|
* Volrath's Shapeshifter
|
||||||
*
|
* <p>
|
||||||
* As long as the top card of your graveyard is a creature card, Volrath's
|
* As long as the top card of your graveyard is a creature card, Volrath's
|
||||||
* Shapeshifter has the full text of that card and has the text "2: Discard a
|
* Shapeshifter has the full text of that card and has the text "2: Discard a
|
||||||
* card." (Volrath's Shapeshifter has that card's name, mana cost, color, types,
|
* card." (Volrath's Shapeshifter has that card's name, mana cost, color, types,
|
||||||
* abilities, power, and toughness.)
|
* abilities, power, and toughness.)
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class VolrathsShapshifterTest extends CardTestPlayerBase {
|
public class VolrathsShapshifterTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
@ -58,7 +57,7 @@ public class VolrathsShapshifterTest extends CardTestPlayerBase {
|
||||||
public void testLosingCopy() {
|
public void testLosingCopy() {
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Volrath's Shapeshifter", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Volrath's Shapeshifter", 1);
|
||||||
// Codex Shredder - Artifact
|
// Codex Shredder - Artifact
|
||||||
// {T}: {T}: Target player puts the top card of their library into their graveyard.
|
// {T}: Target player mills a card.
|
||||||
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
// {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand.
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
addCard(Zone.BATTLEFIELD, playerA, "Codex Shredder", 1);
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ public class VolrathsShapshifterTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.LIBRARY, playerA, "Forest", 1);
|
addCard(Zone.LIBRARY, playerA, "Forest", 1);
|
||||||
skipInitShuffling();
|
skipInitShuffling();
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player puts the top card of their library into their graveyard.", playerA);
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target player mills a card.", playerA);
|
||||||
|
|
||||||
setStopAt(1, PhaseStep.END_TURN);
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
setStrictChooseMode(true);
|
setStrictChooseMode(true);
|
||||||
|
|
|
@ -64,16 +64,16 @@ public class PutLibraryIntoGraveTargetEffect extends OneShotEffect {
|
||||||
} else {
|
} else {
|
||||||
sb.append("that target");
|
sb.append("that target");
|
||||||
}
|
}
|
||||||
sb.append(" puts the top ");
|
|
||||||
|
sb.append(" mills ");
|
||||||
if (message.isEmpty()) {
|
if (message.isEmpty()) {
|
||||||
if (amount.toString().equals("1")) {
|
if (amount.toString().equals("1")) {
|
||||||
sb.append("card");
|
sb.append("a card");
|
||||||
} else {
|
} else {
|
||||||
sb.append(CardUtil.numberToText(amount.toString())).append(" cards");
|
sb.append(CardUtil.numberToText(amount.toString())).append(" cards");
|
||||||
}
|
}
|
||||||
sb.append(" of their library into their graveyard");
|
|
||||||
} else {
|
} else {
|
||||||
sb.append(" X cards, where X is the number of ");
|
sb.append("X cards, where X is the number of ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isEmpty()) {
|
if (!message.isEmpty()) {
|
||||||
|
|
Loading…
Reference in a new issue