From 3f37b5aa76dc7ebe28bb86d6062e45afec090c33 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 19 Feb 2022 17:42:19 -0500 Subject: [PATCH] updated Heart of Kiran text generation --- Mage.Sets/src/mage/cards/h/HeartOfKiran.java | 10 +--------- .../main/java/mage/abilities/keyword/CrewAbility.java | 11 +++++++++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Mage.Sets/src/mage/cards/h/HeartOfKiran.java b/Mage.Sets/src/mage/cards/h/HeartOfKiran.java index 1b7917376a5..f95b06761b1 100644 --- a/Mage.Sets/src/mage/cards/h/HeartOfKiran.java +++ b/Mage.Sets/src/mage/cards/h/HeartOfKiran.java @@ -1,9 +1,7 @@ package mage.cards.h; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.RemoveCounterCost; -import mage.abilities.effects.common.InfoEffect; import mage.abilities.keyword.CrewAbility; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.VigilanceAbility; @@ -12,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.target.common.TargetControlledPermanent; @@ -39,18 +36,13 @@ public final class HeartOfKiran extends CardImpl { this.addAbility(VigilanceAbility.getInstance()); // Crew 3 + // You may remove a loyalty counter from a planeswalker you control rather than pay Heart of Kiran's crew cost. this.addAbility(new CrewAbility( 3, new RemoveCounterCost(new TargetControlledPermanent( StaticFilters.FILTER_CONTROLLED_PERMANENT_PLANESWALKER ), CounterType.LOYALTY) )); - - // You may remove a loyalty counter from a planeswalker you control rather than pay Heart of Kiran's crew cost. - this.addAbility(new SimpleStaticAbility( - Zone.ALL, new InfoEffect("you may remove a loyalty counter " + - "from a planeswalker you control rather than pay {this}'s crew cost") - )); } private HeartOfKiran(final HeartOfKiran card) { diff --git a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java index 913a6fbbe19..5aa9f43eb6a 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java @@ -4,9 +4,11 @@ import mage.abilities.Ability; import mage.abilities.common.CrewIncreasedPowerAbility; import mage.abilities.common.CrewWithToughnessAbility; import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.CostImpl; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.InfoEffect; import mage.abilities.effects.common.continuous.AddCardTypeSourceEffect; import mage.abilities.hint.HintUtils; import mage.abilities.icon.abilities.CrewAbilityIcon; @@ -47,6 +49,12 @@ public class CrewAbility extends SimpleActivatedAbility { this.addEffect(new CrewEventEffect()); this.addIcon(CrewAbilityIcon.instance); this.value = value; + if (altCost != null) { + this.addSubAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect( + "you may " + CardUtil.addCostVerb(altCost.getText()) + + " rather than pay {this}'s crew cost" + ))); + } } public CrewAbility(final CrewAbility ability) { @@ -123,9 +131,8 @@ class CrewCost extends CostImpl { return false; } Player player = game.getPlayer(controllerId); - String costName = altCost.getText(); String message = CardUtil.getTextWithFirstCharUpperCase( - (CardUtil.checkCostWords(costName) ? "" : "Pay ") + costName + CardUtil.addCostVerb(altCost.getText()) ) + " rather than the crew cost?"; return player != null && player.chooseUse(Outcome.Benefit, message, source, game)