From 5f7d710b5e858c01e46c7649930599dc56827696 Mon Sep 17 00:00:00 2001 From: Kranken Date: Sat, 28 May 2016 14:07:29 +0200 Subject: [PATCH] Make sure lands via hideaway respects 305.2 --- .../abilities/keywords/HideawayTest.java | 30 +++++++++++++++++++ .../effects/common/HideawayPlayEffect.java | 5 +++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/HideawayTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/HideawayTest.java index 940bd6416fd..ad61e158769 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/HideawayTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/HideawayTest.java @@ -194,4 +194,34 @@ public class HideawayTest extends CardTestPlayerBase { assertTapped("Windbrisk Heights", true); Assert.assertEquals(playerA.getLandsPlayed(), 1); } + + @Test + public void testCanPlayMoreLandsIfAble() { + addCard(Zone.HAND, playerA, "Windbrisk Heights"); + addCard(Zone.LIBRARY, playerA, "Ghost Quarter"); + addCard(Zone.HAND, playerA, "Plains"); + skipInitShuffling(); + + addCard(Zone.BATTLEFIELD, playerA, "Plains", 1); + addCard(Zone.BATTLEFIELD, playerA, "Auriok Champion", 3); + addCard(Zone.BATTLEFIELD, playerA, "Fastbond", 1); + + playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Windbrisk Heights"); + setChoice(playerA, "Ghost Quarter"); + + playLand(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Plains"); + + attack(3, playerA, "Auriok Champion"); + attack(3, playerA, "Auriok Champion"); + attack(3, playerA, "Auriok Champion"); + + activateAbility(3, PhaseStep.DECLARE_BLOCKERS, playerA, "{W},"); + + setStopAt(3, PhaseStep.END_COMBAT); + execute(); + + assertPermanentCount(playerA, "Ghost Quarter", 1); + assertTapped("Windbrisk Heights", true); + Assert.assertEquals(playerA.getLandsPlayed(), 2); + } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/HideawayPlayEffect.java b/Mage/src/main/java/mage/abilities/effects/common/HideawayPlayEffect.java index ba04b0d7d62..98eeeb1231e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/HideawayPlayEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/HideawayPlayEffect.java @@ -37,6 +37,8 @@ import mage.game.Game; import mage.players.Player; import mage.util.CardUtil; +import java.util.UUID; + /** * @author LevelX2 * @@ -75,7 +77,8 @@ public class HideawayPlayEffect extends OneShotEffect { * and you haven't already played a land that turn. This counts as your land play for the turn. */ if (card.getCardType().contains(CardType.LAND)) { - if (controller.getLandsPlayed() > 0 || !game.getActivePlayerId().equals(controller.getId())) { + UUID playerId = controller.getId(); + if (!game.getActivePlayerId().equals(playerId) || !game.getPlayer(playerId).canPlayLand()) { return false; } }