mirror of
https://github.com/correl/mage.git
synced 2025-03-07 20:53:18 -10:00
Make sure lands via hideaway respects 305.2
This commit is contained in:
parent
f06e6a7bbb
commit
5f7d710b5e
2 changed files with 34 additions and 1 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue