diff --git a/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java b/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java index ccb1ae6068..df45e9b8d4 100644 --- a/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java +++ b/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java @@ -1,24 +1,25 @@ - package mage.cards.b; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalRestrictionEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageAllEffect; import mage.abilities.effects.common.combat.CantBlockAllEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; +import java.util.UUID; + +import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; + /** - * * @author LevelX2 */ public final class BarrageOfBoulders extends CardImpl { @@ -41,6 +42,7 @@ public final class BarrageOfBoulders extends CardImpl { new LockedInCondition(FerociousCondition.instance), null); effect.setText("
Ferocious — If you control a creature with power 4 or greater, creatures can't block this turn"); this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addHint(FerociousHint.instance); } public BarrageOfBoulders(final BarrageOfBoulders card) { diff --git a/Mage.Sets/src/mage/cards/c/ClearTheStage.java b/Mage.Sets/src/mage/cards/c/ClearTheStage.java index fd5266eddf..b642591b6f 100644 --- a/Mage.Sets/src/mage/cards/c/ClearTheStage.java +++ b/Mage.Sets/src/mage/cards/c/ClearTheStage.java @@ -4,6 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -33,6 +34,7 @@ public final class ClearTheStage extends CardImpl { this.getSpellAbility().addEffect(new ClearTheStageEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter)); + this.getSpellAbility().addHint(FerociousHint.instance); } private ClearTheStage(final ClearTheStage card) { diff --git a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java index abd4bd9d6f..b82fb0a92b 100644 --- a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java +++ b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java @@ -1,17 +1,18 @@ package mage.cards.c; -import java.util.UUID; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; +import java.util.UUID; + /** - * * @author TheElk801 */ public final class ColossalMajesty extends CardImpl { @@ -27,9 +28,9 @@ public final class ColossalMajesty extends CardImpl { ), FerociousCondition.instance, "At the beginning of your upkeep, " - + "if you control a creature with power 4 or greater, " - + "draw a card." - )); + + "if you control a creature with power 4 or greater, " + + "draw a card." + ).addHint(FerociousHint.instance)); } public ColossalMajesty(final ColossalMajesty card) { diff --git a/Mage.Sets/src/mage/cards/c/CratersClaws.java b/Mage.Sets/src/mage/cards/c/CratersClaws.java index acdea1c74a..a4b2b4dbfb 100644 --- a/Mage.Sets/src/mage/cards/c/CratersClaws.java +++ b/Mage.Sets/src/mage/cards/c/CratersClaws.java @@ -1,19 +1,19 @@ - package mage.cards.c; -import java.util.UUID; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.dynamicvalue.IntPlusDynamicValue; import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.target.common.TargetAnyTarget; +import java.util.UUID; + /** - * * @author emerald000 */ public final class CratersClaws extends CardImpl { @@ -28,8 +28,9 @@ public final class CratersClaws extends CardImpl { new DamageTargetEffect(ManacostVariableValue.instance), FerociousCondition.instance, "{this} deals X damage to any target." - + "
Ferocious — {this} deals X plus 2 damage to that permanent or player instead if you control a creature with power 4 or greater")); + + "
Ferocious — {this} deals X plus 2 damage to that permanent or player instead if you control a creature with power 4 or greater")); this.getSpellAbility().addTarget(new TargetAnyTarget()); + this.getSpellAbility().addHint(FerociousHint.instance); } public CratersClaws(final CratersClaws card) { diff --git a/Mage.Sets/src/mage/cards/d/DragonGrip.java b/Mage.Sets/src/mage/cards/d/DragonGrip.java index f84bd0ffa2..9280f0c4a2 100644 --- a/Mage.Sets/src/mage/cards/d/DragonGrip.java +++ b/Mage.Sets/src/mage/cards/d/DragonGrip.java @@ -1,7 +1,5 @@ - package mage.cards.d; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.FerociousCondition; @@ -12,6 +10,7 @@ import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.BoostEnchantedEffect; import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashSourceEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; @@ -20,21 +19,23 @@ import mage.constants.*; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class DragonGrip extends CardImpl { public DragonGrip(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); this.subtype.add(SubType.AURA); // Ferocious - If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash. AsThoughEffect effect = new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame); effect.setText("Ferocious — If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash"); this.addAbility(new SimpleStaticAbility(Zone.ALL, new ConditionalAsThoughEffect(effect, - FerociousCondition.instance))); + FerociousCondition.instance)) + .addHint(FerociousHint.instance)); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FeedTheClan.java b/Mage.Sets/src/mage/cards/f/FeedTheClan.java index 63a5945c35..264c5571d9 100644 --- a/Mage.Sets/src/mage/cards/f/FeedTheClan.java +++ b/Mage.Sets/src/mage/cards/f/FeedTheClan.java @@ -1,22 +1,22 @@ - package mage.cards.f; -import java.util.UUID; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class FeedTheClan extends CardImpl { public FeedTheClan(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); // You gain 5 life. // Ferocious - You gain 10 life instead if you control a creature with power 4 or greater @@ -25,7 +25,7 @@ public final class FeedTheClan extends CardImpl { new GainLifeEffect(5), FerociousCondition.instance, "You gain 5 life.
Ferocious — You gain 10 life instead if you control a creature with power 4 or greater")); - + this.getSpellAbility().addHint(FerociousHint.instance); } public FeedTheClan(final FeedTheClan card) { diff --git a/Mage.Sets/src/mage/cards/f/FlamesOfTheRazeBoar.java b/Mage.Sets/src/mage/cards/f/FlamesOfTheRazeBoar.java index 57230b6b87..35f5be6fd2 100644 --- a/Mage.Sets/src/mage/cards/f/FlamesOfTheRazeBoar.java +++ b/Mage.Sets/src/mage/cards/f/FlamesOfTheRazeBoar.java @@ -4,6 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -30,6 +31,7 @@ public final class FlamesOfTheRazeBoar extends CardImpl { // Flames of the Raze-Boar deals 4 damage to target creature an opponent controls. Then Flames of the Raze-Boar deals 2 damage to each other creature that player controls if you control a creature with power 4 or greater. this.getSpellAbility().addEffect(new FlamesOfTheRazeBoarEffect()); this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); + this.getSpellAbility().addHint(FerociousHint.instance); } private FlamesOfTheRazeBoar(final FlamesOfTheRazeBoar card) { diff --git a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java index 5f806e6506..28d008efd6 100644 --- a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java +++ b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java @@ -1,7 +1,5 @@ - package mage.cards.f; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.AttacksEachCombatStaticAbility; import mage.abilities.common.BeginningOfCombatTriggeredAbility; @@ -10,6 +8,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlSourceEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; @@ -19,8 +18,9 @@ import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class FlamewakePhoenix extends CardImpl { @@ -46,7 +46,7 @@ public final class FlamewakePhoenix extends CardImpl { TargetController.YOU, false, false), FerociousCondition.instance, "Ferocious — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return {this} from your graveyard to the battlefield." - )); + ).addHint(FerociousHint.instance)); } public FlamewakePhoenix(final FlamewakePhoenix card) { diff --git a/Mage.Sets/src/mage/cards/f/ForceAway.java b/Mage.Sets/src/mage/cards/f/ForceAway.java index 186de960f8..766dc39d9f 100644 --- a/Mage.Sets/src/mage/cards/f/ForceAway.java +++ b/Mage.Sets/src/mage/cards/f/ForceAway.java @@ -1,34 +1,35 @@ - package mage.cards.f; -import java.util.UUID; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class ForceAway extends CardImpl { public ForceAway(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); // Return target creature to its owner's hand. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Ferocious — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card. - Effect effect = new ConditionalOneShotEffect(new DrawDiscardControllerEffect(1,1, true), - FerociousCondition.instance , "
Ferocious — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card"); + Effect effect = new ConditionalOneShotEffect(new DrawDiscardControllerEffect(1, 1, true), + FerociousCondition.instance, "
Ferocious — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card"); this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addHint(FerociousHint.instance); } public ForceAway(final ForceAway card) { diff --git a/Mage.Sets/src/mage/cards/f/FrontierMastodon.java b/Mage.Sets/src/mage/cards/f/FrontierMastodon.java index cb19bf01a4..505c938a10 100644 --- a/Mage.Sets/src/mage/cards/f/FrontierMastodon.java +++ b/Mage.Sets/src/mage/cards/f/FrontierMastodon.java @@ -1,25 +1,25 @@ - package mage.cards.f; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class FrontierMastodon extends CardImpl { public FrontierMastodon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(2); @@ -28,8 +28,8 @@ public final class FrontierMastodon extends CardImpl { this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), FerociousCondition.instance, - "Ferocious — {this} enters the battlefield with a +1/+1 counter on it if you control a creature with power 4 or greater.","" - )); + "Ferocious — {this} enters the battlefield with a +1/+1 counter on it if you control a creature with power 4 or greater.", "" + ).addHint(FerociousHint.instance)); } public FrontierMastodon(final FrontierMastodon card) { diff --git a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java index 83b21abffc..9f575ad13e 100644 --- a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java @@ -1,28 +1,28 @@ - package mage.cards.h; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Duration; +import mage.constants.SubType; + +import java.util.UUID; /** - * * @author LevelX2 */ public final class HeirOfTheWilds extends CardImpl { public HeirOfTheWilds(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); @@ -33,10 +33,11 @@ public final class HeirOfTheWilds extends CardImpl { this.addAbility(DeathtouchAbility.getInstance()); // Ferocious - Whenever Heir of the Wilds attacks, if you control a creature with power 4 or greater, Heir of the Wilds gets +1/+1 until end of turn. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new AttacksTriggeredAbility(new BoostSourceEffect(1,1,Duration.EndOfTurn), false), + new AttacksTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false), FerociousCondition.instance, "Ferocious — Whenever {this} attacks, if you control a creature with power 4 or greater, {this} gets +1/+1 until end of turn." ); + ability.addHint(FerociousHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/IcyBlast.java b/Mage.Sets/src/mage/cards/i/IcyBlast.java index 2df2b53a35..2d9034b5a1 100644 --- a/Mage.Sets/src/mage/cards/i/IcyBlast.java +++ b/Mage.Sets/src/mage/cards/i/IcyBlast.java @@ -1,4 +1,3 @@ - package mage.cards.i; import mage.abilities.Ability; @@ -8,6 +7,7 @@ import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -35,6 +35,7 @@ public final class IcyBlast extends CardImpl { effect.setText("
Ferocious — If you control a creature with power 4 or greater, those creatures don't untap during their controllers' next untap steps"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().setTargetAdjuster(IcyBlastAdjuster.instance); + this.getSpellAbility().addHint(FerociousHint.instance); } public IcyBlast(final IcyBlast card) { diff --git a/Mage.Sets/src/mage/cards/r/RoarOfChallenge.java b/Mage.Sets/src/mage/cards/r/RoarOfChallenge.java index 9ba4eaa3d6..3c7461f8da 100644 --- a/Mage.Sets/src/mage/cards/r/RoarOfChallenge.java +++ b/Mage.Sets/src/mage/cards/r/RoarOfChallenge.java @@ -1,12 +1,11 @@ - package mage.cards.r; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -14,14 +13,15 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class RoarOfChallenge extends CardImpl { public RoarOfChallenge(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}"); // All creatures able to block target creature this turn do so. @@ -32,6 +32,7 @@ public final class RoarOfChallenge extends CardImpl { new LockedInCondition(FerociousCondition.instance), "
Ferocious — That creature gains indestructible until end of turn if you control a creature with power 4 or greater.")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().addHint(FerociousHint.instance); } public RoarOfChallenge(final RoarOfChallenge card) { diff --git a/Mage.Sets/src/mage/cards/s/SavagePunch.java b/Mage.Sets/src/mage/cards/s/SavagePunch.java index a2132158fe..44ecf46579 100644 --- a/Mage.Sets/src/mage/cards/s/SavagePunch.java +++ b/Mage.Sets/src/mage/cards/s/SavagePunch.java @@ -1,13 +1,12 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.FightTargetsEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -19,8 +18,9 @@ import mage.target.Target; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class SavagePunch extends CardImpl { @@ -40,6 +40,7 @@ public final class SavagePunch extends CardImpl { new LockedInCondition(FerociousCondition.instance), "Ferocious — The creature you control gets +2/+2 until end of turn before it fights if you control a creature with power 4 or greater"); this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addHint(FerociousHint.instance); // Target creature you control fights target creature you don't control. effect = new FightTargetsEffect(); diff --git a/Mage.Sets/src/mage/cards/s/SeeTheUnwritten.java b/Mage.Sets/src/mage/cards/s/SeeTheUnwritten.java index a56e262ad4..5b993df82d 100644 --- a/Mage.Sets/src/mage/cards/s/SeeTheUnwritten.java +++ b/Mage.Sets/src/mage/cards/s/SeeTheUnwritten.java @@ -1,12 +1,11 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.OneShotEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.Cards; @@ -19,8 +18,9 @@ import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class SeeTheUnwritten extends CardImpl { @@ -35,7 +35,8 @@ public final class SeeTheUnwritten extends CardImpl { new SeeTheUnwrittenEffect(2), new InvertCondition(FerociousCondition.instance), "Reveal the top eight cards of your library. You may put a creature card from among them onto the battlefield. Put the rest into your graveyard." - + "
Ferocious — If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one")); + + "
Ferocious — If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one")); + this.getSpellAbility().addHint(FerociousHint.instance); } public SeeTheUnwritten(final SeeTheUnwritten card) { diff --git a/Mage.Sets/src/mage/cards/s/StubbornDenial.java b/Mage.Sets/src/mage/cards/s/StubbornDenial.java index 7b4d2c1f40..8ae807c321 100644 --- a/Mage.Sets/src/mage/cards/s/StubbornDenial.java +++ b/Mage.Sets/src/mage/cards/s/StubbornDenial.java @@ -1,13 +1,12 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.CounterTargetEffect; import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -16,31 +15,35 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetSpell; +import java.util.UUID; + /** - * * @author emerald000 */ public final class StubbornDenial extends CardImpl { - + private static final FilterSpell filter = new FilterSpell("noncreature spell"); + static { filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); } - + public StubbornDenial(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}"); // Counter target noncreature spell unless its controller pays {1}. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new CounterUnlessPaysEffect(new GenericManaCost(1)), new InvertCondition(FerociousCondition.instance), "Counter target noncreature spell unless its controller pays {1}.")); + // Ferocious — If you control a creature with power 4 or greater, counter that spell instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new CounterTargetEffect(), FerociousCondition.instance, "
Ferocious &mdash If you control a creature with power 4 or greater, counter that spell instead")); this.getSpellAbility().addTarget(new TargetSpell(filter)); + this.getSpellAbility().addHint(FerociousHint.instance); } public StubbornDenial(final StubbornDenial card) { diff --git a/Mage.Sets/src/mage/cards/t/TemurBattleRage.java b/Mage.Sets/src/mage/cards/t/TemurBattleRage.java index cd51ad863e..1ec9a35e8a 100644 --- a/Mage.Sets/src/mage/cards/t/TemurBattleRage.java +++ b/Mage.Sets/src/mage/cards/t/TemurBattleRage.java @@ -1,11 +1,10 @@ - package mage.cards.t; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; @@ -14,27 +13,28 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class TemurBattleRage extends CardImpl { - + private final static String rule = "
Ferocious — That creature also gains trample until end of turn if you control a creature with power 4 or greater"; public TemurBattleRage(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); // Target creature gains double strike until end of turn. this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - + // Ferocious That creature also gains trample until end of turn if you control a creature with power 4 or greater. this.getSpellAbility().addEffect(new ConditionalContinuousEffect( new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new LockedInCondition(FerociousCondition.instance), rule)); - + this.getSpellAbility().addHint(FerociousHint.instance); } public TemurBattleRage(final TemurBattleRage card) { diff --git a/Mage.Sets/src/mage/cards/u/UndercitysEmbrace.java b/Mage.Sets/src/mage/cards/u/UndercitysEmbrace.java index f1b575cbd9..9e74e52157 100644 --- a/Mage.Sets/src/mage/cards/u/UndercitysEmbrace.java +++ b/Mage.Sets/src/mage/cards/u/UndercitysEmbrace.java @@ -4,6 +4,7 @@ import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.SacrificeEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -29,6 +30,7 @@ public final class UndercitysEmbrace extends CardImpl { new GainLifeEffect(4), FerociousCondition.instance, "If you control a creature with power 4 or greater, you gain 4 life." )); + this.getSpellAbility().addHint(FerociousHint.instance); } private UndercitysEmbrace(final UndercitysEmbrace card) { diff --git a/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java b/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java index b0191ab4b1..e461dc01ec 100644 --- a/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java @@ -1,13 +1,12 @@ - package mage.cards.w; -import java.util.UUID; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.mana.BasicManaEffect; +import mage.abilities.hint.common.FerociousHint; import mage.abilities.mana.ActivateIfConditionManaAbility; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; @@ -17,14 +16,15 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class WhispererOfTheWilds extends CardImpl { public WhispererOfTheWilds(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); @@ -36,6 +36,7 @@ public final class WhispererOfTheWilds extends CardImpl { // Ferocious - {T}: Add {G}{G}. Activate this ability only if you control a creature with power 4 or greater. Ability ability = new ActivateIfConditionManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost(), FerociousCondition.instance); ability.setAbilityWord(AbilityWord.FEROCIOUS); + ability.addHint(FerociousHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WildSlash.java b/Mage.Sets/src/mage/cards/w/WildSlash.java index 6917455ff6..f02f96a0bf 100644 --- a/Mage.Sets/src/mage/cards/w/WildSlash.java +++ b/Mage.Sets/src/mage/cards/w/WildSlash.java @@ -1,33 +1,34 @@ - package mage.cards.w; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect; import mage.abilities.effects.ContinuousRuleModifyingEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.continuous.DamageCantBePreventedEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.target.common.TargetAnyTarget; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class WildSlash extends CardImpl { public WildSlash(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}"); // Ferocious If you control a creature with power 4 or greater, damage can't be prevented this turn. ContinuousRuleModifyingEffect effect = new DamageCantBePreventedEffect(Duration.EndOfTurn, "damage can't be prevented this turn", false, false); effect.setText("Ferocious — If you control a creature with power 4 or greater, damage can't be prevented this turn.
"); this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(effect, new LockedInCondition(FerociousCondition.instance))); + this.getSpellAbility().addHint(FerociousHint.instance); // Wild Slash deals 2 damage to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); diff --git a/Mage.Sets/src/mage/cards/w/WindsOfQalSisma.java b/Mage.Sets/src/mage/cards/w/WindsOfQalSisma.java index 324891ba4f..715c7de787 100644 --- a/Mage.Sets/src/mage/cards/w/WindsOfQalSisma.java +++ b/Mage.Sets/src/mage/cards/w/WindsOfQalSisma.java @@ -1,12 +1,11 @@ - package mage.cards.w; -import java.util.UUID; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalReplacementEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; +import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -15,8 +14,9 @@ import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class WindsOfQalSisma extends CardImpl { @@ -28,7 +28,7 @@ public final class WindsOfQalSisma extends CardImpl { } public WindsOfQalSisma(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); // Prevent all combat damage that would be dealt this turn. // Ferocious - If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control. @@ -37,8 +37,9 @@ public final class WindsOfQalSisma extends CardImpl { new LockedInCondition(FerociousCondition.instance), new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true)); effect.setText("Prevent all combat damage that would be dealt this turn.
" + - "Ferocious — If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control"); + "Ferocious — If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control"); this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addHint(FerociousHint.instance); } public WindsOfQalSisma(final WindsOfQalSisma card) { diff --git a/Mage/src/main/java/mage/abilities/hint/common/FerociousHint.java b/Mage/src/main/java/mage/abilities/hint/common/FerociousHint.java new file mode 100644 index 0000000000..a934da23e7 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/hint/common/FerociousHint.java @@ -0,0 +1,26 @@ +package mage.abilities.hint.common; + +import mage.abilities.Ability; +import mage.abilities.condition.common.FerociousCondition; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.game.Game; + +/** + * @author JayDi85 + */ +public enum FerociousHint implements Hint { + + instance; + private static final ConditionHint hint = new ConditionHint(FerociousCondition.instance, "You control a creature with power 4+"); + + @Override + public String getText(Game game, Ability ability) { + return hint.getText(game, ability); + } + + @Override + public Hint copy() { + return instance; + } +}