From be08aedc5d7f60c901ea950134ed303b7598d6d6 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sat, 20 Jun 2020 03:05:43 +0400 Subject: [PATCH] Added hints for some cards --- .../mage/cards/t/TezzeretMasterOfMetal.java | 22 ++++++++----------- .../src/mage/cards/t/TezzeretsSimulacrum.java | 21 ++++++++++++------ .../src/mage/cards/v/VraskasConquistador.java | 13 ++++++----- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java index 368382bb53..f26c2ce66c 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java @@ -1,27 +1,19 @@ - package mage.cards.t; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterArtifactCard; import mage.filter.common.FilterControlledArtifactPermanent; @@ -31,8 +23,10 @@ import mage.game.permanent.Permanent; import mage.target.common.TargetOpponent; import mage.target.targetpointer.FixedTarget; +import java.util.List; +import java.util.UUID; + /** - * * @author Styxo */ public final class TezzeretMasterOfMetal extends CardImpl { @@ -48,8 +42,10 @@ public final class TezzeretMasterOfMetal extends CardImpl { this.addAbility(new LoyaltyAbility(new RevealCardsFromLibraryUntilEffect(new FilterArtifactCard(), Zone.HAND, Zone.LIBRARY), 1)); // -3: Target opponent loses life equal to the number of artifacts you control. - Ability ability = new LoyaltyAbility(new LoseLifeTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent())), -3); + DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent()); + Ability ability = new LoyaltyAbility(new LoseLifeTargetEffect(xValue), -3); ability.addTarget(new TargetOpponent()); + ability.addHint(new ValueHint("Artifacts you control", xValue)); this.addAbility(ability); // -8: Gain control of all artifacts and creatures target opponent controls. diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java b/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java index 0749fb4e45..3c9e33e2fc 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java @@ -1,28 +1,35 @@ - package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; +import mage.abilities.hint.ConditionHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import mage.filter.common.FilterPlaneswalkerPermanent; +import mage.filter.common.FilterControlledPlaneswalkerPermanent; import mage.target.common.TargetOpponent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class TezzeretsSimulacrum extends CardImpl { + private static final FilterControlledPlaneswalkerPermanent filter = new FilterControlledPlaneswalkerPermanent(); + + static { + filter.add(SubType.TEZZERET.getPredicate()); + } + public TezzeretsSimulacrum(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); @@ -31,13 +38,13 @@ public final class TezzeretsSimulacrum extends CardImpl { this.toughness = new MageInt(3); // {T}: Target opponent loses 1 life. If you control a Tezzeret planeswalker, that player loses 3 life instead. - FilterPlaneswalkerPermanent filter = new FilterPlaneswalkerPermanent(); - filter.add(SubType.TEZZERET.getPredicate()); + Condition condition = new PermanentsOnTheBattlefieldCondition(filter); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalOneShotEffect(new LoseLifeTargetEffect(3), new LoseLifeTargetEffect(1), - new PermanentsOnTheBattlefieldCondition(filter), + condition, "Target opponent loses 1 life. If you control a Tezzeret planeswalker, that player loses 3 life instead"), new TapSourceCost()); ability.addTarget(new TargetOpponent()); + ability.addHint(new ConditionHint(condition, "You control a Tezzeret planeswalker")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java index 43ec42ffa0..f7caaae0c3 100644 --- a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java +++ b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java @@ -1,14 +1,14 @@ - package mage.cards.v; -import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; import mage.abilities.common.AttacksOrBlocksTriggeredAbility; +import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; +import mage.abilities.hint.ConditionHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -16,8 +16,9 @@ import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetOpponent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class VraskasConquistador extends CardImpl { @@ -38,11 +39,13 @@ public final class VraskasConquistador extends CardImpl { this.toughness = new MageInt(1); // Whenever Vraska's Conquistador attacks or blocks, if you control a Vraska planeswalker, target opponent loses 2 life and you gain 2 life. + Condition condition = new PermanentsOnTheBattlefieldCondition(filter); TriggeredAbility ability = new AttacksOrBlocksTriggeredAbility(new LoseLifeTargetEffect(2), false); - ability.addEffect(new GainLifeEffect(2).setText("and you gain 2 life")); + ability.addEffect(new GainLifeEffect(2).concatBy("and")); ability.addTarget(new TargetOpponent()); + ability.addHint(new ConditionHint(condition, "You control a Vraska planeswalker")); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - ability, new PermanentsOnTheBattlefieldCondition(filter), + ability, condition, "Whenever {this} attacks or blocks, if you control a Vraska planeswalker, target opponent loses 2 life and you gain 2 life.")); }