* Fixed problems with LockedInCondition() that did not work as intended if spells were reused because conditions have no deep copy.

This commit is contained in:
LevelX2 2014-08-30 00:46:29 +02:00
parent c1fd249c97
commit fbc2a7258f
36 changed files with 309 additions and 219 deletions

View file

@ -78,4 +78,51 @@ public class TragicSlipTest extends CardTestPlayerBase {
assertPermanentCount(playerA, "Silvercoat Lion", 0);
assertPermanentCount(playerA, "Pillarfield Ox", 0);
}
/*
Killed an opponent's Young Pyromancer with Ulcerate then flashed back Tragic Slip with Snapcaster Mage targeting his Tarmogoyf.
Morbid didn't seem to work and only applied -1/-1 to the Tarmogoyf.
*/
@Test
public void testPlayedWithFlashbackAgain() {
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
addCard(Zone.BATTLEFIELD, playerA, "Island", 2);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2);
// Tragic Slip - Instant, B - Target creature gets -1/-1 until end of turn.
// Morbid That creature gets -13/-13 until end of turn instead if a creature died this turn.
addCard(Zone.HAND, playerA, "Tragic Slip");
// Creature - Human Wizard
// 2/1
// Flash
// When Snapcaster Mage enters the battlefield, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.
addCard(Zone.HAND, playerA, "Snapcaster Mage");
addCard(Zone.HAND, playerA, "Lightning Bolt");
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");
// Tarmogoyf's power is equal to the number of card types among cards in all graveyards and its toughness is equal to that number plus 1
addCard(Zone.BATTLEFIELD, playerB, "Tarmogoyf");
addCard(Zone.GRAVEYARD, playerB, "Mountain");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tragic Slip", "Silvercoat Lion");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Snapcaster Mage");
setChoice(playerA, "Tragic Slip");
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", "Snapcaster Mage");
activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Flashback {B}"); // now snapcaster mage is died so -13/-13
addTarget(playerA, "Tarmogoyf");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertHandCount(playerA, "Tragic Slip", 0);
assertPermanentCount(playerA, "Snapcaster Mage", 0);
assertExileCount("Tragic Slip", 1);
assertPermanentCount(playerB, "Silvercoat Lion", 1);
assertPowerToughness(playerB, "Silvercoat Lion", 1,1);
assertGraveyardCount(playerB, "Tarmogoyf", 1);
}
}