From 06e77bd7d691e2b6e55a29738276393ff372f674 Mon Sep 17 00:00:00 2001 From: dilnu Date: Sat, 1 Feb 2020 17:30:30 -0500 Subject: [PATCH] Allow players to block creatures attacking destroyed planeswalkers. See Comprehensive rules: 506.4c Fixes https://github.com/magefree/mage/issues/6240 --- .../test/combat/AttackPlaneswalkerTest.java | 25 +++++++++++++++++++ .../main/java/mage/game/combat/Combat.java | 2 ++ 2 files changed, 27 insertions(+) diff --git a/Mage.Tests/src/test/java/org/mage/test/combat/AttackPlaneswalkerTest.java b/Mage.Tests/src/test/java/org/mage/test/combat/AttackPlaneswalkerTest.java index 1d8103bf340..e2196d93a5c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/combat/AttackPlaneswalkerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/combat/AttackPlaneswalkerTest.java @@ -127,4 +127,29 @@ public class AttackPlaneswalkerTest extends CardTestPlayerBase { assertPermanentCount(playerB, "Silent Skimmer", 1); assertCounterCount("Kiora, the Crashing Wave", CounterType.LOYALTY, 2); } + + @Test + public void testAttackedPlaneswalkerDestroyed() { + addCard(Zone.BATTLEFIELD, playerA, "Kiora, the Crashing Wave"); + addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears"); + addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears"); + addCard(Zone.BATTLEFIELD, playerB, "Plains"); + addCard(Zone.BATTLEFIELD, playerB, "Swamp"); + addCard(Zone.HAND, playerB, "Despark"); + + attack(2, playerB, "Grizzly Bears", "Kiora, the Crashing Wave"); + castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerB, "Despark"); + setChoice(playerB, "Kiora, the Crashing Wave"); + block(2, playerA, "Grizzly Bears", "Grizzly Bears"); + + setStopAt(2, PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + + assertExileCount(playerA, "Kiora, the Crashing Wave", 1); + assertGraveyardCount(playerA, "Grizzly Bears", 1); + assertGraveyardCount(playerB, "Grizzly Bears", 1); + } } diff --git a/Mage/src/main/java/mage/game/combat/Combat.java b/Mage/src/main/java/mage/game/combat/Combat.java index 5037522d6a7..7f429cda997 100644 --- a/Mage/src/main/java/mage/game/combat/Combat.java +++ b/Mage/src/main/java/mage/game/combat/Combat.java @@ -1607,6 +1607,8 @@ public class Combat implements Serializable, Copyable { Permanent permanent = game.getPermanent(group.getDefenderId()); if (permanent != null) { playerDefenders.add(permanent.getControllerId()); + } else { + playerDefenders.add(group.getDefendingPlayerId()); } } else { playerDefenders.add(group.getDefenderId());