From ee07a6ebc500475e80e94be64589c6f555b2d85e Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 11 Jul 2017 08:26:33 -0500 Subject: [PATCH] - Fixed issue #3519 --- .../abilities/mana/ActivateAsSorceryManaAbility.java | 5 +++++ .../mage/abilities/mana/ActivatedManaAbilityImpl.java | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Mage/src/main/java/mage/abilities/mana/ActivateAsSorceryManaAbility.java b/Mage/src/main/java/mage/abilities/mana/ActivateAsSorceryManaAbility.java index 0d24913af2..2694eabcde 100644 --- a/Mage/src/main/java/mage/abilities/mana/ActivateAsSorceryManaAbility.java +++ b/Mage/src/main/java/mage/abilities/mana/ActivateAsSorceryManaAbility.java @@ -53,4 +53,9 @@ public class ActivateAsSorceryManaAbility extends SimpleManaAbility { public ActivateAsSorceryManaAbility copy() { return new ActivateAsSorceryManaAbility(this); } + + @Override + public String getRule() { + return super.getRule() + " Activate this ability only any time you could cast a sorcery."; + } } diff --git a/Mage/src/main/java/mage/abilities/mana/ActivatedManaAbilityImpl.java b/Mage/src/main/java/mage/abilities/mana/ActivatedManaAbilityImpl.java index 2ba7a9293f..fef2dd0eb6 100644 --- a/Mage/src/main/java/mage/abilities/mana/ActivatedManaAbilityImpl.java +++ b/Mage/src/main/java/mage/abilities/mana/ActivatedManaAbilityImpl.java @@ -35,6 +35,8 @@ import mage.abilities.ActivatedAbilityImpl; import mage.abilities.costs.Cost; import mage.abilities.effects.common.ManaEffect; import mage.constants.AbilityType; +import mage.constants.AsThoughEffectType; +import mage.constants.TimingRule; import mage.constants.Zone; import mage.game.Game; @@ -70,7 +72,12 @@ public abstract class ActivatedManaAbilityImpl extends ActivatedAbilityImpl impl if (!controlsAbility(playerId, game)) { return false; } - // check if player is in the process of playing spell costs and he is no longer allowed to use activated mana abilities (e.g. becaus he started to use improvise) + if (timing == TimingRule.SORCERY + && !game.canPlaySorcery(playerId) + && !game.getContinuousEffects().asThough(sourceId, AsThoughEffectType.ACTIVATE_AS_INSTANT, this, controllerId, game)) { + return false; + } + // check if player is in the process of playing spell costs and he is no longer allowed to use activated mana abilities (e.g. because he started to use improvise) //20091005 - 605.3a return costs.canPay(this, sourceId, controllerId, game);