From 8f2aa095ceac970fe1df2abe1ef0570e67bcc938 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 21 Jun 2017 13:07:58 +0000 Subject: [PATCH] - Fixed casting a non-instant spell from a Play Effect not working for the human player. --- forge-gui/src/main/java/forge/player/HumanPlay.java | 8 ++++++-- .../src/main/java/forge/player/PlayerControllerHuman.java | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index 94ed9717f41..d0b89f9fe36 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -63,6 +63,10 @@ public class HumanPlay { * a {@link forge.game.spellability.SpellAbility} object. */ public final static boolean playSpellAbility(final PlayerControllerHuman controller, final Player p, SpellAbility sa) { + return playSpellAbility(controller, p, sa, false); + } + + public final static boolean playSpellAbility(final PlayerControllerHuman controller, final Player p, SpellAbility sa, boolean fromPlayEffect) { FThreads.assertExecutedByEdt(false); if (sa == controller.getGame().PLAY_LAND_SURROGATE) { @@ -82,8 +86,8 @@ public class HumanPlay { return false; } - // extra play check - if (!sa.canPlay()) { + // extra play check (unless the card is cast from a play effect) + if (!(fromPlayEffect || sa.canPlay())) { return false; } diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 0d33f3278d1..32d74e7b768 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1506,7 +1506,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont @Override public boolean playSaFromPlayEffect(final SpellAbility tgtSA) { - return HumanPlay.playSpellAbility(this, player, tgtSA); + return HumanPlay.playSpellAbility(this, player, tgtSA, true); } @Override