diff --git a/Mage.Sets/src/mage/cards/e/ElspethUndauntedHero.java b/Mage.Sets/src/mage/cards/e/ElspethUndauntedHero.java
index 56c59b9b83b..f0fe91c3c20 100644
--- a/Mage.Sets/src/mage/cards/e/ElspethUndauntedHero.java
+++ b/Mage.Sets/src/mage/cards/e/ElspethUndauntedHero.java
@@ -3,7 +3,6 @@ package mage.cards.e;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@@ -13,7 +12,10 @@ import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.constants.*;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.SubType;
+import mage.constants.SuperType;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
@@ -33,8 +35,6 @@ public final class ElspethUndauntedHero extends CardImpl {
filter.add(new NamePredicate("Sunlit Hoplite"));
}
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.W);
-
public ElspethUndauntedHero(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}{W}");
@@ -56,9 +56,9 @@ public final class ElspethUndauntedHero extends CardImpl {
StaticFilters.FILTER_PERMANENT_CREATURES
).setText("Until end of turn, creatures you control gain flying"), -8);
ability.addEffect(new BoostControlledEffect(
- xValue, xValue, Duration.EndOfTurn
+ DevotionCount.W, DevotionCount.W, Duration.EndOfTurn
).setText("and get +X/+X, where X is your devotion to white"));
- ability.addHint(new ValueHint("Devotion to white", xValue));
+ ability.addHint(new ValueHint("Devotion to white", DevotionCount.W));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
index 9bfa8d8b1b1..00b451c561a 100644
--- a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
+++ b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
@@ -6,7 +6,6 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@@ -27,8 +26,6 @@ import java.util.UUID;
*/
public final class EpharaGodOfThePolis extends CardImpl {
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.W, ColoredManaSymbol.U);
-
public EpharaGodOfThePolis(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{W}{U}");
this.addSuperType(SuperType.LEGENDARY);
@@ -41,19 +38,21 @@ public final class EpharaGodOfThePolis extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// As long as your devotion to white and blue is less than seven, Ephara isn't a creature.
- Effect effect = new LoseCreatureTypeSourceEffect(xValue, 7);
- effect.setText("As long as your devotion to white and blue is less than seven, Ephara isn't a creature");
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to white and blue", xValue)));
+ Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.WU, 7);
+ effect.setText("As long as your devotion to white and blue is less than seven, {this} isn't a creature");
+ this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to white and blue", DevotionCount.WU)));
// At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
- new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), TargetController.ANY, false, false),
- HadAnotherCreatureEnterTheBattlefieldCondition.instance,
- "At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card."),
- new PermanentsEnteredBattlefieldWatcher());
+ new BeginningOfUpkeepTriggeredAbility(
+ Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
+ TargetController.ANY, false, false
+ ), EpharaGodOfThePolisCondition.instance, "At the beginning of each upkeep, " +
+ "if you had another creature enter the battlefield under your control last turn, draw a card."
+ ), new PermanentsEnteredBattlefieldWatcher());
}
- public EpharaGodOfThePolis(final EpharaGodOfThePolis card) {
+ private EpharaGodOfThePolis(final EpharaGodOfThePolis card) {
super(card);
}
@@ -63,11 +62,10 @@ public final class EpharaGodOfThePolis extends CardImpl {
}
}
-enum HadAnotherCreatureEnterTheBattlefieldCondition implements Condition {
+enum EpharaGodOfThePolisCondition implements Condition {
instance;
-
@Override
public boolean apply(Game game, Ability source) {
Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(source.getSourceId());
diff --git a/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java b/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java
index 70ea3e55005..c218b700ac0 100644
--- a/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java
+++ b/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java
@@ -6,7 +6,6 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@@ -25,8 +24,6 @@ import java.util.UUID;
*/
public final class ErebosGodOfTheDead extends CardImpl {
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.B);
-
public ErebosGodOfTheDead(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{B}");
addSuperType(SuperType.LEGENDARY);
@@ -39,27 +36,25 @@ public final class ErebosGodOfTheDead extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// As long as your devotion to black is less than five, Erebos isn't a creature.
- Effect effect = new LoseCreatureTypeSourceEffect(xValue, 5);
- effect.setText("As long as your devotion to black is less than five, Erebos isn't a creature.(Each {B} in the mana costs of permanents you control counts towards your devotion to black.)");
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to black", xValue)));
+ Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.B, 5);
+ effect.setText("As long as your devotion to black is less than five, {this} isn't a creature.");
+ this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to black", DevotionCount.B)));
// Your opponents can't gain life.
this.addAbility(new SimpleStaticAbility(
- Zone.BATTLEFIELD,
- new CantGainLifeAllEffect(
- Duration.WhileOnBattlefield,
- TargetController.OPPONENT
- )
+ new CantGainLifeAllEffect(Duration.WhileOnBattlefield, TargetController.OPPONENT)
));
// {1}{B}, Pay 2 life: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}")
+ );
ability.addCost(new PayLifeCost(2));
this.addAbility(ability);
}
- public ErebosGodOfTheDead(final ErebosGodOfTheDead card) {
+ private ErebosGodOfTheDead(final ErebosGodOfTheDead card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java b/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java
index c875465a192..3041f00b6bb 100644
--- a/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java
+++ b/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java
@@ -2,14 +2,12 @@ package mage.cards.e;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.ColoredManaSymbol;
import mage.constants.SubType;
import mage.game.permanent.token.SoldierToken;
@@ -20,8 +18,6 @@ import java.util.UUID;
*/
public final class EvangelOfHeliod extends CardImpl {
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.W);
-
public EvangelOfHeliod(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}");
this.subtype.add(SubType.HUMAN);
@@ -31,8 +27,8 @@ public final class EvangelOfHeliod extends CardImpl {
this.toughness = new MageInt(3);
// When Evangel of Heliod enters the battlefield, create a number of 1/1 white Soldier creature tokens equal to your devotion to white.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SoldierToken(), xValue))
- .addHint(new ValueHint("Devotion to white", xValue)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SoldierToken(), DevotionCount.W))
+ .addHint(new ValueHint("Devotion to white", DevotionCount.W)));
}
public EvangelOfHeliod(final EvangelOfHeliod card) {
diff --git a/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java b/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java
index f6943e99f15..df8ed0fb0e9 100644
--- a/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java
+++ b/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java
@@ -2,14 +2,16 @@ package mage.cards.f;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.constants.*;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.SubType;
+import mage.constants.TargetController;
import java.util.UUID;
@@ -18,8 +20,6 @@ import java.util.UUID;
*/
public final class FanaticOfMogis extends CardImpl {
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.R);
-
public FanaticOfMogis(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
this.subtype.add(SubType.MINOTAUR);
@@ -29,12 +29,12 @@ public final class FanaticOfMogis extends CardImpl {
this.toughness = new MageInt(2);
// When Fanatic of Mogis enters the battlefield, it deals damage to each opponent equal to your devotion to red.
- Effect effect = new DamagePlayersEffect(Outcome.Damage, xValue, TargetController.OPPONENT);
+ Effect effect = new DamagePlayersEffect(Outcome.Damage, DevotionCount.R, TargetController.OPPONENT);
effect.setText("it deals damage to each opponent equal to your devotion to red. (Each {R} in the mana costs of permanents you control counts towards your devotion to red.)");
- this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false).addHint(new ValueHint("Devotion to red", xValue)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false).addHint(new ValueHint("Devotion to red", DevotionCount.R)));
}
- public FanaticOfMogis(final FanaticOfMogis card) {
+ private FanaticOfMogis(final FanaticOfMogis card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java b/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java
index d0495b92f97..9b9766249b2 100644
--- a/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java
+++ b/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java
@@ -3,19 +3,18 @@ package mage.cards.g;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.ColoredManaSymbol;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.Game;
import mage.players.Player;
+import java.util.Objects;
import java.util.UUID;
/**
@@ -31,13 +30,11 @@ public final class GrayMerchantOfAsphodel extends CardImpl {
this.toughness = new MageInt(4);
// When Gray Merchant of Asphodel enters the battlefield, each opponent loses X life, where X is your devotion to black. You gain life equal to the life lost this way.
- this.addAbility(new EntersBattlefieldTriggeredAbility(
- new GrayMerchantOfAsphodelEffect(),
- false)
- .addHint(new ValueHint("Devotion to black", GrayMerchantOfAsphodelEffect.xValue)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new GrayMerchantOfAsphodelEffect(), false)
+ .addHint(new ValueHint("Devotion to black", DevotionCount.B)));
}
- public GrayMerchantOfAsphodel(final GrayMerchantOfAsphodel card) {
+ private GrayMerchantOfAsphodel(final GrayMerchantOfAsphodel card) {
super(card);
}
@@ -49,9 +46,7 @@ public final class GrayMerchantOfAsphodel extends CardImpl {
class GrayMerchantOfAsphodelEffect extends OneShotEffect {
- static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.B);
-
- public GrayMerchantOfAsphodelEffect() {
+ GrayMerchantOfAsphodelEffect() {
super(Outcome.GainLife);
this.staticText = "each opponent loses X life, where X is your devotion to black. "
+ "You gain life equal to the life lost this way. "
@@ -59,7 +54,7 @@ class GrayMerchantOfAsphodelEffect extends OneShotEffect {
+ "counts towards your devotion to black.)";
}
- public GrayMerchantOfAsphodelEffect(final GrayMerchantOfAsphodelEffect effect) {
+ private GrayMerchantOfAsphodelEffect(final GrayMerchantOfAsphodelEffect effect) {
super(effect);
}
@@ -71,20 +66,20 @@ class GrayMerchantOfAsphodelEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
- if (controller != null) {
- int totalLifeLost = 0;
- int lifeLost = xValue.calculate(game, source, this);
- if (lifeLost > 0) {
- for (UUID playerId : game.getOpponents(source.getControllerId())) {
- Player opponent = game.getPlayer(playerId);
- if (opponent != null) {
- totalLifeLost += opponent.loseLife(lifeLost, game, false);
- }
- }
- }
- controller.gainLife(totalLifeLost, game, source);
+ if (controller == null) {
+ return false;
+ }
+ int lifeLost = DevotionCount.B.calculate(game, source, this);
+ if (lifeLost == 0) {
return true;
}
- return false;
+ int totalLifeLost = game
+ .getOpponents(source.getControllerId())
+ .stream()
+ .map(game::getPlayer)
+ .filter(Objects::nonNull)
+ .mapToInt(opponent -> opponent.loseLife(lifeLost, game, false))
+ .sum();
+ return controller.gainLife(totalLifeLost, game, source) > 0;
}
}
diff --git a/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java b/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java
index 3f583f76f49..317cdedf7f1 100644
--- a/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java
+++ b/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java
@@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect;
@@ -15,7 +14,10 @@ import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.constants.*;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.SubType;
+import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.game.permanent.token.HeliodGodOfTheSunToken;
@@ -26,8 +28,6 @@ import java.util.UUID;
*/
public final class HeliodGodOfTheSun extends CardImpl {
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.W);
-
public HeliodGodOfTheSun(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{W}");
addSuperType(SuperType.LEGENDARY);
@@ -40,15 +40,20 @@ public final class HeliodGodOfTheSun extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// As long as your devotion to white is less than five, Heliod isn't a creature.(Each {W} in the mana costs of permanents you control counts towards your devotion to white.)
- Effect effect = new LoseCreatureTypeSourceEffect(xValue, 5);
- effect.setText("As long as your devotion to white is less than five, Heliod isn't a creature.(Each {W} in the mana costs of permanents you control counts towards your devotion to white.)");
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to white", xValue)));
+ Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.W, 5);
+ effect.setText("As long as your devotion to white is less than five, {this} isn't a creature.");
+ this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to white", DevotionCount.W)));
// Other creatures you control have vigilance.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, true)));
+ this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
+ VigilanceAbility.getInstance(), Duration.WhileOnBattlefield,
+ StaticFilters.FILTER_PERMANENT_CREATURE, true
+ )));
// {2}{W}{W}: Create a 2/1 white Cleric enchantment creature token.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HeliodGodOfTheSunToken()), new ManaCostsImpl("{2}{W}{W}")));
+ this.addAbility(new SimpleActivatedAbility(
+ new CreateTokenEffect(new HeliodGodOfTheSunToken()), new ManaCostsImpl("{2}{W}{W}")
+ ));
}
diff --git a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java
index e2462a2fcc5..3324332612f 100644
--- a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java
+++ b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java
@@ -2,7 +2,6 @@ package mage.cards.i;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.PreventAllDamageToAllEffect;
@@ -14,6 +13,7 @@ import mage.abilities.keyword.MenaceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
+import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.AttackingPredicate;
@@ -26,16 +26,16 @@ import java.util.UUID;
*/
public final class IroasGodOfVictory extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control");
- private static final FilterControlledCreaturePermanent filterAttacking = new FilterControlledCreaturePermanent("attacking creatures you control");
+ private static final FilterPermanent filter
+ = new FilterCreaturePermanent("Creatures you control");
+ private static final FilterPermanent filterAttacking
+ = new FilterControlledCreaturePermanent("attacking creatures you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
filterAttacking.add(AttackingPredicate.instance);
}
- private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.R, ColoredManaSymbol.W);
-
public IroasGodOfVictory(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{R}{W}");
addSuperType(SuperType.LEGENDARY);
@@ -48,18 +48,22 @@ public final class IroasGodOfVictory extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// As long as your devotion to red and white is less than seven, Iroas isn't a creature.
- Effect effect = new LoseCreatureTypeSourceEffect(xValue, 7);
- effect.setText("As long as your devotion to red and white is less than seven, Iroas isn't a creature");
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to red and white", xValue)));
+ Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.RW, 7);
+ effect.setText("As long as your devotion to red and white is less than seven, {this} isn't a creature");
+ this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to red and white", DevotionCount.RW)));
// Creatures you control have menace. (They can't be blocked except by two or more creatures.)
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)));
+ this.addAbility(new SimpleStaticAbility(
+ new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)
+ ));
// Prevent all damage that would be dealt to attacking creatures you control.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventAllDamageToAllEffect(Duration.WhileOnBattlefield, filterAttacking)));
+ this.addAbility(new SimpleStaticAbility(
+ new PreventAllDamageToAllEffect(Duration.WhileOnBattlefield, filterAttacking)
+ ));
}
- public IroasGodOfVictory(final IroasGodOfVictory card) {
+ private IroasGodOfVictory(final IroasGodOfVictory card) {
super(card);
}