- Stasis now uses ContinuousRuleModifiyingEffect

This commit is contained in:
Jeff 2015-02-21 13:17:37 -06:00
parent 8bf35f88c8
commit 17e796427d

View file

@ -34,7 +34,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ContinuousRuleModifiyingEffectImpl;
import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.game.Game; import mage.game.Game;
@ -71,11 +71,11 @@ public class Stasis extends CardImpl {
} }
} }
class SkipUntapStepEffect extends ReplacementEffectImpl { class SkipUntapStepEffect extends ContinuousRuleModifiyingEffectImpl {
public SkipUntapStepEffect() { public SkipUntapStepEffect() {
super(Duration.WhileOnBattlefield, Outcome.Neutral); super(Duration.WhileOnBattlefield, Outcome.Neutral, false, false);
staticText = "Players skip their untap steps"; staticText = "Players skip their uptap steps";
} }
public SkipUntapStepEffect(final SkipUntapStepEffect effect) { public SkipUntapStepEffect(final SkipUntapStepEffect effect) {
@ -87,24 +87,11 @@ class SkipUntapStepEffect extends ReplacementEffectImpl {
return new SkipUntapStepEffect(this); return new SkipUntapStepEffect(this);
} }
@Override
public boolean apply(Game game, Ability source) {
return true;
}
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
return true;
}
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.UNTAP_STEP;
}
@Override @Override
public boolean applies(GameEvent event, Ability source, Game game) { public boolean applies(GameEvent event, Ability source, Game game) {
Player controller = game.getPlayer(source.getControllerId()); Player controller = game.getPlayer(source.getControllerId());
return controller != null && controller.getInRange().contains(event.getPlayerId()); return event.getType() == GameEvent.EventType.UNTAP_STEP
&& controller != null
&& controller.getInRange().contains(event.getPlayerId());
} }
} }