From 2d2b009c4367e7ed7bf04fa2a75c6aeb894e8a4d Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sun, 12 Jan 2020 22:07:32 +0400 Subject: [PATCH] * My turn condition - added card hints about turn (final); --- .../src/mage/cards/s/SanctumOfEternity.java | 2 ++ Mage.Sets/src/mage/cards/s/SavageBeating.java | 5 ++--- Mage.Sets/src/mage/cards/s/ScepterOfFugue.java | 11 ++++++----- Mage.Sets/src/mage/cards/s/Seedtime.java | 11 ++++++----- .../mage/cards/s/SorinVengefulBloodlord.java | 3 ++- Mage.Sets/src/mage/cards/s/StreetRiot.java | 8 +++++--- .../src/mage/cards/s/SundialOfTheInfinite.java | 11 ++++++----- .../src/mage/cards/t/TetzimocPrimalDeath.java | 13 +++++-------- .../src/mage/cards/t/TideshaperMystic.java | 15 ++++++++------- Mage.Sets/src/mage/cards/t/TitheTaker.java | 4 +++- .../src/mage/cards/v/VibratingSphere.java | 10 ++++++---- .../src/mage/cards/v/VoiceOfResurgence.java | 2 ++ .../src/mage/cards/v/VonaButcherOfMagan.java | 13 +++++++------ .../src/mage/cards/w/WalkerOfSecretWays.java | 9 +++++---- Mage.Sets/src/mage/cards/w/WandOfIth.java | 15 ++++++--------- .../src/mage/cards/w/WardenOfTheWall.java | 18 +++++++++++------- Mage.Sets/src/mage/cards/w/WildwoodGeist.java | 13 +++++++------ .../src/mage/cards/w/WishclawTalisman.java | 2 ++ .../src/mage/cards/w/WolfwillowHaven.java | 2 ++ Mage.Sets/src/mage/cards/z/ZuranEnchanter.java | 11 ++++++----- .../src/mage/cards/z/ZurgoHelmsmasher.java | 17 ++++++++++------- 21 files changed, 109 insertions(+), 86 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SanctumOfEternity.java b/Mage.Sets/src/mage/cards/s/SanctumOfEternity.java index 88ecf10547..bbdfcf23ec 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumOfEternity.java +++ b/Mage.Sets/src/mage/cards/s/SanctumOfEternity.java @@ -6,6 +6,7 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -44,6 +45,7 @@ public final class SanctumOfEternity extends CardImpl { ); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetPermanent(filter)); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SavageBeating.java b/Mage.Sets/src/mage/cards/s/SavageBeating.java index 43b482a887..a659691d62 100644 --- a/Mage.Sets/src/mage/cards/s/SavageBeating.java +++ b/Mage.Sets/src/mage/cards/s/SavageBeating.java @@ -1,7 +1,5 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.Mode; import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility; import mage.abilities.condition.common.MyTurnCondition; @@ -18,8 +16,9 @@ import mage.constants.TurnPhase; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; +import java.util.UUID; + /** - * * @author emerald000 */ public final class SavageBeating extends CardImpl { diff --git a/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java b/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java index 29b7b654c3..053d302226 100644 --- a/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java +++ b/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java @@ -1,33 +1,34 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.target.TargetPlayer; +import java.util.UUID; + /** - * * @author Loki */ public final class ScepterOfFugue extends CardImpl { public ScepterOfFugue(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{B}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{B}{B}"); - // {1}{B}, {tap}: Target player discards a card. Activate this ability only during your turn. + // {1}{B}, {T}: Target player discards a card. Activate this ability only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{1}{B}"), MyTurnCondition.instance); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetPlayer()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/Seedtime.java b/Mage.Sets/src/mage/cards/s/Seedtime.java index efa5e33ce8..ec4eb3eae0 100644 --- a/Mage.Sets/src/mage/cards/s/Seedtime.java +++ b/Mage.Sets/src/mage/cards/s/Seedtime.java @@ -1,14 +1,12 @@ - package mage.cards.s; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -16,8 +14,10 @@ import mage.game.Game; import mage.game.stack.Spell; import mage.watchers.common.SpellsCastWatcher; +import java.util.List; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class Seedtime extends CardImpl { @@ -29,7 +29,8 @@ public final class Seedtime extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); // Cast Seedtime only during your turn. - this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, null, MyTurnCondition.instance, rule)); + this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, null, MyTurnCondition.instance, rule) + .addHint(MyTurnHint.instance)); // Take an extra turn after this one if an opponent cast a blue spell this turn. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new AddExtraTurnControllerEffect(), OpponentCastBlueSpellThisTurnCondition.instance, rule2)); diff --git a/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java b/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java index 922afbf6eb..3d94bbcb41 100644 --- a/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java +++ b/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java @@ -12,6 +12,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -47,7 +48,7 @@ public final class SorinVengefulBloodlord extends CardImpl { StaticFilters.FILTER_PERMANENT_CREATURE_OR_PLANESWALKER_A ), MyTurnCondition.instance, "As long as it's your turn, " + "creatures and planeswalkers you control have lifelink." - ))); + )).addHint(MyTurnHint.instance)); // +2: Sorin, Vengeful Bloodlord deals 1 damage to target player or planeswalker. Ability ability = new LoyaltyAbility(new DamageTargetEffect(1), 2); diff --git a/Mage.Sets/src/mage/cards/s/StreetRiot.java b/Mage.Sets/src/mage/cards/s/StreetRiot.java index 47cfcea72a..c525bc86ce 100644 --- a/Mage.Sets/src/mage/cards/s/StreetRiot.java +++ b/Mage.Sets/src/mage/cards/s/StreetRiot.java @@ -1,12 +1,12 @@ package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -15,8 +15,9 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; +import java.util.UUID; + /** - * * @author TheElk801 */ public final class StreetRiot extends CardImpl { @@ -32,7 +33,7 @@ public final class StreetRiot extends CardImpl { 1, 0, Duration.WhileOnBattlefield ), MyTurnCondition.instance, "As long as it's your turn, " - + "creatures you control get +1/+0" + + "creatures you control get +1/+0" )); ability.addEffect(new ConditionalContinuousEffect( new GainAbilityControlledEffect( @@ -41,6 +42,7 @@ public final class StreetRiot extends CardImpl { StaticFilters.FILTER_CONTROLLED_CREATURES ), MyTurnCondition.instance, "and have trample" )); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SundialOfTheInfinite.java b/Mage.Sets/src/mage/cards/s/SundialOfTheInfinite.java index 9b8780994e..3e09575136 100644 --- a/Mage.Sets/src/mage/cards/s/SundialOfTheInfinite.java +++ b/Mage.Sets/src/mage/cards/s/SundialOfTheInfinite.java @@ -1,30 +1,31 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.EndTurnEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author nantuko */ public final class SundialOfTheInfinite extends CardImpl { public SundialOfTheInfinite(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - // {1}, {tap}: End the turn. Activate this ability only during your turn. + // {1}, {T}: End the turn. Activate this ability only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new EndTurnEffect(), new GenericManaCost(1), MyTurnCondition.instance); ability.addCost(new TapSourceCost()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java b/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java index b6e6fd9133..6d03fbc10b 100644 --- a/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java +++ b/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java @@ -1,7 +1,5 @@ - package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; @@ -11,21 +9,19 @@ import mage.abilities.costs.common.RevealSourceFromYourHandCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class TetzimocPrimalDeath extends CardImpl { @@ -53,6 +49,7 @@ public final class TetzimocPrimalDeath extends CardImpl { Ability ability = new ActivateIfConditionActivatedAbility(Zone.HAND, new AddCountersTargetEffect(CounterType.PREY.createInstance()), new ManaCostsImpl("{B}"), MyTurnCondition.instance); ability.addTarget(new TargetCreaturePermanent()); ability.addCost(new RevealSourceFromYourHandCost()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); // When Tetzimoc, Primal Death enters the battlefield, destroy each creature your opponents control with a prey counter on it. diff --git a/Mage.Sets/src/mage/cards/t/TideshaperMystic.java b/Mage.Sets/src/mage/cards/t/TideshaperMystic.java index eb835a8ec6..251b9b4c03 100644 --- a/Mage.Sets/src/mage/cards/t/TideshaperMystic.java +++ b/Mage.Sets/src/mage/cards/t/TideshaperMystic.java @@ -1,38 +1,39 @@ - package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; +import mage.abilities.hint.common.MyTurnHint; 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 mage.constants.Zone; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** - * * @author fireshoes */ public final class TideshaperMystic extends CardImpl { public TideshaperMystic(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); this.subtype.add(SubType.MERFOLK); this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); - // {tap}: Target land becomes the basic land type of your choice until end of turn. Activate this ability only during your turn. - Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, + // {T}: Target land becomes the basic land type of your choice until end of turn. Activate this ability only during your turn. + Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost(), MyTurnCondition.instance); ability.addTarget(new TargetLandPermanent()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TitheTaker.java b/Mage.Sets/src/mage/cards/t/TitheTaker.java index c5f184deb4..4c058ca66d 100644 --- a/Mage.Sets/src/mage/cards/t/TitheTaker.java +++ b/Mage.Sets/src/mage/cards/t/TitheTaker.java @@ -6,6 +6,7 @@ import mage.abilities.SpellAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.effects.common.cost.CostModificationEffectImpl; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.AfterlifeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +30,8 @@ public final class TitheTaker extends CardImpl { this.toughness = new MageInt(1); // During your turn, spells your opponents cast cost {1} more to cast and abilities your opponents activate cost {1} more to activate unless they're mana abilities. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TitheTakerCostReductionEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TitheTakerCostReductionEffect()) + .addHint(MyTurnHint.instance)); // Afterlife 1 this.addAbility(new AfterlifeAbility(1)); diff --git a/Mage.Sets/src/mage/cards/v/VibratingSphere.java b/Mage.Sets/src/mage/cards/v/VibratingSphere.java index 627b2ab3ae..a5704eb1bc 100644 --- a/Mage.Sets/src/mage/cards/v/VibratingSphere.java +++ b/Mage.Sets/src/mage/cards/v/VibratingSphere.java @@ -1,20 +1,20 @@ - package mage.cards.v; -import java.util.UUID; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.condition.common.NotMyTurnCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author TheElk801 */ public final class VibratingSphere extends CardImpl { @@ -26,7 +26,9 @@ public final class VibratingSphere extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield), MyTurnCondition.instance, - "As long as it's your turn, creatures you control get +2/+0"))); + "As long as it's your turn, creatures you control get +2/+0")) + .addHint(MyTurnHint.instance)); + // As long as it's not your turn, creatures you control get -0/-2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostControlledEffect(0, -2, Duration.WhileOnBattlefield), diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java index a3ec477ec0..dcdecac26e 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java @@ -7,6 +7,7 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.hint.common.CreaturesYouControlHint; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.meta.OrTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -38,6 +39,7 @@ public final class VoiceOfResurgence extends CardImpl { "Whenever an opponent casts a spell during your turn, "), new DiesTriggeredAbility(null, false)); ability.setLeavesTheBattlefieldTrigger(true); + ability.addHint(MyTurnHint.instance); ability.addHint(CreaturesYouControlHint.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/v/VonaButcherOfMagan.java b/Mage.Sets/src/mage/cards/v/VonaButcherOfMagan.java index c9cdf71dee..c34fa65375 100644 --- a/Mage.Sets/src/mage/cards/v/VonaButcherOfMagan.java +++ b/Mage.Sets/src/mage/cards/v/VonaButcherOfMagan.java @@ -1,7 +1,5 @@ - package mage.cards.v; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; @@ -9,18 +7,20 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.DestroyTargetEffect; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.abilities.keyword.VigilanceAbility; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetNonlandPermanent; +import java.util.UUID; + /** - * * @author TheElk801 */ public final class VonaButcherOfMagan extends CardImpl { @@ -44,6 +44,7 @@ public final class VonaButcherOfMagan extends CardImpl { Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost(), MyTurnCondition.instance); ability.addCost(new PayLifeCost(7)); ability.addTarget(new TargetNonlandPermanent()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java b/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java index 7acbd76dfe..36eeed56ea 100644 --- a/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java +++ b/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java @@ -1,4 +1,3 @@ - package mage.cards.w; import mage.MageInt; @@ -9,6 +8,7 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -24,18 +24,18 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; /** - * * @author LevelX2 */ public final class WalkerOfSecretWays extends CardImpl { private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("Ninja you control"); + static { filterCreature.add((SubType.NINJA.getPredicate())); } public WalkerOfSecretWays(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.NINJA); @@ -50,7 +50,8 @@ public final class WalkerOfSecretWays extends CardImpl { // {1}{U}: Return target Ninja you control to its owner's hand. Activate this ability only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{1}{U}"), MyTurnCondition.instance); - ability.addTarget(new TargetControlledCreaturePermanent(1,1, filterCreature, false)); + ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filterCreature, false)); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/w/WandOfIth.java b/Mage.Sets/src/mage/cards/w/WandOfIth.java index bbd4a2d119..5f689e1457 100644 --- a/Mage.Sets/src/mage/cards/w/WandOfIth.java +++ b/Mage.Sets/src/mage/cards/w/WandOfIth.java @@ -1,7 +1,5 @@ - package mage.cards.w; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.common.MyTurnCondition; @@ -9,11 +7,8 @@ import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; 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.abilities.hint.common.MyTurnHint; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -22,19 +17,21 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPlayer; +import java.util.UUID; + /** - * * @author fireshoes & L_J */ public final class WandOfIth extends CardImpl { public WandOfIth(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {3}, {T}: Target player reveals a card at random from their hand. If it's a land card, that player discards it unless they pay 1 life. If it isn't a land card, the player discards it unless they pay life equal to its converted mana cost. Activate this ability only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new WandOfIthEffect(), new GenericManaCost(3), MyTurnCondition.instance); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetPlayer()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java b/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java index 4b308caca0..e2668c691b 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java @@ -1,32 +1,31 @@ - package mage.cards.w; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.NotMyTurnCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; +import mage.abilities.hint.common.NotMyTurnHint; import mage.abilities.keyword.FlyingAbility; import mage.abilities.mana.ColorlessManaAbility; 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 mage.constants.Zone; import mage.game.permanent.token.TokenImpl; -import mage.game.permanent.token.Token; + +import java.util.UUID; /** - * * @author BetaSteward */ public final class WardenOfTheWall extends CardImpl { public WardenOfTheWall(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // Warden of the Wall enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); @@ -35,7 +34,11 @@ public final class WardenOfTheWall extends CardImpl { this.addAbility(new ColorlessManaAbility()); // As long as it's not your turn, Warden of the Wall is a 2/3 Gargoyle artifact creature with flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BecomesCreatureSourceEffect(new GargoyleToken(), "", Duration.WhileOnBattlefield), NotMyTurnCondition.instance, "As long as it's not your turn, Warden of the Wall is a 2/3 Gargoyle artifact creature with flying"))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( + new BecomesCreatureSourceEffect(new GargoyleToken(), "", Duration.WhileOnBattlefield), + NotMyTurnCondition.instance, + "As long as it's not your turn, Warden of the Wall is a 2/3 Gargoyle artifact creature with flying")) + .addHint(NotMyTurnHint.instance)); } public WardenOfTheWall(final WardenOfTheWall card) { @@ -59,6 +62,7 @@ class GargoyleToken extends TokenImpl { toughness = new MageInt(3); addAbility(FlyingAbility.getInstance()); } + public GargoyleToken(final GargoyleToken token) { super(token); } diff --git a/Mage.Sets/src/mage/cards/w/WildwoodGeist.java b/Mage.Sets/src/mage/cards/w/WildwoodGeist.java index 528f1c18f5..505c300f76 100644 --- a/Mage.Sets/src/mage/cards/w/WildwoodGeist.java +++ b/Mage.Sets/src/mage/cards/w/WildwoodGeist.java @@ -1,27 +1,27 @@ - package mage.cards.w; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.hint.common.MyTurnHint; 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 mage.constants.Zone; +import java.util.UUID; + /** - * * @author North */ public final class WildwoodGeist extends CardImpl { public WildwoodGeist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); @@ -31,7 +31,8 @@ public final class WildwoodGeist extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), MyTurnCondition.instance, - "{this} gets +2/+2 as long as it's your turn"))); + "{this} gets +2/+2 as long as it's your turn")) + .addHint(MyTurnHint.instance)); } public WildwoodGeist(final WildwoodGeist card) { diff --git a/Mage.Sets/src/mage/cards/w/WishclawTalisman.java b/Mage.Sets/src/mage/cards/w/WishclawTalisman.java index 381a63d977..b062b512ae 100644 --- a/Mage.Sets/src/mage/cards/w/WishclawTalisman.java +++ b/Mage.Sets/src/mage/cards/w/WishclawTalisman.java @@ -13,6 +13,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -49,6 +50,7 @@ public final class WishclawTalisman extends CardImpl { ); ability.addCost(new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.WISH.createInstance())); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WolfwillowHaven.java b/Mage.Sets/src/mage/cards/w/WolfwillowHaven.java index 47cdd7f332..69af2af768 100644 --- a/Mage.Sets/src/mage/cards/w/WolfwillowHaven.java +++ b/Mage.Sets/src/mage/cards/w/WolfwillowHaven.java @@ -9,6 +9,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.EnchantAbility; import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; @@ -50,6 +51,7 @@ public final class WolfwillowHaven extends CardImpl { new ManaCostsImpl("{4}{G}"), MyTurnCondition.instance ); ability.addCost(new SacrificeSourceCost()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZuranEnchanter.java b/Mage.Sets/src/mage/cards/z/ZuranEnchanter.java index c5eb889c33..d42eb31c0b 100644 --- a/Mage.Sets/src/mage/cards/z/ZuranEnchanter.java +++ b/Mage.Sets/src/mage/cards/z/ZuranEnchanter.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; @@ -9,6 +7,7 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -16,22 +15,24 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; +import java.util.UUID; + /** - * * @author nigelzor */ public final class ZuranEnchanter extends CardImpl { public ZuranEnchanter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.HUMAN, SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); - // {2}{B}, {tap}: Target player discards a card. Activate this ability only during your turn. + // {2}{B}, {T}: Target player discards a card. Activate this ability only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{2}{B}"), MyTurnCondition.instance); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetPlayer()); + ability.addHint(MyTurnHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZurgoHelmsmasher.java b/Mage.Sets/src/mage/cards/z/ZurgoHelmsmasher.java index b147018324..99b3338c7d 100644 --- a/Mage.Sets/src/mage/cards/z/ZurgoHelmsmasher.java +++ b/Mage.Sets/src/mage/cards/z/ZurgoHelmsmasher.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.AttacksEachCombatStaticAbility; import mage.abilities.common.DealtDamageAndDiedTriggeredAbility; @@ -10,6 +8,7 @@ import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.hint.common.MyTurnHint; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; @@ -17,14 +16,15 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class ZurgoHelmsmasher extends CardImpl { public ZurgoHelmsmasher(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{W}{B}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ORC, SubType.WARRIOR); @@ -33,13 +33,16 @@ public final class ZurgoHelmsmasher extends CardImpl { // Haste this.addAbility(HasteAbility.getInstance()); + // Zurgo Helmsmasher attacks each combat if able. this.addAbility(new AttacksEachCombatStaticAbility()); + // Zurgo Helmsmasher has indestructible as long as it's your turn. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - MyTurnCondition.instance, - "{this} has indestructible as long as it's your turn"))); + MyTurnCondition.instance, + "{this} has indestructible as long as it's your turn")) + .addHint(MyTurnHint.instance)); // Whenever a creature dealt damage by Zurgo Helmsmasher this turn dies, put a +1/+1 counter on Zurgo Helmsmasher. this.addAbility(new DealtDamageAndDiedTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));