- Fixed issue #3519

This commit is contained in:
Jeff 2017-07-11 08:26:33 -05:00
parent 8255fb6434
commit ee07a6ebc5
2 changed files with 13 additions and 1 deletions

View file

@ -53,4 +53,9 @@ public class ActivateAsSorceryManaAbility extends SimpleManaAbility {
public ActivateAsSorceryManaAbility copy() { public ActivateAsSorceryManaAbility copy() {
return new ActivateAsSorceryManaAbility(this); return new ActivateAsSorceryManaAbility(this);
} }
@Override
public String getRule() {
return super.getRule() + " Activate this ability only any time you could cast a sorcery.";
}
} }

View file

@ -35,6 +35,8 @@ import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.costs.Cost; import mage.abilities.costs.Cost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.ManaEffect;
import mage.constants.AbilityType; import mage.constants.AbilityType;
import mage.constants.AsThoughEffectType;
import mage.constants.TimingRule;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
@ -70,7 +72,12 @@ public abstract class ActivatedManaAbilityImpl extends ActivatedAbilityImpl impl
if (!controlsAbility(playerId, game)) { if (!controlsAbility(playerId, game)) {
return false; 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 //20091005 - 605.3a
return costs.canPay(this, sourceId, controllerId, game); return costs.canPay(this, sourceId, controllerId, game);