From a7d810c443f47a1e0fb1b6c307379dc6a6c81322 Mon Sep 17 00:00:00 2001 From: Grath <1895280+Grath@users.noreply.github.com> Date: Thu, 26 May 2022 22:28:29 -0400 Subject: [PATCH] Add hints to Go-Shintai of Boundless Vigor and all five Hondens. --- .../mage/cards/g/GoShintaiOfBoundlessVigor.java | 5 ++++- .../src/mage/cards/h/HondenOfCleansingFire.java | 15 +++++++++------ .../src/mage/cards/h/HondenOfInfiniteRage.java | 14 ++++++++------ Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java | 14 ++++++++------ .../src/mage/cards/h/HondenOfNightsReach.java | 14 ++++++++------ .../src/mage/cards/h/HondenOfSeeingWinds.java | 14 ++++++++------ 6 files changed, 45 insertions(+), 31 deletions(-) diff --git a/Mage.Sets/src/mage/cards/g/GoShintaiOfBoundlessVigor.java b/Mage.Sets/src/mage/cards/g/GoShintaiOfBoundlessVigor.java index 14884d56221..44a603a7cb0 100644 --- a/Mage.Sets/src/mage/cards/g/GoShintaiOfBoundlessVigor.java +++ b/Mage.Sets/src/mage/cards/g/GoShintaiOfBoundlessVigor.java @@ -8,6 +8,8 @@ import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DoWhenCostPaid; import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -31,6 +33,7 @@ public final class GoShintaiOfBoundlessVigor extends CardImpl { = new FilterPermanent(SubType.SHRINE, "Shrine"); private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.SHRINE)); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public GoShintaiOfBoundlessVigor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{G}"); @@ -52,7 +55,7 @@ public final class GoShintaiOfBoundlessVigor extends CardImpl { ability.addTarget(new TargetPermanent(filter)); this.addAbility(new BeginningOfEndStepTriggeredAbility(new DoWhenCostPaid( ability, new GenericManaCost(1), "Pay {1}?" - ), TargetController.YOU, false)); + ), TargetController.YOU, false).addHint(hint)); } private GoShintaiOfBoundlessVigor(final GoShintaiOfBoundlessVigor card) { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java index 4379131f279..d55134fc785 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java @@ -3,8 +3,12 @@ package mage.cards.h; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.MultipliedValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -20,11 +24,10 @@ import java.util.UUID; */ public final class HondenOfCleansingFire extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine"); - - static { - filter.add(SubType.SHRINE.getPredicate()); - } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount( + new FilterControlledPermanent(SubType.SHRINE) + ); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public HondenOfCleansingFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); @@ -33,7 +36,7 @@ public final class HondenOfCleansingFire extends CardImpl { // At the beginning of your upkeep, you gain 2 life for each Shrine you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter, 2)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new MultipliedValue(xValue, 2)), TargetController.YOU, false).addHint(hint)); } private HondenOfCleansingFire(final HondenOfCleansingFire card) { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java b/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java index 08fb08d2dcf..6ab1a854860 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java @@ -3,8 +3,11 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -20,11 +23,10 @@ import mage.target.common.TargetAnyTarget; */ public final class HondenOfInfiniteRage extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine you control"); - - static { - filter.add(SubType.SHRINE.getPredicate()); - } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount( + new FilterControlledPermanent(SubType.SHRINE) + ); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public HondenOfInfiniteRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); @@ -32,7 +34,7 @@ public final class HondenOfInfiniteRage extends CardImpl { this.subtype.add(SubType.SHRINE); // At the beginning of your upkeep, Honden of Infinite Rage deals damage to any target equal to the number of Shrines you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(xValue), TargetController.YOU, false).addHint(hint); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java b/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java index 430d4c9b1f7..e0a85e571c3 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java @@ -3,8 +3,11 @@ package mage.cards.h; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -21,18 +24,17 @@ import java.util.UUID; */ public final class HondenOfLifesWeb extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine"); - - static { - filter.add(SubType.SHRINE.getPredicate()); - } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount( + new FilterControlledPermanent(SubType.SHRINE) + ); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public HondenOfLifesWeb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.SHRINE); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), xValue), TargetController.YOU, false).addHint(hint)); } private HondenOfLifesWeb(final HondenOfLifesWeb card) { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java b/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java index c47733020ad..ff2aff867f9 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java @@ -3,8 +3,11 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -19,11 +22,10 @@ import mage.target.common.TargetOpponent; */ public final class HondenOfNightsReach extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine you control"); - - static { - filter.add(SubType.SHRINE.getPredicate()); - } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount( + new FilterControlledPermanent(SubType.SHRINE) + ); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public HondenOfNightsReach(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}"); @@ -31,7 +33,7 @@ public final class HondenOfNightsReach extends CardImpl { this.subtype.add(SubType.SHRINE); // At the beginning of your upkeep, target opponent discards a card for each Shrine you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(xValue), TargetController.YOU, false).addHint(hint); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java b/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java index 4f4f8607728..e11c5688d05 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java @@ -3,8 +3,11 @@ package mage.cards.h; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -20,11 +23,10 @@ import java.util.UUID; */ public final class HondenOfSeeingWinds extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine"); - - static { - filter.add(SubType.SHRINE.getPredicate()); - } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount( + new FilterControlledPermanent(SubType.SHRINE) + ); + private static final Hint hint = new ValueHint("Shrines you control", xValue); public HondenOfSeeingWinds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); @@ -33,7 +35,7 @@ public final class HondenOfSeeingWinds extends CardImpl { // At the beginning of your upkeep, draw a card for each Shrine you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(xValue), TargetController.YOU, false).addHint(hint)); } private HondenOfSeeingWinds(final HondenOfSeeingWinds card) {