diff --git a/Mage.Sets/src/mage/sets/archenemy/NantukoMonastery.java b/Mage.Sets/src/mage/sets/archenemy/NantukoMonastery.java
index 341918ccdae..c866c135130 100644
--- a/Mage.Sets/src/mage/sets/archenemy/NantukoMonastery.java
+++ b/Mage.Sets/src/mage/sets/archenemy/NantukoMonastery.java
@@ -35,10 +35,10 @@ import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
-import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -58,12 +58,10 @@ public class NantukoMonastery extends CardImpl {
// {tap}: Add {C} to your mana pool.
this.addAbility(new ColorlessManaAbility());
// Threshold - {G}{W}: Nantuko Monastery becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate this ability only if seven or more cards are in your graveyard.
- Effect effect = new BecomesCreatureSourceEffect(new NantukoMonasteryToken(), "land", Duration.Custom);
- effect.setText("{this} becomes a 4/4 green and white Insect Monk creature");
- Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{G}{W}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {G}{W}: Nantuko Monastery becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate this ability only if seven or more cards are in your graveyard.");
- ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn));
+ Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
+ new NantukoMonasteryToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}"),
+ new CardsInControllerGraveCondition(7));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
@@ -80,7 +78,7 @@ public class NantukoMonastery extends CardImpl {
class NantukoMonasteryToken extends Token {
public NantukoMonasteryToken() {
- super("", "4/4 green and white Insect Monk creature");
+ super("", "4/4 green and white Insect Monk creature with first strike");
cardType.add(CardType.CREATURE);
subtype.add("Insect");
subtype.add("Monk");
@@ -88,5 +86,6 @@ class NantukoMonasteryToken extends Token {
color.setWhite(true);
power = new MageInt(4);
toughness = new MageInt(4);
+ this.addAbility(FirstStrikeAbility.getInstance());
}
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/AboshansDesire.java b/Mage.Sets/src/mage/sets/odyssey/AboshansDesire.java
index 442e6facd3f..43e0d926873 100644
--- a/Mage.Sets/src/mage/sets/odyssey/AboshansDesire.java
+++ b/Mage.Sets/src/mage/sets/odyssey/AboshansDesire.java
@@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ShroudAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Duration;
@@ -66,11 +67,12 @@ public class AboshansDesire extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Enchanted creature has flying.
- ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)));
// Threshold - Enchanted creature has shroud as long as seven or more cards are in your graveyard.
- ability.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield),
- new CardsInControllerGraveCondition(7),
- "Threshold - Enchanted creature gets shroud as long as seven or more cards are in your graveyard"));
+ ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield),
+ new CardsInControllerGraveCondition(7), "enchanted creature has shroud as long as seven or more cards are in your graveyard"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/BarbarianRing.java b/Mage.Sets/src/mage/sets/odyssey/BarbarianRing.java
index d8db1ef94a1..cf6d31eb857 100644
--- a/Mage.Sets/src/mage/sets/odyssey/BarbarianRing.java
+++ b/Mage.Sets/src/mage/sets/odyssey/BarbarianRing.java
@@ -33,11 +33,12 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -59,14 +60,14 @@ public class BarbarianRing extends CardImpl {
this.addAbility(redManaAbility);
// Threshold - {R}, {T}, Sacrifice Barbarian Ring: Barbarian Ring deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(2),
new ManaCostsImpl("{R}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {R}, {T}, Sacrifice {this}: {this} deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.");
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
thresholdAbility.addTarget(new TargetCreatureOrPlayer());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/Bloodcurdler.java b/Mage.Sets/src/mage/sets/odyssey/Bloodcurdler.java
index d8caa1fcb2c..0df99ec3130 100644
--- a/Mage.Sets/src/mage/sets/odyssey/Bloodcurdler.java
+++ b/Mage.Sets/src/mage/sets/odyssey/Bloodcurdler.java
@@ -43,6 +43,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -65,18 +66,19 @@ public class Bloodcurdler extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
-
+
// At the beginning of your upkeep, put the top card of your library into your graveyard.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(1), TargetController.YOU, false));
Condition thresholdCondition = new CardsInControllerGraveCondition(7);
// Threshold - As long as seven or more cards are in your graveyard, Bloodcurdler gets +1/+1 and has "At the beginning of your end step, exile two cards from your graveyard."
- Ability thresholdAbility = new SimpleStaticAbility(Zone.BATTLEFIELD,
- new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), thresholdCondition,
- "Threshold - If seven or more cards are in your graveyard, {this} gets +1/+1"));
+ Ability thresholdAbility = new SimpleStaticAbility(Zone.BATTLEFIELD,
+ new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), thresholdCondition,
+ "If seven or more cards are in your graveyard, {this} gets +1/+1"));
ContinuousEffect effect = new GainAbilitySourceEffect(new BeginningOfEndStepTriggeredAbility(new ExileCardFromOwnGraveyardControllerEffect(2), TargetController.YOU, false));
thresholdAbility.addEffect(new ConditionalContinuousEffect(effect, thresholdCondition,
- "and has \"At the beginning of your end step, exile two cards from your graveyard.\""));
+ "and has \"At the beginning of your end step, exile two cards from your graveyard.\""));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/CabalInquisitor.java b/Mage.Sets/src/mage/sets/odyssey/CabalInquisitor.java
index a0a48bb3b26..a0245601cdf 100644
--- a/Mage.Sets/src/mage/sets/odyssey/CabalInquisitor.java
+++ b/Mage.Sets/src/mage/sets/odyssey/CabalInquisitor.java
@@ -41,6 +41,7 @@ import mage.abilities.effects.Effect;
import mage.abilities.effects.Effects;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.EffectType;
import mage.constants.Rarity;
@@ -68,10 +69,11 @@ public class CabalInquisitor extends CardImpl {
this.toughness = new MageInt(1);
// Threshold - {1}{B}, {T}, Exile two cards from your graveyard: Target player discards a card. Activate this ability only any time you could cast a sorcery, and only if seven or more cards are in your graveyard.
- Ability ability = new ActivateAsSorceryConditionalActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{1}{B}"), new CardsInControllerGraveCondition(7), "
Threshold - {1}{B}, {T}, Exile two cards from your graveyard: Target player discards a card. Activate this ability only any time you could cast a sorcery, and only if seven or more cards are in your graveyard.");
+ Ability ability = new ActivateAsSorceryConditionalActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{1}{B}"), new CardsInControllerGraveCondition(7));
ability.addTarget(new TargetPlayer());
ability.addCost(new TapSourceCost());
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2, new FilterCard("cards from your graveyard"))));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
@@ -87,24 +89,21 @@ public class CabalInquisitor extends CardImpl {
class ActivateAsSorceryConditionalActivatedAbility extends ActivatedAbilityImpl {
-
+
private Condition condition;
- private String ruleText = "Threshold - {1}{B}, {t}, Exile two cards from your graveyard: Target player discards a card. Activate this ability only any time you could cast a sorcery, and only if seven or more cards are in your graveyard.";
private static final Effects emptyEffects = new Effects();
- public ActivateAsSorceryConditionalActivatedAbility(Zone zone, Effect effect, ManaCosts cost, Condition condition, String rule) {
+ public ActivateAsSorceryConditionalActivatedAbility(Zone zone, Effect effect, ManaCosts cost, Condition condition) {
super(zone, effect, cost);
this.condition = condition;
- this.ruleText = rule;
- timing = TimingRule.SORCERY;
+ timing = TimingRule.SORCERY;
}
public ActivateAsSorceryConditionalActivatedAbility(final ActivateAsSorceryConditionalActivatedAbility ability) {
super(ability);
this.condition = ability.condition;
- this.ruleText = ability.ruleText;
}
@Override
@@ -130,6 +129,6 @@ class ActivateAsSorceryConditionalActivatedAbility extends ActivatedAbilityImpl
@Override
public String getRule() {
- return ruleText;
+ return super.getRule() + " Activate this ability only any time you could cast a sorcery, and only if seven or more cards are in your graveyard.";
}
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/CabalPit.java b/Mage.Sets/src/mage/sets/odyssey/CabalPit.java
index 306c46f7c61..bdfb9db7f9d 100644
--- a/Mage.Sets/src/mage/sets/odyssey/CabalPit.java
+++ b/Mage.Sets/src/mage/sets/odyssey/CabalPit.java
@@ -33,11 +33,12 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.mana.BlackManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -60,14 +61,14 @@ public class CabalPit extends CardImpl {
this.addAbility(manaAbility);
// Threshold - {B}, {T}, Sacrifice Cabal Pit: Target creature gets -2/-2 until end of turn. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new BoostTargetEffect(-2,-2, Duration.EndOfTurn),
new ManaCostsImpl("{B}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {B}, {T}, Sacrifice {this}: Target creature gets -2/-2 until end of turn. Activate this ability only if seven or more cards are in your graveyard.");
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
thresholdAbility.addTarget(new TargetCreaturePermanent());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/CentaurGarden.java b/Mage.Sets/src/mage/sets/odyssey/CentaurGarden.java
index a5517dece9b..e28e2f98f03 100644
--- a/Mage.Sets/src/mage/sets/odyssey/CentaurGarden.java
+++ b/Mage.Sets/src/mage/sets/odyssey/CentaurGarden.java
@@ -33,11 +33,12 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.mana.GreenManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -60,14 +61,14 @@ public class CentaurGarden extends CardImpl {
this.addAbility(manaAbility);
// Threshold - {G}, {tap}, Sacrifice Centaur Garden: Target creature gets +3/+3 until end of turn. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new BoostTargetEffect(+3,+3, Duration.EndOfTurn),
new ManaCostsImpl("{G}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {G}, {T}, Sacrifice {this}: Target creature gets +3/+3 until end of turn. Activate this ability only if seven or more cards are in your graveyard.");
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
thresholdAbility.addTarget(new TargetCreaturePermanent());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/CephalidColiseum.java b/Mage.Sets/src/mage/sets/odyssey/CephalidColiseum.java
index f2bed0f7c83..a11f90c3096 100644
--- a/Mage.Sets/src/mage/sets/odyssey/CephalidColiseum.java
+++ b/Mage.Sets/src/mage/sets/odyssey/CephalidColiseum.java
@@ -33,12 +33,12 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageControllerEffect;
-import mage.abilities.effects.common.DrawCardTargetEffect;
-import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.effects.common.DrawDiscardTargetEffect;
import mage.abilities.mana.BlueManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -60,15 +60,14 @@ public class CephalidColiseum extends CardImpl {
this.addAbility(manaAbility);
// Threshold - {U}, {tap}, Sacrifice Cephalid Coliseum: Target player draws three cards, then discards three cards. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
- new DrawCardTargetEffect(3),
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ new DrawDiscardTargetEffect(3, 3),
new ManaCostsImpl("{U}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {U}, {T}, Sacrifice {this}: Target player draws three cards, then discards three cards. Activate this ability only if seven or more cards are in your graveyard.");
- thresholdAbility.addEffect(new DiscardTargetEffect(3));
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
thresholdAbility.addTarget(new TargetPlayer());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/Chainflinger.java b/Mage.Sets/src/mage/sets/odyssey/Chainflinger.java
index 32384719b61..4ed527b5321 100644
--- a/Mage.Sets/src/mage/sets/odyssey/Chainflinger.java
+++ b/Mage.Sets/src/mage/sets/odyssey/Chainflinger.java
@@ -34,9 +34,10 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -62,13 +63,13 @@ public class Chainflinger extends CardImpl {
ability.addTarget(new TargetCreatureOrPlayer());
this.addAbility(ability);
// Threshold - {2}{R}, {tap}: Chainflinger deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(2),
- new ManaCostsImpl("2}{R}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {2}{R}, {t}: {this} deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.");
+ new ManaCostsImpl("{2}{R}"),
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addTarget(new TargetCreatureOrPlayer());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/ChildhoodHorror.java b/Mage.Sets/src/mage/sets/odyssey/ChildhoodHorror.java
index eb8ccf8bd47..e297a009574 100644
--- a/Mage.Sets/src/mage/sets/odyssey/ChildhoodHorror.java
+++ b/Mage.Sets/src/mage/sets/odyssey/ChildhoodHorror.java
@@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.CantBlockSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -66,7 +67,7 @@ public class ChildhoodHorror extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - If seven or more cards are in your graveyard, Childhood Horror gets +2/+2"
+ "If seven or more cards are in your graveyard, Childhood Horror gets +2/+2"
));
Effect effect = new ConditionalRestrictionEffect(
@@ -74,7 +75,8 @@ public class ChildhoodHorror extends CardImpl {
new CardsInControllerGraveCondition(7));
effect.setText("and can't block");
thresholdAbility.addEffect(effect);
- this.addAbility(thresholdAbility);
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(thresholdAbility);
}
public ChildhoodHorror(final ChildhoodHorror card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/Chlorophant.java b/Mage.Sets/src/mage/sets/odyssey/Chlorophant.java
index 0a276940b4f..996a23a9151 100644
--- a/Mage.Sets/src/mage/sets/odyssey/Chlorophant.java
+++ b/Mage.Sets/src/mage/sets/odyssey/Chlorophant.java
@@ -29,14 +29,22 @@ package mage.sets.odyssey;
import java.util.UUID;
import mage.MageInt;
+import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
+import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
+import mage.constants.Duration;
import mage.constants.Rarity;
import mage.constants.TargetController;
+import mage.constants.Zone;
import mage.counters.CounterType;
/**
@@ -56,9 +64,14 @@ public class Chlorophant extends CardImpl {
// At the beginning of your upkeep, you may put a +1/+1 counter on Chlorophant.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true));
// Threshold - As long as seven or more cards are in your graveyard, Chlorophant has "At the beginning of your upkeep, you may put another +1/+1 counter on Chlorophant."
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true),
- new CardsInControllerGraveCondition(7),
- "Threshold As long as seven or more cards are in your graveyard, {this} has \"At the beginning of your upkeep, you may put another +1/+1 counter on {this}\""));
+ Effect effect = new AddCountersSourceEffect(CounterType.P1P1.createInstance());
+ effect.setText("At the beginning of your upkeep, you may put another +1/+1 counter on {this}.");
+ Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, true);
+ Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new GainAbilitySourceEffect(gainedAbility, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "As long as seven or more cards are in your graveyard, {this} has \"At the beginning of your upkeep, you may put another +1/+1 counter on {this}.\""));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public Chlorophant(final Chlorophant card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/CrashingCentaur.java b/Mage.Sets/src/mage/sets/odyssey/CrashingCentaur.java
index 7cbda61f07a..8f1f222f571 100644
--- a/Mage.Sets/src/mage/sets/odyssey/CrashingCentaur.java
+++ b/Mage.Sets/src/mage/sets/odyssey/CrashingCentaur.java
@@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.ShroudAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -65,20 +66,20 @@ public class CrashingCentaur extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(),Duration.EndOfTurn), new ManaCostsImpl("{G}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
-
+
// Threshold - As long as seven or more cards are in your graveyard, Crashing Centaur gets +2/+2 and has shroud.
Ability thresholdAbility = new SimpleStaticAbility(
Zone.BATTLEFIELD,
new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - If seven or more cards are in your graveyard, {this} gets +2/+2"));
+ "If seven or more cards are in your graveyard, {this} gets +2/+2"));
Effect effect = new ConditionalContinuousEffect(
new GainAbilitySourceEffect(ShroudAbility.getInstance()),
new CardsInControllerGraveCondition(7), "and has shroud");
thresholdAbility.addEffect(effect);
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
-
}
public CrashingCentaur(final CrashingCentaur card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java b/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java
index aae708d61b4..6444d52f690 100644
--- a/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java
+++ b/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java
@@ -42,6 +42,7 @@ import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Rarity;
@@ -52,8 +53,8 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.other.OwnerPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
-import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
+import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -82,12 +83,14 @@ public class DecayingSoil extends CardImpl {
TargetCardInYourGraveyard target = new TargetCardInYourGraveyard();
ability.addTarget(target);
this.addAbility(ability);
-
+
// Threshold - As long as seven or more cards are in your graveyard, Decaying Soil has "Whenever a nontoken creature is put into your graveyard from the battlefield, you may pay {1}. If you do, return that card to your hand."
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
- new ConditionalContinuousEffect(new GainAbilitySourceEffect(new DecayingSoilTriggeredAbility(new DecayingSoilEffect(), filter)),
- new CardsInControllerGraveCondition(7),
- "Threshold - As long as seven or more cards are in your graveyard, {this} has \"Whenever a nontoken creature is put into your graveyard from the battlefield, you may pay {1}. If you do, return that card to your hand")));
+ ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
+ new ConditionalContinuousEffect(new GainAbilitySourceEffect(new DecayingSoilTriggeredAbility(new DecayingSoilEffect(), filter)),
+ new CardsInControllerGraveCondition(7),
+ "As long as seven or more cards are in your graveyard, {this} has \"Whenever a nontoken creature is put into your graveyard from the battlefield, you may pay {1}. If you do, return that card to your hand.\""));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public DecayingSoil(final DecayingSoil card) {
@@ -174,7 +177,7 @@ class DecayingSoilEffect extends OneShotEffect {
cost.clearPaid();
if (cost.pay(source, game, source.getSourceId(), source.getControllerId(), false)) {
UUID target = this.getTargetPointer().getFirst(game, source);
- if (target != null) {
+ if (target != null) {
Card card = game.getCard(target);
// check if it's still in graveyard
if (card != null && game.getState().getZone(card.getId()).equals(Zone.GRAVEYARD)) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/DirtyWererat.java b/Mage.Sets/src/mage/sets/odyssey/DirtyWererat.java
index c29c20bb2f7..8e5537c30b4 100644
--- a/Mage.Sets/src/mage/sets/odyssey/DirtyWererat.java
+++ b/Mage.Sets/src/mage/sets/odyssey/DirtyWererat.java
@@ -42,6 +42,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.effects.common.combat.CantBlockSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -73,13 +74,14 @@ public class DirtyWererat extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - If seven or more cards are in your graveyard, Dirty Wererat gets +2/+2 and can't block"
+ "If seven or more cards are in your graveyard, {this} gets +2/+2"
));
Effect effect = new ConditionalRestrictionEffect(
new CantBlockSourceEffect(Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7));
effect.setText("and can't block");
thresholdAbility.addEffect(effect);
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/DivineSacrament.java b/Mage.Sets/src/mage/sets/odyssey/DivineSacrament.java
index c6650039d9b..ce9adfd77cd 100644
--- a/Mage.Sets/src/mage/sets/odyssey/DivineSacrament.java
+++ b/Mage.Sets/src/mage/sets/odyssey/DivineSacrament.java
@@ -35,6 +35,7 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -47,7 +48,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
* @author Beta_Steward (Honor of the Pure), LevelX2 (Demoralize), cbt
*/
public class DivineSacrament extends CardImpl {
-
+
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("White creatures");
static {
filter.add(new ColorPredicate(ObjectColor.WHITE));
@@ -65,8 +66,9 @@ public class DivineSacrament extends CardImpl {
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false),
new CardsInControllerGraveCondition(7),
- "Threshold - If seven or more cards are in your graveyard, white creatures get an additional +1/+1."
+ "If seven or more cards are in your graveyard, white creatures get an additional +1/+1."
));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/Frightcrawler.java b/Mage.Sets/src/mage/sets/odyssey/Frightcrawler.java
index 3a98e33ba1c..b430b104758 100644
--- a/Mage.Sets/src/mage/sets/odyssey/Frightcrawler.java
+++ b/Mage.Sets/src/mage/sets/odyssey/Frightcrawler.java
@@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBlockSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.FearAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -64,12 +65,13 @@ public class Frightcrawler extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - If seven or more cards are in your graveyard, {this} gets +2/+2 "
+ "If seven or more cards are in your graveyard, {this} gets +2/+2 "
));
thresholdAbility.addEffect(new ConditionalContinuousEffect(
new CantBlockSourceEffect(Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
"and can't block."));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/HallowedHealer.java b/Mage.Sets/src/mage/sets/odyssey/HallowedHealer.java
index 5d6a21c237a..709c59bf1b3 100644
--- a/Mage.Sets/src/mage/sets/odyssey/HallowedHealer.java
+++ b/Mage.Sets/src/mage/sets/odyssey/HallowedHealer.java
@@ -33,9 +33,10 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.PreventDamageToTargetEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -46,7 +47,7 @@ import mage.target.common.TargetCreatureOrPlayer;
*
* @author cbt33
*/
-
+
public class HallowedHealer extends CardImpl {
public HallowedHealer(UUID ownerId) {
@@ -63,12 +64,12 @@ public class HallowedHealer extends CardImpl {
ability.addTarget(new TargetCreatureOrPlayer());
this.addAbility(ability);
// Threshold - {tap}: Prevent the next 4 damage that would be dealt to target creature or player this turn. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
- new PreventDamageToTargetEffect(Duration.EndOfTurn,4),
- new TapSourceCost(),
- new CardsInControllerGraveCondition(7),
- "Threshold - {T}: Prevent the next 4 damage that would be dealt to target creature or player this turn. Activate this ability only if seven or more cards are in your graveyard.");
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ new PreventDamageToTargetEffect(Duration.EndOfTurn, 4),
+ new TapSourceCost(),
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addTarget(new TargetCreatureOrPlayer());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/InfectedVermin.java b/Mage.Sets/src/mage/sets/odyssey/InfectedVermin.java
index f7542d4aa79..f17999ad7b0 100644
--- a/Mage.Sets/src/mage/sets/odyssey/InfectedVermin.java
+++ b/Mage.Sets/src/mage/sets/odyssey/InfectedVermin.java
@@ -29,12 +29,14 @@ package mage.sets.odyssey;
import java.util.UUID;
import mage.MageInt;
+import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageEverythingEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -56,11 +58,12 @@ public class InfectedVermin extends CardImpl {
// {2}{B}: Infected Vermin deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl("{2}{B}")));
// Threshold - {3}{B}: Infected Vermin deals 3 damage to each creature and each player. Activate this ability only if seven or more cards are in your graveyard.
- this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new DamageEverythingEffect(3),
new ManaCostsImpl("{3}{B}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {3}{B}: Infected Vermin deals 3 damage to each creature and each player. Activate this ability only if seven or more cards are in your graveyard."));
+ new CardsInControllerGraveCondition(7));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public InfectedVermin(final InfectedVermin card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/KamahlsDesire.java b/Mage.Sets/src/mage/sets/odyssey/KamahlsDesire.java
index ca69173073c..42b78beea04 100644
--- a/Mage.Sets/src/mage/sets/odyssey/KamahlsDesire.java
+++ b/Mage.Sets/src/mage/sets/odyssey/KamahlsDesire.java
@@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Duration;
@@ -65,13 +66,15 @@ public class KamahlsDesire extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
-
+
// Enchanted creature has first strike.
- ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)));
// Threshold - Enchanted creature gets +3/+0 as long as seven or more cards are in your graveyard.
- ability.addEffect(new ConditionalContinuousEffect(new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield),
- new CardsInControllerGraveCondition(7),
- "Threshold - Enchanted creature gets +3/+0 as long as seven or more cards are in your graveyard"));
+ ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield),
+ new CardsInControllerGraveCondition(7),
+ "Enchanted creature gets +3/+0 as long as seven or more cards are in your graveyard"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/KrosanAvenger.java b/Mage.Sets/src/mage/sets/odyssey/KrosanAvenger.java
index 464cc2650d0..fefc46b79ba 100644
--- a/Mage.Sets/src/mage/sets/odyssey/KrosanAvenger.java
+++ b/Mage.Sets/src/mage/sets/odyssey/KrosanAvenger.java
@@ -32,10 +32,11 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -58,13 +59,12 @@ public class KrosanAvenger extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// Threshold - {1}{G}: Regenerate Krosan Avenger. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
- new RegenerateSourceEffect(),
- new ManaCostsImpl("{1}{G}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {1}{G}: Regenerate {this}. Activate this ability only if seven or more cards are in your graveyard.");
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ new RegenerateSourceEffect(),
+ new ManaCostsImpl("{1}{G}"),
+ new CardsInControllerGraveCondition(7));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
-
}
public KrosanAvenger(final KrosanAvenger card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/KrosanBeast.java b/Mage.Sets/src/mage/sets/odyssey/KrosanBeast.java
index 02404632e9b..32158cc963b 100644
--- a/Mage.Sets/src/mage/sets/odyssey/KrosanBeast.java
+++ b/Mage.Sets/src/mage/sets/odyssey/KrosanBeast.java
@@ -35,6 +35,7 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -61,8 +62,9 @@ public class KrosanBeast extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(7, 7, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - {this} gets +7/+7 as long as seven or more cards are in your graveyard"
+ "{this} gets +7/+7 as long as seven or more cards are in your graveyard"
));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/MetamorphicWurm.java b/Mage.Sets/src/mage/sets/odyssey/MetamorphicWurm.java
index e405fa85ea2..a4568538124 100644
--- a/Mage.Sets/src/mage/sets/odyssey/MetamorphicWurm.java
+++ b/Mage.Sets/src/mage/sets/odyssey/MetamorphicWurm.java
@@ -35,6 +35,7 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -61,8 +62,9 @@ public class MetamorphicWurm extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(4, 4, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - {this} gets +4/+4 as long as seven or more cards are in your graveyard"
+ "{this} gets +4/+4 as long as seven or more cards are in your graveyard"
));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/MysticCrusader.java b/Mage.Sets/src/mage/sets/odyssey/MysticCrusader.java
index b914a851837..fc0bb16ebe5 100644
--- a/Mage.Sets/src/mage/sets/odyssey/MysticCrusader.java
+++ b/Mage.Sets/src/mage/sets/odyssey/MysticCrusader.java
@@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -52,7 +53,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
* @author cbt33
*/
public class MysticCrusader extends CardImpl {
-
+
static final FilterCard filter = new FilterCard("black and from red");
static {
@@ -73,8 +74,11 @@ public class MysticCrusader extends CardImpl {
this.addAbility(new ProtectionAbility(filter));
// Threshold - As long as seven or more cards are in your graveyard, Mystic Crusader gets +1/+1 and has flying.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
- new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7), "Threshold - As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
- ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()), new CardsInControllerGraveCondition(7), "and has flying"));
+ new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
+ ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
+ new CardsInControllerGraveCondition(7), "and has flying"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/MysticPenitent.java b/Mage.Sets/src/mage/sets/odyssey/MysticPenitent.java
index 6648625b93a..226ddf257ca 100644
--- a/Mage.Sets/src/mage/sets/odyssey/MysticPenitent.java
+++ b/Mage.Sets/src/mage/sets/odyssey/MysticPenitent.java
@@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -63,8 +64,11 @@ public class MysticPenitent extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Threshold - As long as seven or more cards are in your graveyard, Mystic Penitent gets +1/+1 and has flying.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
- new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7), "Threshold - As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
- ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()), new CardsInControllerGraveCondition(7), "and has flying"));
+ new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
+ ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
+ new CardsInControllerGraveCondition(7), "and has flying"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/MysticVisionary.java b/Mage.Sets/src/mage/sets/odyssey/MysticVisionary.java
index 4bedbb634db..7a01a384c43 100644
--- a/Mage.Sets/src/mage/sets/odyssey/MysticVisionary.java
+++ b/Mage.Sets/src/mage/sets/odyssey/MysticVisionary.java
@@ -36,6 +36,7 @@ import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -58,7 +59,9 @@ public class MysticVisionary extends CardImpl {
// Threshold - Mystic Visionary has flying as long as seven or more cards are in your graveyard.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
- new GainAbilitySourceEffect(FlyingAbility.getInstance()), new CardsInControllerGraveCondition(7), "Threshold - {this} has flying as long as seven or more cards are in your graveyard."));
+ new GainAbilitySourceEffect(FlyingAbility.getInstance()), new CardsInControllerGraveCondition(7),
+ "{this} has flying as long as seven or more cards are in your graveyard."));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/MysticZealot.java b/Mage.Sets/src/mage/sets/odyssey/MysticZealot.java
index 25f028652ef..6672ae7ccde 100644
--- a/Mage.Sets/src/mage/sets/odyssey/MysticZealot.java
+++ b/Mage.Sets/src/mage/sets/odyssey/MysticZealot.java
@@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -60,8 +61,11 @@ public class MysticZealot extends CardImpl {
// Threshold - As long as seven or more cards are in your graveyard, Mystic Zealot gets +1/+1 and has flying.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
- new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7), "Threshold - As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
- ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()), new CardsInControllerGraveCondition(7), "and has flying"));
+ new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
+ ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
+ new CardsInControllerGraveCondition(7), "and has flying"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/NimbleMongoose.java b/Mage.Sets/src/mage/sets/odyssey/NimbleMongoose.java
index 062a6df78bb..b806c1a4401 100644
--- a/Mage.Sets/src/mage/sets/odyssey/NimbleMongoose.java
+++ b/Mage.Sets/src/mage/sets/odyssey/NimbleMongoose.java
@@ -32,12 +32,14 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
+import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.ShroudAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.Duration;
import mage.constants.Zone;
@@ -58,7 +60,12 @@ public class NimbleMongoose extends CardImpl {
// Shroud
this.addAbility(ShroudAbility.getInstance());
// Threshold - Nimble Mongoose gets +2/+2 as long as seven or more cards are in your graveyard.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7), " Threshold - {this} gets +2/+2 as long as seven or more cards are in your graveyard")));
+
+ Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "{this} gets +2/+2 as long as seven or more cards are in your graveyard"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public NimbleMongoose(final NimbleMongoose card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/NomadDecoy.java b/Mage.Sets/src/mage/sets/odyssey/NomadDecoy.java
index b2befb9492c..d76fe071e63 100644
--- a/Mage.Sets/src/mage/sets/odyssey/NomadDecoy.java
+++ b/Mage.Sets/src/mage/sets/odyssey/NomadDecoy.java
@@ -31,20 +31,20 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
-import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalContinuousEffect;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.TapTargetEffect;
-import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent;
/**
+
*
* @author cbt33
*/
@@ -64,14 +64,16 @@ public class NomadDecoy extends CardImpl {
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
this.addAbility(ability);
-
+
// Threshold - {W}{W}, {T}: Tap two target creatures. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}{W}"));
- thresholdAbility.addTarget(new TargetCreaturePermanent(2));
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ new TapTargetEffect(),
+ new ManaCostsImpl("{W}{W}"),
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new GainAbilitySourceEffect(thresholdAbility),
- new CardsInControllerGraveCondition(7),
- "Threshold - {W}{W}, {T}: Tap two target creatures. Activate this ability only if seven or more cards are in your graveyard.")));
+ thresholdAbility.addTarget(new TargetCreaturePermanent(2));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(thresholdAbility);
}
public NomadDecoy(final NomadDecoy card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/NomadStadium.java b/Mage.Sets/src/mage/sets/odyssey/NomadStadium.java
index ab751c5a7b8..efc1b43529e 100644
--- a/Mage.Sets/src/mage/sets/odyssey/NomadStadium.java
+++ b/Mage.Sets/src/mage/sets/odyssey/NomadStadium.java
@@ -33,11 +33,12 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalGainActivatedAbility;
+import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -58,13 +59,13 @@ public class NomadStadium extends CardImpl {
this.addAbility(manaAbility);
// Threshold - {W}, {tap}, Sacrifice Nomad Stadium: You gain 4 life. Activate this ability only if seven or more cards are in your graveyard.
- Ability thresholdAbility = new ConditionalGainActivatedAbility(Zone.BATTLEFIELD,
+ Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new GainLifeEffect(4),
new ManaCostsImpl("{W}"),
- new CardsInControllerGraveCondition(7),
- "Threshold - {W}, {T}, Sacrifice {this}: You gain 4 life. Activate this ability only if seven or more cards are in your graveyard.");
+ new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/NutCollector.java b/Mage.Sets/src/mage/sets/odyssey/NutCollector.java
index 1541dadc35f..2be1a11f985 100644
--- a/Mage.Sets/src/mage/sets/odyssey/NutCollector.java
+++ b/Mage.Sets/src/mage/sets/odyssey/NutCollector.java
@@ -29,6 +29,7 @@ package mage.sets.odyssey;
import java.util.UUID;
import mage.MageInt;
+import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
@@ -36,6 +37,7 @@ import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -50,9 +52,9 @@ import mage.game.permanent.token.SquirrelToken;
* @author cbt33
*/
public class NutCollector extends CardImpl {
-
+
private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("squirrel");
-
+
static {
filter.add(new SubtypePredicate("Squirrel"));
}
@@ -69,10 +71,11 @@ public class NutCollector extends CardImpl {
// At the beginning of your upkeep, you may put a 1/1 green Squirrel creature token onto the battlefield.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SquirrelToken()), TargetController.YOU, true));
// Threshold - Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
- new ConditionalContinuousEffect(new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false),
- new CardsInControllerGraveCondition(7),
- "Threshold - Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard")));
+ Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
+ new ConditionalContinuousEffect(new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false),
+ new CardsInControllerGraveCondition(7), "Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard"));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public NutCollector(final NutCollector card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/PatriarchsDesire.java b/Mage.Sets/src/mage/sets/odyssey/PatriarchsDesire.java
index ff1601181e2..8f5b923c02d 100644
--- a/Mage.Sets/src/mage/sets/odyssey/PatriarchsDesire.java
+++ b/Mage.Sets/src/mage/sets/odyssey/PatriarchsDesire.java
@@ -29,16 +29,19 @@ package mage.sets.odyssey;
import java.util.UUID;
import mage.abilities.Ability;
+import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Rarity;
+import mage.constants.Zone;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -60,15 +63,16 @@ public class PatriarchsDesire extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
-
+
// Enchanted creature gets +2/-2.
- ability.addEffect(new BoostEnchantedEffect(2, -2, Duration.WhileOnBattlefield));
-
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, -2, Duration.WhileOnBattlefield)));
+
// Threshold - Enchanted creature gets an additional +2/-2 as long as seven or more cards are in your graveyard.
- ability.addEffect(new ConditionalContinuousEffect(new BoostEnchantedEffect(2, -2,
- Duration.WhileOnBattlefield),
- new CardsInControllerGraveCondition(7),
- "
Threshold - Enchanted creature gets an additional +2/-2 as long as seven or more cards are in your graveyard." ));
+ ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new BoostEnchantedEffect(2, -2, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ "Enchanted creature gets an additional +2/-2 as long as seven or more cards are in your graveyard."));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
+ this.addAbility(ability);
}
public PatriarchsDesire(final PatriarchsDesire card) {
diff --git a/Mage.Sets/src/mage/sets/odyssey/RepentantVampire.java b/Mage.Sets/src/mage/sets/odyssey/RepentantVampire.java
index c2062edc5ef..3c87287e422 100644
--- a/Mage.Sets/src/mage/sets/odyssey/RepentantVampire.java
+++ b/Mage.Sets/src/mage/sets/odyssey/RepentantVampire.java
@@ -43,6 +43,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -79,13 +80,14 @@ public class RepentantVampire extends CardImpl {
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BecomesColorSourceEffect(ObjectColor.WHITE, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - As long as seven or more cards are in your graveyard, {this} is white"));
+ "As long as seven or more cards are in your graveyard, {this} is white"));
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
gainedAbility.addTarget(new TargetCreaturePermanent(filter));
ability.addEffect(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(gainedAbility, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "and has \"{t}: Destroy target black creature.\""));
+ "and has \"{T}: Destroy target black creature.\""));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/SpringingTiger.java b/Mage.Sets/src/mage/sets/odyssey/SpringingTiger.java
index a386a1624ad..deaa3ddede2 100644
--- a/Mage.Sets/src/mage/sets/odyssey/SpringingTiger.java
+++ b/Mage.Sets/src/mage/sets/odyssey/SpringingTiger.java
@@ -35,6 +35,7 @@ import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -60,8 +61,9 @@ public class SpringingTiger extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - {this} gets +2/+2 as long as seven or more cards are in your graveyard"
+ "{this} gets +2/+2 as long as seven or more cards are in your graveyard"
));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/WaywardAngel.java b/Mage.Sets/src/mage/sets/odyssey/WaywardAngel.java
index 0c65b84ddad..3c703ea8b47 100644
--- a/Mage.Sets/src/mage/sets/odyssey/WaywardAngel.java
+++ b/Mage.Sets/src/mage/sets/odyssey/WaywardAngel.java
@@ -43,6 +43,7 @@ import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -73,23 +74,24 @@ public class WaywardAngel extends CardImpl {
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - As long as seven or more cards are in your graveyard, {this} gets +3/+3,"));
+ "As long as seven or more cards are in your graveyard, {this} gets +3/+3"));
ability.addEffect(new ConditionalContinuousEffect(
new BecomesColorSourceEffect(ObjectColor.BLACK, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- " is black,"));
+ ", is black"));
ability.addEffect(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(TrampleAbility.getInstance()),
new CardsInControllerGraveCondition(7),
- " has trample,"));
+ ", has trample"));
Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(new FilterControlledCreaturePermanent(), 1, ""), TargetController.YOU, false);
ability.addEffect(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(gainedAbility),
new CardsInControllerGraveCondition(7),
- " and has \"At the beginning of your upkeep, sacrifice a creature.\" "));
+ "and has \"At the beginning of your upkeep, sacrifice a creature.\""));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/odyssey/Werebear.java b/Mage.Sets/src/mage/sets/odyssey/Werebear.java
index 165d82c9534..0a530c00347 100644
--- a/Mage.Sets/src/mage/sets/odyssey/Werebear.java
+++ b/Mage.Sets/src/mage/sets/odyssey/Werebear.java
@@ -36,6 +36,7 @@ import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.mana.GreenManaAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -65,10 +66,10 @@ public class Werebear extends CardImpl {
new ConditionalContinuousEffect(
new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - {this} gets +3/+3 as long as seven or more cards are in your graveyard"
+ "{this} gets +3/+3 as long as seven or more cards are in your graveyard"
));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
-
}
public Werebear(final Werebear card) {
diff --git a/Mage.Sets/src/mage/sets/timeshifted/MysticEnforcer.java b/Mage.Sets/src/mage/sets/timeshifted/MysticEnforcer.java
index 2c9a23cb576..9e09d1d7d4b 100644
--- a/Mage.Sets/src/mage/sets/timeshifted/MysticEnforcer.java
+++ b/Mage.Sets/src/mage/sets/timeshifted/MysticEnforcer.java
@@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -72,16 +73,12 @@ public class MysticEnforcer extends CardImpl {
// Protection from black
this.addAbility(new ProtectionAbility(filter));
// Threshold - As long as seven or more cards are in your graveyard, Mystic Enforcer gets +3/+3 and has flying.
- Ability thresholdAbility = new SimpleStaticAbility(
- Zone.BATTLEFIELD,
- new ConditionalContinuousEffect(
- new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield),
- new CardsInControllerGraveCondition(7),
- "Threshold - {this} gets +3/+3 as long as seven or more cards are in your graveyard"
- ));
- Effect effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield);
- effect.setText("and has flying");
- thresholdAbility.addEffect(effect);
+ Ability thresholdAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
+ new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7),
+ " as long as seven or more cards are in your graveyard, {this} gets +3/+3"));
+ thresholdAbility.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
+ new CardsInControllerGraveCondition(7), "and has flying"));
+ thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}
diff --git a/Mage.Sets/src/mage/sets/torment/KrosanRestorer.java b/Mage.Sets/src/mage/sets/torment/KrosanRestorer.java
index 83b0dcc2f8a..c1541162a9f 100644
--- a/Mage.Sets/src/mage/sets/torment/KrosanRestorer.java
+++ b/Mage.Sets/src/mage/sets/torment/KrosanRestorer.java
@@ -36,6 +36,7 @@ import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
@@ -60,14 +61,14 @@ public class KrosanRestorer extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetLandPermanent());
this.addAbility(ability);
-
+
// Threshold - {tap}: Untap up to three target lands. Activate this ability only if seven or more cards are in your graveyard.
- ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
- new UntapTargetEffect(),
- new TapSourceCost(),
- new CardsInControllerGraveCondition(7),
- "Threshold - {T}: Untap up to three target lands. Activate this ability only if seven or more cards are in your graveyard.");
+ ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
+ new UntapTargetEffect(),
+ new TapSourceCost(),
+ new CardsInControllerGraveCondition(7));
ability.addTarget(new TargetLandPermanent(0, 3, new FilterLandPermanent(), false));
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/torment/PutridImp.java b/Mage.Sets/src/mage/sets/torment/PutridImp.java
index 1f560a0d8ef..2d6fadf3c77 100644
--- a/Mage.Sets/src/mage/sets/torment/PutridImp.java
+++ b/Mage.Sets/src/mage/sets/torment/PutridImp.java
@@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
@@ -68,12 +69,12 @@ public class PutridImp extends CardImpl {
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new CardsInControllerGraveCondition(7),
- "Threshold - As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
+ "As long as seven or more cards are in your graveyard, {this} gets +1/+1"));
Effect effect = new ConditionalRestrictionEffect(new CantBlockSourceEffect(Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7));
effect.setText("and can't block");
ability.addEffect(effect);
+ ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);
-
}
public PutridImp(final PutridImp card) {