diff --git a/Mage.Sets/src/mage/cards/d/DeadlyRollick.java b/Mage.Sets/src/mage/cards/d/DeadlyRollick.java index 1d259b9544..9a9f8ce366 100644 --- a/Mage.Sets/src/mage/cards/d/DeadlyRollick.java +++ b/Mage.Sets/src/mage/cards/d/DeadlyRollick.java @@ -3,6 +3,7 @@ package mage.cards.d; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.hint.common.ControlACommanderHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -19,7 +20,9 @@ public final class DeadlyRollick extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B}"); // If you control a commander, you may cast this card without paying its mana cost - this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance)); + this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance) + .addHint(ControlACommanderHint.instance) + ); // Exile target creature. this.getSpellAbility().addEffect(new ExileTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/d/DeflectingSwat.java b/Mage.Sets/src/mage/cards/d/DeflectingSwat.java index 616b942e7e..74141e51cc 100644 --- a/Mage.Sets/src/mage/cards/d/DeflectingSwat.java +++ b/Mage.Sets/src/mage/cards/d/DeflectingSwat.java @@ -3,6 +3,7 @@ package mage.cards.d; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.effects.common.ChooseNewTargetsTargetEffect; +import mage.abilities.hint.common.ControlACommanderHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -19,7 +20,9 @@ public final class DeflectingSwat extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}"); // If you control a commander, you may cast this spell without paying its mana cost. - this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance)); + this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance) + .addHint(ControlACommanderHint.instance) + ); // You may chose new targets for target spell or ability. this.getSpellAbility().addTarget(new TargetStackObject()); diff --git a/Mage.Sets/src/mage/cards/f/FierceGuardianship.java b/Mage.Sets/src/mage/cards/f/FierceGuardianship.java index 4e96a94fe8..b56dd12381 100644 --- a/Mage.Sets/src/mage/cards/f/FierceGuardianship.java +++ b/Mage.Sets/src/mage/cards/f/FierceGuardianship.java @@ -3,6 +3,7 @@ package mage.cards.f; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.hint.common.ControlACommanderHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -20,7 +21,9 @@ public final class FierceGuardianship extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); // If you control a commander, you may cast this spell without paying its mana cost. - this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance)); + this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance) + .addHint(ControlACommanderHint.instance) + ); // Counter target noncreature spell. this.getSpellAbility().addEffect(new CounterTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java b/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java index 511d2639f9..b4f0e2c4b6 100644 --- a/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java +++ b/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java @@ -3,6 +3,7 @@ package mage.cards.f; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.hint.common.ControlACommanderHint; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -21,7 +22,9 @@ public final class FlawlessManeuver extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}"); // If you control a commander, you may cast this spell without paying its mana cost. - this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance)); + this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance) + .addHint(ControlACommanderHint.instance) + ); // Creatures you control gain indestructible until end of turn. this.getSpellAbility().addEffect(new GainAbilityControlledEffect( diff --git a/Mage.Sets/src/mage/cards/o/ObscuringHaze.java b/Mage.Sets/src/mage/cards/o/ObscuringHaze.java index 7d6c23596d..62c5b0699a 100644 --- a/Mage.Sets/src/mage/cards/o/ObscuringHaze.java +++ b/Mage.Sets/src/mage/cards/o/ObscuringHaze.java @@ -3,6 +3,7 @@ package mage.cards.o; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.effects.common.PreventAllDamageByAllObjectsEffect; +import mage.abilities.hint.common.ControlACommanderHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -24,7 +25,9 @@ public final class ObscuringHaze extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}"); // If you control a commander, you may cast this spell without paying its mana cost. - this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance)); + this.addAbility(new AlternativeCostSourceAbility(null, ControlACommanderCondition.instance) + .addHint(ControlACommanderHint.instance) + ); // Prevent all damage that would be dealt this turn by creatures your opponents control. this.getSpellAbility().addEffect(new PreventAllDamageByAllObjectsEffect( diff --git a/Mage/src/main/java/mage/abilities/hint/common/ControlACommanderHint.java b/Mage/src/main/java/mage/abilities/hint/common/ControlACommanderHint.java new file mode 100644 index 0000000000..cada925026 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/hint/common/ControlACommanderHint.java @@ -0,0 +1,26 @@ +package mage.abilities.hint.common; + +import mage.abilities.Ability; +import mage.abilities.condition.common.ControlACommanderCondition; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.game.Game; + +/** + * @author JayDi85 + */ +public enum ControlACommanderHint implements Hint { + + instance; + private static final ConditionHint hint = new ConditionHint(ControlACommanderCondition.instance, "You control a commander"); + + @Override + public String getText(Game game, Ability ability) { + return hint.getText(game, ability); + } + + @Override + public Hint copy() { + return instance; + } +}