diff --git a/Mage.Sets/src/mage/cards/a/AetherRefinery.java b/Mage.Sets/src/mage/cards/a/AetherRefinery.java index 6287086105e..50e0de045ef 100644 --- a/Mage.Sets/src/mage/cards/a/AetherRefinery.java +++ b/Mage.Sets/src/mage/cards/a/AetherRefinery.java @@ -92,7 +92,7 @@ class AetherRefineryTokenEffect extends OneShotEffect { AetherRefineryTokenEffect() { super(Outcome.Benefit); - this.staticText = "then you may pay one or more {E}. If you do, create an X/X black Aetherborn creature token, where X is the amount of {E} paid this way"; + this.staticText = ", then you may pay one or more {E}. If you do, create an X/X black Aetherborn creature token, where X is the amount of {E} paid this way"; } private AetherRefineryTokenEffect(final AetherRefineryTokenEffect effect) { @@ -129,4 +129,4 @@ class AetherRefineryTokenEffect extends OneShotEffect { } return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DisaTheRestless.java b/Mage.Sets/src/mage/cards/d/DisaTheRestless.java index 5eb8ef066d8..c874777fcaa 100644 --- a/Mage.Sets/src/mage/cards/d/DisaTheRestless.java +++ b/Mage.Sets/src/mage/cards/d/DisaTheRestless.java @@ -63,6 +63,7 @@ class DisaTheRestlessTriggeredAbility extends PutCardIntoGraveFromAnywhereAllTri new ReturnFromGraveyardToBattlefieldTargetEffect().setText("put it onto the battlefield"), false, filter, TargetController.YOU, SetTargetPointer.CARD ); + setTriggerPhrase("Whenever a Lhurgoyf permanent card is put into your graveyard from anywhere other than the battlefield, "); } private DisaTheRestlessTriggeredAbility(final DisaTheRestlessTriggeredAbility ability) { @@ -78,4 +79,4 @@ class DisaTheRestlessTriggeredAbility extends PutCardIntoGraveFromAnywhereAllTri public boolean checkTrigger(GameEvent event, Game game) { return ((ZoneChangeEvent) event).getFromZone() != Zone.BATTLEFIELD && super.checkTrigger(event, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DisruptorFlute.java b/Mage.Sets/src/mage/cards/d/DisruptorFlute.java index d35b7f4ea12..e0b07c77ab6 100644 --- a/Mage.Sets/src/mage/cards/d/DisruptorFlute.java +++ b/Mage.Sets/src/mage/cards/d/DisruptorFlute.java @@ -62,7 +62,7 @@ class DisruptorFluteCostIncreaseEffect extends CostModificationEffectImpl { DisruptorFluteCostIncreaseEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment, CostModificationType.INCREASE_COST); - this.staticText = "Spells with the chosen name cost 3 less to cast"; + this.staticText = "Spells with the chosen name cost {3} more to cast"; } private DisruptorFluteCostIncreaseEffect(DisruptorFluteCostIncreaseEffect effect) { diff --git a/Mage.Sets/src/mage/cards/r/RosheenRoaringProphet.java b/Mage.Sets/src/mage/cards/r/RosheenRoaringProphet.java index e8c44a1ae28..bb00f640a26 100644 --- a/Mage.Sets/src/mage/cards/r/RosheenRoaringProphet.java +++ b/Mage.Sets/src/mage/cards/r/RosheenRoaringProphet.java @@ -51,7 +51,7 @@ public final class RosheenRoaringProphet extends CardImpl { // When Rosheen, Roaring Prophet enters the battlefield, mill six cards. You may put a card with {X} in its mana cost from among them into your hand. this.addAbility(new EntersBattlefieldTriggeredAbility( - new MillThenPutInHandEffect(6, filter), true + new MillThenPutInHandEffect(6, filter), false )); // {T}: Reveal any number of cards with {X} in their mana cost in your hand. Add {C}{C} for each card revealed this way. Spend this mana only on costs that contain {X}. diff --git a/Mage.Sets/src/mage/cards/s/SawhornNemesis.java b/Mage.Sets/src/mage/cards/s/SawhornNemesis.java index 1b71dfb21f0..59f7114764f 100644 --- a/Mage.Sets/src/mage/cards/s/SawhornNemesis.java +++ b/Mage.Sets/src/mage/cards/s/SawhornNemesis.java @@ -54,7 +54,7 @@ class SawhornNemesisEffect extends ReplacementEffectImpl { SawhornNemesisEffect() { super(Duration.WhileOnBattlefield, Outcome.Damage); - staticText = "If a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead"; + staticText = "If a source would deal damage to the chosen player or a permanent they control, it deals double that damage to that permanent or player instead"; } private SawhornNemesisEffect(final SawhornNemesisEffect effect) { @@ -98,4 +98,4 @@ class SawhornNemesisEffect extends ReplacementEffectImpl { event.setAmount(CardUtil.overflowMultiply(event.getAmount(), 2)); return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/ThiefOfExistence.java b/Mage.Sets/src/mage/cards/t/ThiefOfExistence.java index 4ed3556df67..8e47ad19620 100644 --- a/Mage.Sets/src/mage/cards/t/ThiefOfExistence.java +++ b/Mage.Sets/src/mage/cards/t/ThiefOfExistence.java @@ -70,7 +70,7 @@ class ThiefOfExistenceTargetEffect extends OneShotEffect { ThiefOfExistenceTargetEffect() { super(Outcome.Exile); staticText = "exile up to one target noncreature, nonland permanent an opponent controls with mana value 4 or less. " - + "If you do, Thief of Existence gains \"When this creature leaves the battlefield, target opponent draws a card\""; + + "If you do, {this} gains \"When this creature leaves the battlefield, target opponent draws a card.\""; } private ThiefOfExistenceTargetEffect(final ThiefOfExistenceTargetEffect effect) { @@ -105,4 +105,4 @@ class ThiefOfExistenceTargetEffect extends OneShotEffect { ); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/TwinsOfDiscord.java b/Mage.Sets/src/mage/cards/t/TwinsOfDiscord.java index 0ee075f8f2e..c4272da8685 100644 --- a/Mage.Sets/src/mage/cards/t/TwinsOfDiscord.java +++ b/Mage.Sets/src/mage/cards/t/TwinsOfDiscord.java @@ -1,33 +1,24 @@ package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.Mode; import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ChooseModeEffect; import mage.abilities.effects.common.combat.CantBlockAllEffect; -import mage.abilities.effects.common.continuous.CreaturesCantGetOrHaveAbilityEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.abilities.keyword.BloodthirstAbility; -import mage.abilities.keyword.HasteAbility; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.StaticFilters; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; import mage.filter.predicate.mageobject.ManaValueParityPredicate; import mage.game.Game; import mage.players.Player; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; + +import java.util.UUID; /** * @@ -55,7 +46,7 @@ public final class TwinsOfDiscord extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect( new BloodthirstAbility(2), Duration.WhileOnBattlefield, - colorlessCreatureFilter, true))); + colorlessCreatureFilter, true).setText("Each other colorless creature you control has bloodthirst 2"))); } private TwinsOfDiscord(final TwinsOfDiscord card) { @@ -109,4 +100,4 @@ class TwinsOfDiscordEffect extends OneShotEffect { game.addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn), source); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/v/VolatileStormdrake.java b/Mage.Sets/src/mage/cards/v/VolatileStormdrake.java index e85d0d1fa49..c43133de632 100644 --- a/Mage.Sets/src/mage/cards/v/VolatileStormdrake.java +++ b/Mage.Sets/src/mage/cards/v/VolatileStormdrake.java @@ -106,7 +106,7 @@ class VolatileStormdrakeEffect extends OneShotEffect { VolatileStormdrakeEffect() { super(Outcome.GainControl); - this.staticText = "exchange control of {this} and up to one target creature an opponent controls. " + this.staticText = "exchange control of {this} and target creature an opponent controls. " + "If you do, you get {E}{E}{E}{E}, then sacrifice that creature unless you pay an amount of {E} equal to its mana value"; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java index 3a35e833faa..ca90facc35d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java @@ -1,4 +1,3 @@ - package mage.abilities.effects.common.counter; import mage.abilities.Ability; @@ -43,10 +42,13 @@ public class GetEnergyCountersControllerEffect extends OneShotEffect { } private void setText() { - if (!staticText.isEmpty()) { + if (staticText == null || !staticText.isEmpty()) { + return; + } + if (value.getMessage().equals("that many")) { + staticText = "that many {E}"; return; } - StringBuilder sb = new StringBuilder(); sb.append("you get "); int val; diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index 8054ef4d4e9..8068522bea4 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -10,6 +10,7 @@ import mage.abilities.costs.VariableCost; import mage.abilities.costs.mana.*; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.SavedDamageValue; +import mage.abilities.dynamicvalue.common.SavedGainedLifeValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; @@ -929,7 +930,7 @@ public final class CardUtil { boolean xValue = amount.toString().equals("X"); if (xValue) { sb.append("X ").append(counter.getName()).append(" counters"); - } else if (amount == SavedDamageValue.MANY) { + } else if (amount == SavedDamageValue.MANY || amount == SavedGainedLifeValue.MANY) { sb.append("that many ").append(counter.getName()).append(" counters"); } else { sb.append(counter.getDescription());