diff --git a/Mage.Sets/src/mage/cards/c/CarefulConsideration.java b/Mage.Sets/src/mage/cards/c/CarefulConsideration.java index 17f41df1874..f23ff03b5c6 100644 --- a/Mage.Sets/src/mage/cards/c/CarefulConsideration.java +++ b/Mage.Sets/src/mage/cards/c/CarefulConsideration.java @@ -2,7 +2,7 @@ package mage.cards.c; import java.util.UUID; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DrawDiscardTargetEffect; import mage.cards.CardImpl; @@ -24,7 +24,7 @@ public final class CarefulConsideration extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DrawDiscardTargetEffect(4,2), new DrawDiscardTargetEffect(4,3), - MyMainPhaseCondition.instance, + AddendumCondition.instance, "Target player draws four cards, then discards three cards. If you cast this spell during your main phase, instead that player draws four cards, then discards two cards")); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/cards/e/EmergencyPowers.java b/Mage.Sets/src/mage/cards/e/EmergencyPowers.java index c206d8450f5..652aaaf58ea 100644 --- a/Mage.Sets/src/mage/cards/e/EmergencyPowers.java +++ b/Mage.Sets/src/mage/cards/e/EmergencyPowers.java @@ -1,6 +1,6 @@ package mage.cards.e; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DrawCardAllEffect; import mage.abilities.effects.common.ExileSpellEffect; @@ -38,7 +38,7 @@ public final class EmergencyPowers extends CardImpl { // Addendum — If you cast this spell during your main phase, you may put a permanent card with converted mana cost 7 or less from your hand onto the battlefield. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new PutCardFromHandOntoBattlefieldEffect(filter), - MyMainPhaseCondition.instance, + AddendumCondition.instance, "
Addendum — " + "If you cast this spell during your main phase, " + "you may put a permanent card with converted mana cost 7 or less " + diff --git a/Mage.Sets/src/mage/cards/h/HauntingHymn.java b/Mage.Sets/src/mage/cards/h/HauntingHymn.java index a4f09875fb3..4ab5f76652f 100644 --- a/Mage.Sets/src/mage/cards/h/HauntingHymn.java +++ b/Mage.Sets/src/mage/cards/h/HauntingHymn.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; @@ -23,7 +23,7 @@ public final class HauntingHymn extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DiscardTargetEffect(4), new DiscardTargetEffect(2), - MyMainPhaseCondition.instance, + AddendumCondition.instance, "Target player discards two cards. If you cast this spell during your main phase, that player discards four cards instead")); this.getSpellAbility().addTarget(new TargetPlayer()); diff --git a/Mage.Sets/src/mage/cards/m/MightOfOldKrosa.java b/Mage.Sets/src/mage/cards/m/MightOfOldKrosa.java index fb603636a0f..ac0fe3ed0f5 100644 --- a/Mage.Sets/src/mage/cards/m/MightOfOldKrosa.java +++ b/Mage.Sets/src/mage/cards/m/MightOfOldKrosa.java @@ -3,7 +3,7 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.condition.LockedInCondition; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; @@ -25,7 +25,7 @@ public final class MightOfOldKrosa extends CardImpl { this.getSpellAbility().addEffect(new ConditionalContinuousEffect( new BoostTargetEffect(4,4, Duration.EndOfTurn), new BoostTargetEffect(2, 2, Duration.EndOfTurn), - new LockedInCondition(MyMainPhaseCondition.instance), + new LockedInCondition(AddendumCondition.instance), "Target creature gets +2/+2 until end of turn. If you cast this spell during your main phase, that creature gets +4/+4 until end of turn instead")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/cards/p/PrecognitivePerception.java b/Mage.Sets/src/mage/cards/p/PrecognitivePerception.java index eea0c0d9c4d..32f2d035519 100644 --- a/Mage.Sets/src/mage/cards/p/PrecognitivePerception.java +++ b/Mage.Sets/src/mage/cards/p/PrecognitivePerception.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -59,7 +59,7 @@ class PrecognitivePerceptionEffect extends OneShotEffect { if (controller == null) { return false; } - if (MyMainPhaseCondition.instance.apply(game, source)) { + if (AddendumCondition.instance.apply(game, source)) { controller.scry(3, source, game); } controller.drawCards(3, game); diff --git a/Mage.Sets/src/mage/cards/s/SphinxsInsight.java b/Mage.Sets/src/mage/cards/s/SphinxsInsight.java index d0c8fb18ad8..44f5a6d158a 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxsInsight.java +++ b/Mage.Sets/src/mage/cards/s/SphinxsInsight.java @@ -1,6 +1,6 @@ package mage.cards.s; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -24,7 +24,7 @@ public final class SphinxsInsight extends CardImpl { // Addendum — If you cast this spell during your main phase, you gain 2 life. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new GainLifeEffect(2), MyMainPhaseCondition.instance, + new GainLifeEffect(2), AddendumCondition.instance, "
Addendum — If you cast this spell during your main phase, you gain 2 life." )); } diff --git a/Mage.Sets/src/mage/cards/s/SulfurousBlast.java b/Mage.Sets/src/mage/cards/s/SulfurousBlast.java index cb0bab1e203..3c1d0eda7fb 100644 --- a/Mage.Sets/src/mage/cards/s/SulfurousBlast.java +++ b/Mage.Sets/src/mage/cards/s/SulfurousBlast.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.condition.common.AddendumCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; @@ -22,7 +22,7 @@ public final class SulfurousBlast extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageEverythingEffect(3), new DamageEverythingEffect(2), - MyMainPhaseCondition.instance, + AddendumCondition.instance, "Sulfurous Blast deals 2 damage to each creature and each player. If you cast this spell during your main phase, Sulfurous Blast deals 3 damage to each creature and each player instead")); } diff --git a/Mage/src/main/java/mage/abilities/condition/common/MyMainPhaseCondition.java b/Mage/src/main/java/mage/abilities/condition/common/AddendumCondition.java similarity index 55% rename from Mage/src/main/java/mage/abilities/condition/common/MyMainPhaseCondition.java rename to Mage/src/main/java/mage/abilities/condition/common/AddendumCondition.java index ae960029b08..908d7429961 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/MyMainPhaseCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/AddendumCondition.java @@ -1,26 +1,31 @@ package mage.abilities.condition.common; -import java.util.EnumSet; -import java.util.Set; - -import mage.constants.TurnPhase; import mage.abilities.Ability; import mage.abilities.condition.Condition; +import mage.constants.TurnPhase; import mage.game.Game; +import mage.game.stack.Spell; + +import java.util.EnumSet; +import java.util.Set; /** * @author LevelX2 */ -public enum MyMainPhaseCondition implements Condition { +public enum AddendumCondition implements Condition { instance; private static final Set turnPhases = EnumSet.of(TurnPhase.PRECOMBAT_MAIN, TurnPhase.POSTCOMBAT_MAIN); @Override public boolean apply(Game game, Ability source) { - return game.isActivePlayer(source.getControllerId()) && - turnPhases.contains(game.getTurn().getPhase().getType()); + if (!game.isActivePlayer(source.getControllerId()) || + !turnPhases.contains(game.getTurn().getPhase().getType())) { + return false; + } + Spell spell = game.getSpell(source.getSourceId()); + return spell != null && !spell.isCopy(); } }