mirror of
https://github.com/magefree/mage.git
synced 2026-01-24 20:29:19 -08:00
implement Lava Burst (#14077)
Co-authored-by: Steven Knipe <knipesteven@gmail.com>
This commit is contained in:
parent
9df087ba98
commit
1c13dfc3be
5 changed files with 125 additions and 0 deletions
|
|
@ -30,6 +30,7 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase {
|
|||
setChoice(playerB, "Lightning Bolt");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, "Lightning Bolt", 1);
|
||||
|
|
@ -57,6 +58,7 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase {
|
|||
setChoice(playerA, "Craw Wurm");
|
||||
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
|
||||
// only 4 combat damage
|
||||
|
|
@ -91,6 +93,7 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lightning Bolt", "Magma Phoenix");
|
||||
|
||||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
|
||||
assertLife(playerA, 19); // 3 damage from dying Phoenix -> 2 redirected to playerB so playerA gets only 1 damage
|
||||
|
|
@ -122,6 +125,7 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase {
|
|||
setChoice(playerB, "Wild Slash");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, "Wild Slash", 1);
|
||||
|
|
@ -132,4 +136,33 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase {
|
|||
assertLife(playerB, 20);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests redirection doesn't happen vs. Lava Burst on creature, does on player
|
||||
*/
|
||||
@Test
|
||||
public void testNoRedirectLavaBurst() {
|
||||
addCard(Zone.HAND, playerB, "Harm's Way", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Plains", 2);
|
||||
addCard(Zone.HAND, playerA, "Lava Burst", 2);
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 9);
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Aegis Turtle");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Lava Burst", "Aegis Turtle");
|
||||
setChoice(playerA, "X=4");
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Harm's Way", playerA);
|
||||
setChoice(playerB, "Lava Burst");
|
||||
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Lava Burst", playerB);
|
||||
setChoice(playerA, "X=3");
|
||||
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, "Harm's Way", playerA);
|
||||
setChoice(playerB, "Lava Burst");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
setStrictChooseMode(true);
|
||||
execute();
|
||||
assertLife(playerA, 18);
|
||||
assertLife(playerB, 19);
|
||||
assertDamageReceived(playerB, "Aegis Turtle", 4);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue