diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java index 1cf21241408..c365905d68c 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java @@ -299,7 +299,8 @@ public class AbilityFactoryToken extends AbilityFactory { } if ((AllZone.getPhaseHandler().isPlayerTurn(AllZone.getComputerPlayer()) || AllZone.getPhaseHandler().isBefore( Constant.Phase.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)) - && !mapParams.containsKey("ActivationPhases") && !AbilityFactory.isSorcerySpeed(sa)) { + && !mapParams.containsKey("ActivationPhases") && !AbilityFactory.isSorcerySpeed(sa) + && !haste) { return false; } if ((AllZone.getPhaseHandler().isAfter(Constant.Phase.COMBAT_BEGIN) || AllZone.getPhaseHandler().isPlayerTurn( diff --git a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java index 719db92842f..7fb76fcbe44 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java +++ b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java @@ -146,6 +146,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { if (params.containsKey("Planeswalker")) { this.setPlaneswalker(true); + this.setSorcerySpeed(true); } if (params.containsKey("IsPresent")) { @@ -325,10 +326,6 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { } if (this.isPwAbility()) { - // Planeswalker abilities can only be activated as Sorceries - if (!PhaseHandler.canCastSorcery(activator)) { - return false; - } for (final SpellAbility pwAbs : c.getAllSpellAbilities()) { // check all abilities on card that have their planeswalker