From b61125c0f35a1423b96723c5e3d83903587b6a3f Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 20 Mar 2022 22:04:05 -0400 Subject: [PATCH] [NEO] added hint to channel lands --- Mage.Sets/src/mage/cards/b/BoseijuWhoEndures.java | 2 +- .../src/mage/cards/e/EiganjoSeatOfTheEmpire.java | 2 +- .../src/mage/cards/o/OtawaraSoaringCity.java | 2 +- .../mage/cards/s/SokenzanCrucibleOfDefiance.java | 2 +- .../src/mage/cards/t/TakenumaAbandonedMire.java | 2 +- .../LegendaryCreatureCostAdjuster.java | 15 ++++++++++++++- 6 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/cards/b/BoseijuWhoEndures.java b/Mage.Sets/src/mage/cards/b/BoseijuWhoEndures.java index 8ea7d4862d..ae970ea578 100644 --- a/Mage.Sets/src/mage/cards/b/BoseijuWhoEndures.java +++ b/Mage.Sets/src/mage/cards/b/BoseijuWhoEndures.java @@ -53,7 +53,7 @@ public final class BoseijuWhoEndures extends CardImpl { Ability ability = new ChannelAbility("{1}{G}", new BoseijuWhoEnduresEffect()); ability.addTarget(new TargetPermanent(filter)); ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance); - this.addAbility(ability); + this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint())); } private BoseijuWhoEndures(final BoseijuWhoEndures card) { diff --git a/Mage.Sets/src/mage/cards/e/EiganjoSeatOfTheEmpire.java b/Mage.Sets/src/mage/cards/e/EiganjoSeatOfTheEmpire.java index a4f063bf4c..0c7396314a 100644 --- a/Mage.Sets/src/mage/cards/e/EiganjoSeatOfTheEmpire.java +++ b/Mage.Sets/src/mage/cards/e/EiganjoSeatOfTheEmpire.java @@ -36,7 +36,7 @@ public final class EiganjoSeatOfTheEmpire extends CardImpl { )); ability.addTarget(new TargetAttackingOrBlockingCreature()); ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance); - this.addAbility(ability); + this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint())); } private EiganjoSeatOfTheEmpire(final EiganjoSeatOfTheEmpire card) { diff --git a/Mage.Sets/src/mage/cards/o/OtawaraSoaringCity.java b/Mage.Sets/src/mage/cards/o/OtawaraSoaringCity.java index 5fe267e0fd..fcb9ad463e 100644 --- a/Mage.Sets/src/mage/cards/o/OtawaraSoaringCity.java +++ b/Mage.Sets/src/mage/cards/o/OtawaraSoaringCity.java @@ -46,7 +46,7 @@ public final class OtawaraSoaringCity extends CardImpl { ability.addEffect(new InfoEffect("This ability costs {1} less to activate for each legendary creature you control")); ability.addTarget(new TargetPermanent(filter)); ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance); - this.addAbility(ability); + this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint())); } private OtawaraSoaringCity(final OtawaraSoaringCity card) { diff --git a/Mage.Sets/src/mage/cards/s/SokenzanCrucibleOfDefiance.java b/Mage.Sets/src/mage/cards/s/SokenzanCrucibleOfDefiance.java index fceb6b076c..9ed9f3e443 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanCrucibleOfDefiance.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanCrucibleOfDefiance.java @@ -35,7 +35,7 @@ public final class SokenzanCrucibleOfDefiance extends CardImpl { // Channel — {3}{R}, Discard Sokenzan, Crucible of Defiance: Create two colorless 1/1 Spirit creature tokens. They gain haste until end of turn. This ability costs {1} less to activate for each legendary creature you control. Ability ability = new ChannelAbility("{3}{R}", new SokenzanCrucibleOfDefianceEffect()); ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance); - this.addAbility(ability); + this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint())); } private SokenzanCrucibleOfDefiance(final SokenzanCrucibleOfDefiance card) { diff --git a/Mage.Sets/src/mage/cards/t/TakenumaAbandonedMire.java b/Mage.Sets/src/mage/cards/t/TakenumaAbandonedMire.java index 027398fc15..16933850fc 100644 --- a/Mage.Sets/src/mage/cards/t/TakenumaAbandonedMire.java +++ b/Mage.Sets/src/mage/cards/t/TakenumaAbandonedMire.java @@ -36,7 +36,7 @@ public final class TakenumaAbandonedMire extends CardImpl { // Channel — {3}{B}, Discard Takenuma, Abandoned Mire: Mill three cards, then return a creature or planeswalker card from your graveyard to your hand. This ability costs {1} less to activate for each legendary creature you control. Ability ability = new ChannelAbility("{3}{B}", new TakenumaAbandonedMireEffect()); ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance); - this.addAbility(ability); + this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint())); } private TakenumaAbandonedMire(final TakenumaAbandonedMire card) { diff --git a/Mage/src/main/java/mage/abilities/costs/costadjusters/LegendaryCreatureCostAdjuster.java b/Mage/src/main/java/mage/abilities/costs/costadjusters/LegendaryCreatureCostAdjuster.java index 51ef9b608a..3ed266021b 100644 --- a/Mage/src/main/java/mage/abilities/costs/costadjusters/LegendaryCreatureCostAdjuster.java +++ b/Mage/src/main/java/mage/abilities/costs/costadjusters/LegendaryCreatureCostAdjuster.java @@ -2,6 +2,9 @@ package mage.abilities.costs.costadjusters; import mage.abilities.Ability; import mage.abilities.costs.CostAdjuster; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; @@ -13,12 +16,18 @@ import mage.util.CardUtil; */ public enum LegendaryCreatureCostAdjuster implements CostAdjuster { instance; + private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { filter.add(SuperType.LEGENDARY.getPredicate()); } + private static final Hint hint = new ValueHint( + "Legendary creatures you control", + new PermanentsOnBattlefieldCount(filter) + ); + @Override public void adjustCosts(Ability ability, Game game) { int count = game.getBattlefield().count( @@ -28,4 +37,8 @@ public enum LegendaryCreatureCostAdjuster implements CostAdjuster { CardUtil.reduceCost(ability, count); } } -} \ No newline at end of file + + public static Hint getHint() { + return hint; + } +}