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();
}
}