mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
parent
3b6a9c0a9b
commit
5725873aeb
2 changed files with 8 additions and 9 deletions
|
|
@ -8,7 +8,6 @@ import mage.abilities.costs.Costs;
|
|||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.keyword.FlashAbility;
|
||||
import mage.abilities.mana.ManaOptions;
|
||||
import mage.cards.Card;
|
||||
import mage.constants.*;
|
||||
|
|
@ -184,11 +183,6 @@ public abstract class ActivatedAbilityImpl extends AbilityImpl implements Activa
|
|||
game);
|
||||
asInstant = approvingObject != null;
|
||||
asInstant |= (timing == TimingRule.INSTANT);
|
||||
Card card = game.getCard(getSourceId());
|
||||
if (card != null) {
|
||||
asInstant |= card.isInstant(game);
|
||||
asInstant |= card.hasAbility(FlashAbility.getInstance(), game);
|
||||
}
|
||||
if (!asInstant && !game.canPlaySorcery(playerId)) {
|
||||
return ActivationStatus.getFalse();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,8 +126,6 @@ public class SuspendAbility extends SpecialAction {
|
|||
public SuspendAbility(int suspend, ManaCost cost, Card card, boolean shortRule) {
|
||||
super(Zone.HAND);
|
||||
this.addCost(cost);
|
||||
// suspend uses both sorcery/instant timing depends on object, so it checks with object, see canActivate
|
||||
this.setTiming(TimingRule.SORCERY);
|
||||
this.addEffect(new SuspendExileEffect(suspend));
|
||||
this.usesStack = false;
|
||||
if (suspend == Integer.MAX_VALUE) {
|
||||
|
|
@ -210,7 +208,14 @@ public class SuspendAbility extends SpecialAction {
|
|||
if (game.getState().getZone(getSourceId()) != Zone.HAND) {
|
||||
return ActivationStatus.getFalse();
|
||||
}
|
||||
|
||||
// suspend uses card's timing restriction
|
||||
Card card = game.getCard(getSourceId());
|
||||
if (card == null) {
|
||||
return ActivationStatus.getFalse();
|
||||
}
|
||||
if (!card.getSpellAbility().spellCanBeActivatedRegularlyNow(playerId, game)) {
|
||||
return ActivationStatus.getFalse();
|
||||
}
|
||||
return super.canActivate(playerId, game);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue