diff --git a/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java b/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
index c152c78694b..d43cbaf41a0 100644
--- a/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
+++ b/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
@@ -1,32 +1,36 @@
-
package mage.cards.a;
-import java.util.UUID;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.costs.AlternativeCostSourceAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CounterTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.target.TargetSpell;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author L_J
*/
-public final class AdmiralsOrder extends CardImpl {
+public final class AdmiralsOrder extends CardImpl {
public AdmiralsOrder(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{U}");
// Raid - If you attacked with a creature this turn, you may pay {U} rather than pay this spell's mana cost.
- this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{U}"), RaidCondition.instance,
- "
Raid — If you attacked with a creature this turn, you may pay {U} rather than pay this spell's mana cost"), new PlayerAttackedWatcher());
+ this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{U}"), RaidCondition.instance,
+ "
Raid — If you attacked with a creature this turn, you may pay {U} rather than pay this spell's mana cost"),
+ new PlayerAttackedWatcher());
// Counter target spell.
this.getSpellAbility().addEffect(new CounterTargetEffect());
this.getSpellAbility().addTarget(new TargetSpell());
+ this.getSpellAbility().setAbilityWord(AbilityWord.RAID);
+ this.getSpellAbility().addHint(RaidHint.instance);
}
public AdmiralsOrder(final AdmiralsOrder card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArrowStorm.java b/Mage.Sets/src/mage/cards/a/ArrowStorm.java
index f8508be32d2..66efca84860 100644
--- a/Mage.Sets/src/mage/cards/a/ArrowStorm.java
+++ b/Mage.Sets/src/mage/cards/a/ArrowStorm.java
@@ -1,19 +1,20 @@
-
package mage.cards.a;
-import java.util.UUID;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class ArrowStorm extends CardImpl {
@@ -33,6 +34,8 @@ public final class ArrowStorm extends CardImpl {
RaidCondition.instance,
"
Raid — If you attacked with a creature this turn, instead {this} deals 5 damage to that permanent or player and the damage can't be prevented"));
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
+ this.getSpellAbility().setAbilityWord(AbilityWord.RAID);
+ this.getSpellAbility().addHint(RaidHint.instance);
}
public ArrowStorm(final ArrowStorm card) {
diff --git a/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java b/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
index 10b298ca19a..6859e2e29ea 100644
--- a/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
+++ b/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
@@ -1,4 +1,3 @@
-
package mage.cards.b;
import mage.MageInt;
@@ -7,8 +6,10 @@ import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.watchers.common.PlayerAttackedWatcher;
@@ -16,13 +17,12 @@ import mage.watchers.common.PlayerAttackedWatcher;
import java.util.UUID;
/**
- *
* @author LevelX2
*/
public final class BellowingSaddlebrute extends CardImpl {
public BellowingSaddlebrute(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
this.subtype.add(SubType.ORC, SubType.WARRIOR);
this.power = new MageInt(4);
@@ -30,10 +30,12 @@ public final class BellowingSaddlebrute extends CardImpl {
// Raid - When Bellowing Saddlebrute enters the battlefield, you lose 4 life unless you attacked with a creature this turn
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
- new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(4)),
- new InvertCondition(RaidCondition.instance),
- "Raid — When {this} enters the battlefield, you lose 4 life unless you attacked with a creature this turn"
- ), new PlayerAttackedWatcher());
+ new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(4)),
+ new InvertCondition(RaidCondition.instance),
+ "Raid — When {this} enters the battlefield, you lose 4 life unless you attacked with a creature this turn")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
+ new PlayerAttackedWatcher());
}
public BellowingSaddlebrute(final BellowingSaddlebrute card) {
diff --git a/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java b/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java
index b1f95878923..a930f902be5 100644
--- a/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java
+++ b/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java
@@ -1,7 +1,5 @@
-
package mage.cards.b;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.CantBlockAbility;
@@ -9,15 +7,18 @@ import mage.abilities.condition.common.RaidCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author emerald000
*/
public final class BloodsoakedChampion extends CardImpl {
@@ -39,6 +40,8 @@ public final class BloodsoakedChampion extends CardImpl {
new ManaCostsImpl<>("{1}{B}"),
RaidCondition.instance,
"Raid — {1}{B}: Return {this} from your graveyard to the battlefield. Activate this ability only if you attacked this turn");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/c/ChartACourse.java b/Mage.Sets/src/mage/cards/c/ChartACourse.java
index 8f2d39d08ba..a111a9d465b 100644
--- a/Mage.Sets/src/mage/cards/c/ChartACourse.java
+++ b/Mage.Sets/src/mage/cards/c/ChartACourse.java
@@ -4,6 +4,7 @@ import mage.abilities.Ability;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -26,6 +27,8 @@ public final class ChartACourse extends CardImpl {
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2));
this.getSpellAbility().addEffect(new ChartACourseEffect());
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
+ // this.getSpellAbility().setAbilityWord(AbilityWord.RAID); // no raid ability, only same conditional
+ this.getSpellAbility().addHint(RaidHint.instance);
}
private ChartACourse(final ChartACourse card) {
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java b/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
index 6db9b629c51..568a9f911e1 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
@@ -1,22 +1,23 @@
-
package mage.cards.d;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class DeadeyeRigHauler extends CardImpl {
@@ -33,6 +34,8 @@ public final class DeadeyeRigHauler extends CardImpl {
Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, you may return target creature to its owner's hand.");
ability.addTarget(new TargetCreaturePermanent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
index becab534009..3a68af76ed1 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
@@ -1,29 +1,30 @@
-
package mage.cards.d;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetOpponent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class DeadeyeTormentor extends CardImpl {
public DeadeyeTormentor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
-
+
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.PIRATE);
this.power = new MageInt(2);
@@ -33,6 +34,8 @@ public final class DeadeyeTormentor extends CardImpl {
Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
index 0cc5613abaa..6e7a4d2affd 100644
--- a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
+++ b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
@@ -1,12 +1,12 @@
-
package mage.cards.f;
-import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.common.PlayerAttackedWatcher;
@@ -30,6 +30,8 @@ public final class FirecannonBlast extends CardImpl {
"{this} deals 3 damage to target creature.
Raid — {this} deals 6 damage instead if you attacked this turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
+ this.getSpellAbility().setAbilityWord(AbilityWord.RAID);
+ this.getSpellAbility().addHint(RaidHint.instance);
}
public FirecannonBlast(final FirecannonBlast card) {
diff --git a/Mage.Sets/src/mage/cards/h/HeartlessPillage.java b/Mage.Sets/src/mage/cards/h/HeartlessPillage.java
index 07cab44e50c..a960175713b 100644
--- a/Mage.Sets/src/mage/cards/h/HeartlessPillage.java
+++ b/Mage.Sets/src/mage/cards/h/HeartlessPillage.java
@@ -1,20 +1,21 @@
-
package mage.cards.h;
-import java.util.UUID;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.game.permanent.token.TreasureToken;
import mage.target.common.TargetOpponent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class HeartlessPillage extends CardImpl {
@@ -32,6 +33,8 @@ public final class HeartlessPillage extends CardImpl {
RaidCondition.instance,
"
Raid — If you attacked with a creature this turn, create a colorless Treasure artifact token with \"{T}, Sacrifice this artifact: Add one mana of any color.\""));
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
+ this.getSpellAbility().setAbilityWord(AbilityWord.RAID);
+ this.getSpellAbility().addHint(RaidHint.instance);
}
public HeartlessPillage(final HeartlessPillage card) {
diff --git a/Mage.Sets/src/mage/cards/h/HowlOfTheHorde.java b/Mage.Sets/src/mage/cards/h/HowlOfTheHorde.java
index 4349c1f79c8..a7f4d7ed633 100644
--- a/Mage.Sets/src/mage/cards/h/HowlOfTheHorde.java
+++ b/Mage.Sets/src/mage/cards/h/HowlOfTheHorde.java
@@ -1,15 +1,15 @@
-
package mage.cards.h;
-import java.util.UUID;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CopyTargetSpellEffect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.game.Game;
@@ -18,24 +18,31 @@ import mage.game.stack.Spell;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author emerald000
*/
public final class HowlOfTheHorde extends CardImpl {
public HowlOfTheHorde(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{R}");
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}");
// When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
Effect effect = new CreateDelayedTriggeredAbilityEffect(new HowlOfTheHordeDelayedTriggeredAbility());
effect.setText("When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.");
this.getSpellAbility().addEffect(effect);
-
+
// Raid — If you attacked with a creature this turn, when you cast your next instant or sorcery spell this turn, copy that spell an additional time. You may choose new targets for the copy.
- this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateDelayedTriggeredAbilityEffect(new HowlOfTheHordeDelayedTriggeredAbility()), RaidCondition.instance, "
Raid — If you attacked with a creature this turn, when you cast your next instant or sorcery spell this turn, copy that spell an additional time. You may choose new targets for the copy."));
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new CreateDelayedTriggeredAbilityEffect(new HowlOfTheHordeDelayedTriggeredAbility()),
+ RaidCondition.instance,
+ "
Raid — If you attacked with a creature this turn, when you cast your next instant or sorcery spell this turn, copy that spell an additional time. You may choose new targets for the copy.")
+ );
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
+ this.getSpellAbility().setAbilityWord(AbilityWord.RAID);
+ this.getSpellAbility().addHint(RaidHint.instance);
}
public HowlOfTheHorde(final HowlOfTheHorde card) {
@@ -49,7 +56,7 @@ public final class HowlOfTheHorde extends CardImpl {
}
class HowlOfTheHordeDelayedTriggeredAbility extends DelayedTriggeredAbility {
-
+
HowlOfTheHordeDelayedTriggeredAbility() {
super(new CopyTargetSpellEffect(true), Duration.EndOfTurn);
}
@@ -70,11 +77,11 @@ class HowlOfTheHordeDelayedTriggeredAbility extends DelayedTriggeredAbility {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getPlayerId().equals(this.getControllerId())) {
+ if (event.getPlayerId().equals(this.getControllerId())) {
Spell spell = game.getStack().getSpell(event.getTargetId());
if (spell != null && (spell.isInstant() || spell.isSorcery())) {
for (Effect effect : this.getEffects()) {
- effect.setTargetPointer(new FixedTarget(event.getTargetId()));
+ effect.setTargetPointer(new FixedTarget(event.getTargetId()));
}
return true;
}
diff --git a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
index 61d6bafce63..e0e52993ca3 100644
--- a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
+++ b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
@@ -1,22 +1,23 @@
-
package mage.cards.m;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class MaraudingLooter extends CardImpl {
@@ -34,8 +35,10 @@ public final class MaraudingLooter extends CardImpl {
new BeginningOfEndStepTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true), TargetController.YOU, false),
RaidCondition.instance,
"Raid — At the beginning of your end step, "
- + "if you attacked this turn, "
- + "you may draw a card. If you do, discard a card.");
+ + "if you attacked this turn, "
+ + "you may draw a card. If you do, discard a card.");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
index 1c7a68b9f2f..d33732125da 100644
--- a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
+++ b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
@@ -1,28 +1,29 @@
-
package mage.cards.m;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class MarduHeartPiercer extends CardImpl {
public MarduHeartPiercer(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ARCHER);
@@ -33,6 +34,8 @@ public final class MarduHeartPiercer extends CardImpl {
Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, {this} deals 2 damage to any target.");
ability.addTarget(new TargetAnyTarget());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarduHordechief.java b/Mage.Sets/src/mage/cards/m/MarduHordechief.java
index 3aba8225636..891f06fe6df 100644
--- a/Mage.Sets/src/mage/cards/m/MarduHordechief.java
+++ b/Mage.Sets/src/mage/cards/m/MarduHordechief.java
@@ -1,21 +1,22 @@
-
package mage.cards.m;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.WarriorToken;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author emerald000
*/
public final class MarduHordechief extends CardImpl {
@@ -29,8 +30,12 @@ public final class MarduHordechief extends CardImpl {
this.toughness = new MageInt(3);
// Raid — When Mardu Hordechief enters the battlefield, if you attacked this turn, create a 1/1 white Warrior creature token
- this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WarriorToken())), RaidCondition.instance,
- "Raid — When {this} enters the battlefield, if you attacked this turn, create a 1/1 white Warrior creature token."),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ new CreateTokenEffect(new WarriorToken())),
+ RaidCondition.instance,
+ "Raid — When {this} enters the battlefield, if you attacked this turn, create a 1/1 white Warrior creature token.")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
index a5b80760826..032141f31d7 100644
--- a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
+++ b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
@@ -1,7 +1,5 @@
-
package mage.cards.m;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
@@ -9,21 +7,24 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetOpponent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class MarduSkullhunter extends CardImpl {
public MarduSkullhunter(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WARRIOR);
@@ -37,6 +38,8 @@ public final class MarduSkullhunter extends CardImpl {
Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
index e9b550f83c5..7f05f3fa649 100644
--- a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
+++ b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
@@ -1,21 +1,22 @@
-
package mage.cards.m;
-import java.util.UUID;
import mage.MageInt;
import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.mana.AddManaToManaPoolSourceControllerEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class MarduWarshrieker extends CardImpl {
@@ -29,8 +30,12 @@ public final class MarduWarshrieker extends CardImpl {
this.toughness = new MageInt(3);
// Raid - When Mardu Warshrieker enters the battlefield, if you attacked this turn, add {R}{W}{B}.
- this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(new Mana(1, 0, 0, 1, 1, 0, 0, 0))), RaidCondition.instance,
- "Raid — When {this} enters the battlefield, if you attacked this turn, add {R}{W}{B}."),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ new AddManaToManaPoolSourceControllerEffect(new Mana(1, 0, 0, 1, 1, 0, 0, 0))),
+ RaidCondition.instance,
+ "Raid — When {this} enters the battlefield, if you attacked this turn, add {R}{W}{B}.")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java b/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
index d9fe043d271..225e1238808 100644
--- a/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
+++ b/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
@@ -5,8 +5,10 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.target.common.TargetOpponent;
@@ -23,13 +25,15 @@ public final class NavigatorsRuin extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
// Raid - At the beginning of your end step, if you attacked with a creature this turm, target opponent puts the top four cards of their library into their graveyard.
- Ability ability = new ConditionalInterveningIfTriggeredAbility(
- new BeginningOfEndStepTriggeredAbility(
- new PutLibraryIntoGraveTargetEffect(4), TargetController.YOU, false
- ), RaidCondition.instance, "Raid — At the beginning of your end step, " +
- "if you attacked this turn, target opponent mills four cards."
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ new PutLibraryIntoGraveTargetEffect(4), TargetController.YOU, false),
+ RaidCondition.instance,
+ "Raid — At the beginning of your end step, " +
+ "if you attacked this turn, target opponent mills four cards."
);
ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/n/NightsquadCommando.java b/Mage.Sets/src/mage/cards/n/NightsquadCommando.java
index 15e60891de5..8ae8c016bc7 100644
--- a/Mage.Sets/src/mage/cards/n/NightsquadCommando.java
+++ b/Mage.Sets/src/mage/cards/n/NightsquadCommando.java
@@ -5,8 +5,10 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.HumanSoldierToken;
@@ -29,10 +31,12 @@ public final class NightsquadCommando extends CardImpl {
// When Nightsquad Commando enters the battlefield, if you attacked this turn, create a 1/1 white Human Soldier creature token.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
- new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
- RaidCondition.instance, "When {this} enters the battlefield, " +
- "if you attacked this turn, create a 1/1 white Human Soldier creature token."
- ), new PlayerAttackedWatcher());
+ new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
+ RaidCondition.instance, "When {this} enters the battlefield, " +
+ "if you attacked this turn, create a 1/1 white Human Soldier creature token.")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
+ new PlayerAttackedWatcher());
}
private NightsquadCommando(final NightsquadCommando card) {
diff --git a/Mage.Sets/src/mage/cards/p/ProteanRaider.java b/Mage.Sets/src/mage/cards/p/ProteanRaider.java
index e1aee66bd8b..0e5ee02b6bd 100644
--- a/Mage.Sets/src/mage/cards/p/ProteanRaider.java
+++ b/Mage.Sets/src/mage/cards/p/ProteanRaider.java
@@ -1,18 +1,20 @@
-
package mage.cards.p;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.CopyPermanentEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
* @author JayDi85
*/
@@ -29,6 +31,8 @@ public final class ProteanRaider extends CardImpl {
// Raid — If you attacked with a creature this turn, you may have Protean Raider enter the battlefield as a copy of any creature on the battlefield.
Ability ability = new EntersBattlefieldAbility(new CopyPermanentEffect(), true, RaidCondition.instance,
"Raid — If you attacked with a creature this turn, you may have {this} enter the battlefield as a copy of any creature on the battlefield.", "");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/r/RaidersWake.java b/Mage.Sets/src/mage/cards/r/RaidersWake.java
index 36fad0226c5..e99f74624df 100644
--- a/Mage.Sets/src/mage/cards/r/RaidersWake.java
+++ b/Mage.Sets/src/mage/cards/r/RaidersWake.java
@@ -1,7 +1,5 @@
-
package mage.cards.r;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.DiscardsACardOpponentTriggeredAbility;
@@ -9,16 +7,19 @@ import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SetTargetPointer;
import mage.constants.TargetController;
import mage.target.common.TargetOpponent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class RaidersWake extends CardImpl {
@@ -34,6 +35,8 @@ public final class RaidersWake extends CardImpl {
new BeginningOfEndStepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false), RaidCondition.instance,
"Raid — At the beginning of your end step, if you attacked this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java b/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java
index e0c8ba253da..530ea6ec3d0 100644
--- a/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java
+++ b/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java
@@ -1,13 +1,12 @@
-
package mage.cards.r;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
@@ -16,8 +15,9 @@ import mage.constants.Zone;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class RepeatingBarrage extends CardImpl {
@@ -35,6 +35,7 @@ public final class RepeatingBarrage extends CardImpl {
new ManaCostsImpl("{3}{R}{R}"),
RaidCondition.instance);
ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/r/RiggingRunner.java b/Mage.Sets/src/mage/cards/r/RiggingRunner.java
index 2e753acd2b1..5cd6688ab42 100644
--- a/Mage.Sets/src/mage/cards/r/RiggingRunner.java
+++ b/Mage.Sets/src/mage/cards/r/RiggingRunner.java
@@ -1,21 +1,22 @@
-
package mage.cards.r;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class RiggingRunner extends CardImpl {
@@ -33,9 +34,11 @@ public final class RiggingRunner extends CardImpl {
// Raid — Rigging Runner enters the battlefield with a +1/+1 counter on it if you attacked this turn.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
- RaidCondition.instance,
- "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.",
- "{this} enters the battlefield with a +1/+1 counter"),
+ RaidCondition.instance,
+ "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.",
+ "{this} enters the battlefield with a +1/+1 counter")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/r/RuinRaider.java b/Mage.Sets/src/mage/cards/r/RuinRaider.java
index 6b1f4e6896e..b91f50cd77c 100644
--- a/Mage.Sets/src/mage/cards/r/RuinRaider.java
+++ b/Mage.Sets/src/mage/cards/r/RuinRaider.java
@@ -1,29 +1,21 @@
-
package mage.cards.r;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
-import mage.cards.Card;
-import mage.cards.CardImpl;
-import mage.cards.CardSetInfo;
-import mage.cards.Cards;
-import mage.cards.CardsImpl;
-import mage.constants.CardType;
-import mage.constants.SubType;
-import mage.constants.Outcome;
-import mage.constants.TargetController;
-import mage.constants.Zone;
+import mage.abilities.hint.common.RaidHint;
+import mage.cards.*;
+import mage.constants.*;
import mage.game.Game;
import mage.players.Player;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class RuinRaider extends CardImpl {
@@ -41,8 +33,10 @@ public final class RuinRaider extends CardImpl {
new BeginningOfEndStepTriggeredAbility(new RuinRaiderEffect(), TargetController.YOU, false),
RaidCondition.instance,
"Raid — At the beginning of your end step, if you attacked this turn, "
- + "reveal the top card of your library and put that card into your hand. "
- + "You lose life equal to the card's converted mana cost.");
+ + "reveal the top card of your library and put that card into your hand. "
+ + "You lose life equal to the card's converted mana cost.");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
index f78eb33da0f..202318de1e2 100644
--- a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
+++ b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
@@ -1,21 +1,22 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
-import mage.constants.SubType;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
+import mage.constants.SubType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class ShipwreckLooter extends CardImpl {
@@ -33,6 +34,8 @@ public final class ShipwreckLooter extends CardImpl {
new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true)),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, you may draw a card. If you do, discard a card.");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/SirenReaver.java b/Mage.Sets/src/mage/cards/s/SirenReaver.java
index edce1c538f8..713816d357a 100644
--- a/Mage.Sets/src/mage/cards/s/SirenReaver.java
+++ b/Mage.Sets/src/mage/cards/s/SirenReaver.java
@@ -1,11 +1,11 @@
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -15,8 +15,9 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class SirenReaver extends CardImpl {
@@ -31,13 +32,13 @@ public final class SirenReaver extends CardImpl {
// Raid — Siren Reaver costs {1} less to cast if you attacked this turn.
Ability ability = new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(1, RaidCondition.instance));
- ability.setAbilityWord(AbilityWord.RAID);
ability.setRuleAtTheTop(true);
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
// Flying
this.addAbility(FlyingAbility.getInstance());
-
}
public SirenReaver(final SirenReaver card) {
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java
index 842d33e58c6..2ce64f21feb 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java
@@ -1,21 +1,22 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class StormFleetAerialist extends CardImpl {
@@ -33,9 +34,11 @@ public final class StormFleetAerialist extends CardImpl {
// Raid - Storm Fleet Aerialist enters the battlefield with a +1/+1 counter on it if you attacked this turn.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
- RaidCondition.instance,
- "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.",
- "{this} enters the battlefield with a +1/+1 counter"),
+ RaidCondition.instance,
+ "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.",
+ "{this} enters the battlefield with a +1/+1 counter")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
index f11256b5d05..cad88cdba21 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
@@ -1,23 +1,24 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.target.common.TargetOpponent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author TheElk801
*/
public final class StormFleetArsonist extends CardImpl {
@@ -36,6 +37,8 @@ public final class StormFleetArsonist extends CardImpl {
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, target opponent sacrifices a permanent.");
ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java b/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
index 89c606b7bcd..444490c8542 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
@@ -1,22 +1,23 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class StormFleetPyromancer extends CardImpl {
@@ -36,6 +37,8 @@ public final class StormFleetPyromancer extends CardImpl {
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, {this} deals 2 damage to any target.");
ability.addTarget(new TargetAnyTarget());
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetSpy.java b/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
index e5d919829c1..f69fca61a7b 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
@@ -1,21 +1,22 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class StormFleetSpy extends CardImpl {
@@ -33,6 +34,8 @@ public final class StormFleetSpy extends CardImpl {
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, draw a card.");
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java b/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java
index 01ab2ba6a7a..eadcb1db166 100644
--- a/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java
+++ b/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java
@@ -1,19 +1,20 @@
-
package mage.cards.s;
-import java.util.UUID;
-
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
* @author JayDi85
*/
@@ -29,10 +30,12 @@ public final class SwaggeringCorsair extends CardImpl {
// Raid — Swaggering Corsair enters the battlefield with a +1/+1 counter on it if you attacked this turn.
this.addAbility(new EntersBattlefieldAbility(
- new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
- RaidCondition.instance,
- "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.", ""
- ), new PlayerAttackedWatcher());
+ new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
+ RaidCondition.instance,
+ "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn.", "")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
+ new PlayerAttackedWatcher());
}
public SwaggeringCorsair(final SwaggeringCorsair card) {
diff --git a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
index 6fede85dbe9..9598467d86b 100644
--- a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
+++ b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
@@ -1,25 +1,26 @@
-
package mage.cards.t;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.ComparisonType;
+import mage.constants.SubType;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class TimelyHordemate extends CardImpl {
@@ -42,6 +43,8 @@ public final class TimelyHordemate extends CardImpl {
Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked this turn, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield.");
ability.addTarget(new TargetCardInYourGraveyard(filter));
+ ability.setAbilityWord(AbilityWord.RAID);
+ ability.addHint(RaidHint.instance);
this.addAbility(ability, new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java
index 1c541c03797..2ab466222d9 100644
--- a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java
+++ b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java
@@ -1,26 +1,23 @@
-
package mage.cards.w;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleEvasionAbility;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.constants.CardType;
-import mage.constants.SubType;
-import mage.constants.ComparisonType;
-import mage.constants.Duration;
+import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author emerald000
*/
public final class WarNameAspirant extends CardImpl {
@@ -41,9 +38,11 @@ public final class WarNameAspirant extends CardImpl {
// Raid — War-Name Aspirant enters the battlefield with a +1/+1 counter on it if you attacked this turn.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
- RaidCondition.instance,
- "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn",
- "{this} enters the battlefield with a +1/+1 counter"),
+ RaidCondition.instance,
+ "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked this turn",
+ "{this} enters the battlefield with a +1/+1 counter")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
// War-Name Aspirant can't be blocked by creatures with power 1 or less.
diff --git a/Mage.Sets/src/mage/cards/w/WingmateRoc.java b/Mage.Sets/src/mage/cards/w/WingmateRoc.java
index 9d2e4b27e23..a2a9ff5c915 100644
--- a/Mage.Sets/src/mage/cards/w/WingmateRoc.java
+++ b/Mage.Sets/src/mage/cards/w/WingmateRoc.java
@@ -1,7 +1,5 @@
-
package mage.cards.w;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@@ -11,16 +9,19 @@ import mage.abilities.dynamicvalue.common.AttackingCreatureCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GainLifeEffect;
+import mage.abilities.hint.common.RaidHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.WingmateRocToken;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author emerald000
*/
public final class WingmateRoc extends CardImpl {
@@ -35,9 +36,11 @@ public final class WingmateRoc extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
- // Raid - When Wingmate Roc enters the battlefield, if you attacked this turn, create a 3/4 white Bird creature token with flying.
+ // Raid — When Wingmate Roc enters the battlefield, if you attacked this turn, create a 3/4 white Bird creature token with flying.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WingmateRocToken())), RaidCondition.instance,
- "Raid — When {this} enters the battlefield, if you attacked this turn, create a 3/4 white Bird creature token with flying."),
+ "Raid — When {this} enters the battlefield, if you attacked this turn, create a 3/4 white Bird creature token with flying.")
+ .setAbilityWord(AbilityWord.RAID)
+ .addHint(RaidHint.instance),
new PlayerAttackedWatcher());
// Whenever Wingmate Roc attacks, you gain 1 life for each attacking creature.
diff --git a/Mage/src/main/java/mage/abilities/hint/common/RaidHint.java b/Mage/src/main/java/mage/abilities/hint/common/RaidHint.java
new file mode 100644
index 00000000000..c941746a2b3
--- /dev/null
+++ b/Mage/src/main/java/mage/abilities/hint/common/RaidHint.java
@@ -0,0 +1,26 @@
+package mage.abilities.hint.common;
+
+import mage.abilities.Ability;
+import mage.abilities.condition.common.RaidCondition;
+import mage.abilities.hint.ConditionHint;
+import mage.abilities.hint.Hint;
+import mage.game.Game;
+
+/**
+ * @author JayDi85
+ */
+public enum RaidHint implements Hint {
+
+ instance;
+ private static final ConditionHint hint = new ConditionHint(RaidCondition.instance, "You attacked this turn");
+
+ @Override
+ public String getText(Game game, Ability ability) {
+ return hint.getText(game, ability);
+ }
+
+ @Override
+ public Hint copy() {
+ return instance;
+ }
+}