remove redundant OnOpponentsTurnCondition

This commit is contained in:
theelk801 2025-05-23 07:05:05 -04:00 committed by Failure
parent 535f932ee3
commit 186b968ce9
9 changed files with 16 additions and 40 deletions

View file

@ -2,7 +2,7 @@ package mage.cards.d;
import mage.abilities.Ability;
import mage.abilities.common.CastOnlyIfConditionIsTrueAbility;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.PreventDamageByTargetEffect;
import mage.abilities.effects.common.PreventDamageToTargetEffect;
@ -37,7 +37,7 @@ public final class Delirium extends CardImpl {
// Cast this spell only during an opponents turn.
this.addAbility(new CastOnlyIfConditionIsTrueAbility(OnOpponentsTurnCondition.instance, "Cast this spell only during an opponent's turn."));
this.addAbility(new CastOnlyIfConditionIsTrueAbility(OpponentsTurnCondition.instance, "Cast this spell only during an opponent's turn."));
// Tap target creature that player controls. That creature deals damage equal to its power to the player. Prevent all combat damage that would be dealt to and dealt by the creature this turn.
this.getSpellAbility().addEffect(new TapTargetEffect("tap target creature that player controls"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));

View file

@ -3,7 +3,7 @@ package mage.cards.f;
import java.util.UUID;
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.common.combat.CantAttackAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@ -22,7 +22,7 @@ public final class Festival extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}");
// Cast Festival only during an opponent's upkeep.
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, PhaseStep.UPKEEP, OnOpponentsTurnCondition.instance,
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, PhaseStep.UPKEEP, OpponentsTurnCondition.instance,
"Cast this spell only during an opponent's upkeep"));
// Creatures can't attack this turn.

View file

@ -7,7 +7,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.decorator.ConditionalAsThoughEffect;
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect;
import mage.constants.Duration;
@ -42,7 +42,7 @@ public final class FinalWordPhantom extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// During each opponent's end step, you may cast spells as though they had flash.
Condition condition = new CompoundCondition(OnOpponentsTurnCondition.instance, new IsStepCondition(PhaseStep.END_TURN, false));
Condition condition = new CompoundCondition(OpponentsTurnCondition.instance, new IsStepCondition(PhaseStep.END_TURN, false));
this.addAbility(new SimpleStaticAbility(
new ConditionalAsThoughEffect(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter), condition)
.setText("during each opponent's end step, you may cast spells as though they had flash")));

View file

@ -2,7 +2,7 @@ package mage.cards.i;
import mage.abilities.Ability;
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.RequirementEffect;
@ -28,7 +28,7 @@ public final class IllusionistsGambit extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{U}");
// Cast Illusionist's Gambit only during the declare blockers step on an opponent's turn.
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(PhaseStep.DECLARE_BLOCKERS, OnOpponentsTurnCondition.instance));
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(PhaseStep.DECLARE_BLOCKERS, OpponentsTurnCondition.instance));
// Remove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or a planeswalker you control that combat.
this.getSpellAbility().addEffect(new IllusionistsGambitRemoveFromCombatEffect());

View file

@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.common.AfterUpkeepStepCondtion;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.common.UntapAllLandsControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@ -21,7 +21,7 @@ public final class Reset extends CardImpl {
// Cast Reset only during an opponent's turn after their upkeep step.
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, null,
new CompoundCondition(OnOpponentsTurnCondition.instance, AfterUpkeepStepCondtion.instance),
new CompoundCondition(OpponentsTurnCondition.instance, AfterUpkeepStepCondtion.instance),
"Cast this spell only during an opponent's turn after their upkeep step"));
// Untap all lands you control.

View file

@ -8,7 +8,7 @@ import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.common.BeforeAttackersAreDeclaredCondition;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.RequirementEffect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
@ -34,7 +34,7 @@ public final class SirensCall extends CardImpl {
// Cast Siren's Call only during an opponent's turn, before attackers are declared.
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, null,
new CompoundCondition(OnOpponentsTurnCondition.instance, BeforeAttackersAreDeclaredCondition.instance),
new CompoundCondition(OpponentsTurnCondition.instance, BeforeAttackersAreDeclaredCondition.instance),
"Cast this spell only during an opponent's turn, before attackers are declared"));
// Creatures the active player controls attack this turn if able.

View file

@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.effects.common.UntapTargetEffect;
@ -46,7 +46,7 @@ public final class TradeCaravan extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CURRENCY.createInstance())));
// Remove two currency counters from Trade Caravan: Untap target basic land. Activate this ability only during an opponent's upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new RemoveCountersSourceCost(CounterType.CURRENCY.createInstance(2)),
new CompoundCondition(OnOpponentsTurnCondition.instance, new IsStepCondition(PhaseStep.UPKEEP, false)),
new CompoundCondition(OpponentsTurnCondition.instance, new IsStepCondition(PhaseStep.UPKEEP, false)),
"Remove two currency counters from {this}: Untap target basic land. Activate only during an opponent's upkeep.");
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);

View file

@ -5,7 +5,7 @@ import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.condition.common.OpponentsTurnCondition;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.SacrificeTargetEffect;
@ -38,7 +38,7 @@ public final class WakeTheDead extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{B}{B}");
// Cast Wake the Dead only during combat on an opponent's turn.
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(TurnPhase.COMBAT, OnOpponentsTurnCondition.instance));
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(TurnPhase.COMBAT, OpponentsTurnCondition.instance));
// Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.
this.getSpellAbility().addEffect(new WakeTheDeadReturnFromGraveyardToBattlefieldTargetEffect());

View file

@ -1,24 +0,0 @@
package mage.abilities.condition.common;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.game.Game;
/**
*
* @author LevelX2
*/
public enum OnOpponentsTurnCondition implements Condition {
instance;
@Override
public boolean apply(Game game, Ability source) {
return game.getOpponents(source.getControllerId()).contains(game.getActivePlayerId());
}
@Override
public String toString() {
return "on an opponent's turn";
}
}