Fix 'E' and 'F' cards with card name instead of {this}

This commit is contained in:
Steven Knipe 2025-06-23 02:40:52 -07:00
parent b764e63451
commit 0725928de2
9 changed files with 25 additions and 44 deletions

View file

@ -1,7 +1,6 @@
package mage.cards.e; package mage.cards.e;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
@ -14,13 +13,15 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.AttachmentType; import mage.constants.AttachmentType;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com)
@ -60,7 +61,7 @@ class EarthbindEffect extends OneShotEffect {
EarthbindEffect() { EarthbindEffect() {
super(Outcome.Damage); super(Outcome.Damage);
staticText = "if enchanted creature has flying, {this} deals 2 damage to that creature and Earthbind gains \"Enchanted creature loses flying.\""; staticText = "if enchanted creature has flying, {this} deals 2 damage to that creature and {this} gains \"Enchanted creature loses flying.\"";
} }
private EarthbindEffect(final EarthbindEffect effect) { private EarthbindEffect(final EarthbindEffect effect) {

View file

@ -1,7 +1,5 @@
package mage.cards.e; package mage.cards.e;
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -9,38 +7,20 @@ import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect; import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.*;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.keyword.MenaceAbility;
import mage.abilities.keyword.ProtectionAbility;
import mage.abilities.keyword.ReachAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SetTargetPointer;
import mage.constants.SubLayer;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.game.ExileZone; import mage.game.ExileZone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.util.CardUtil; import mage.util.CardUtil;
import java.util.Set;
import java.util.UUID;
/** /**
* @author jeffwadsworth * @author jeffwadsworth
*/ */
@ -112,7 +92,7 @@ class EaterOfVirtueGainAbilityAttachedEffect extends ContinuousEffectImpl {
EaterOfVirtueGainAbilityAttachedEffect() { EaterOfVirtueGainAbilityAttachedEffect() {
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
staticText = "As long as a card exiled with Eater of Virtue has flying, equipped creature has flying. The same is true for first strike, double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, and vigilance"; staticText = "As long as a card exiled with {this} has flying, equipped creature has flying. The same is true for first strike, double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, and vigilance";
} }
private EaterOfVirtueGainAbilityAttachedEffect(final EaterOfVirtueGainAbilityAttachedEffect effect) { private EaterOfVirtueGainAbilityAttachedEffect(final EaterOfVirtueGainAbilityAttachedEffect effect) {

View file

@ -114,7 +114,7 @@ class EmptyShrineKannushiProtectionAbility extends ProtectionAbility {
@Override @Override
public String getRule() { public String getRule() {
return "Empty-Shrine Kannushi has protection from the colors of permanents you control."; return "{this} has protection from the colors of permanents you control.";
} }
} }

View file

@ -1,6 +1,5 @@
package mage.cards.e; package mage.cards.e;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -15,10 +14,11 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters; import mage.filter.StaticFilters;
import mage.target.common.TargetCardInHand; import mage.target.common.TargetCardInHand;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -39,7 +39,7 @@ public final class ErebossEmissary extends CardImpl {
new BoostEnchantedEffect(2, 2, Duration.EndOfTurn), new BoostEnchantedEffect(2, 2, Duration.EndOfTurn),
new BoostSourceEffect(2, 2, Duration.EndOfTurn), new BoostSourceEffect(2, 2, Duration.EndOfTurn),
new SourceHasSubtypeCondition(SubType.AURA), new SourceHasSubtypeCondition(SubType.AURA),
"{this} gets +2/+2 until end of turn. If Erebos's Emissary is an Aura, enchanted creature gets +2/+2 until end of turn instead"), "{this} gets +2/+2 until end of turn. If {this} is an Aura, enchanted creature gets +2/+2 until end of turn instead"),
new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_CREATURE)))); new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_CREATURE))));
// Enchanted creature gets +3/+3 // Enchanted creature gets +3/+3

View file

@ -58,7 +58,7 @@ class ErrantMinionEffect extends OneShotEffect {
ErrantMinionEffect() { ErrantMinionEffect() {
super(Outcome.Damage); super(Outcome.Damage);
this.staticText = "that player may pay any amount of mana. Errant Minion deals 2 damage to that player. Prevent X of that damage, where X is the amount of mana that player paid this way"; this.staticText = "that player may pay any amount of mana. {this} deals 2 damage to that player. Prevent X of that damage, where X is the amount of mana that player paid this way";
} }
private ErrantMinionEffect(final ErrantMinionEffect effect) { private ErrantMinionEffect(final ErrantMinionEffect effect) {

View file

@ -1,17 +1,16 @@
package mage.cards.e; package mage.cards.e;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.costs.Cost; import mage.abilities.costs.Cost;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
@ -22,6 +21,8 @@ import mage.target.targetpointer.FixedTarget;
import mage.util.ManaUtil; import mage.util.ManaUtil;
import mage.watchers.common.SpellsCastWatcher; import mage.watchers.common.SpellsCastWatcher;
import java.util.UUID;
/** /**
* *
* @author weirddan455 * @author weirddan455
@ -94,7 +95,7 @@ class EsperSentinelTriggeredAbility extends TriggeredAbilityImpl {
@Override @Override
public String getRule() { public String getRule() {
return "Whenever an opponent casts their first noncreature spell each turn, draw a card unless that player pays {X}, where X is Esper Sentinel's power."; return "Whenever an opponent casts their first noncreature spell each turn, draw a card unless that player pays {X}, where X is {this}'s power.";
} }
} }

View file

@ -44,7 +44,7 @@ class FieryGambitEffect extends OneShotEffect {
FieryGambitEffect() { FieryGambitEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);
this.staticText = "Flip a coin until you lose a flip or choose to stop flipping. If you lose a flip, Fiery Gambit has no effect. If you win one or more flips, Fiery Gambit deals 3 damage to target creature. If you win two or more flips, Fiery Gambit deals 6 damage to each opponent. If you win three or more flips, draw nine cards and untap all lands you control"; this.staticText = "Flip a coin until you lose a flip or choose to stop flipping. If you lose a flip, {this} has no effect. If you win one or more flips, {this} deals 3 damage to target creature. If you win two or more flips, {this} deals 6 damage to each opponent. If you win three or more flips, draw nine cards and untap all lands you control";
} }
private FieryGambitEffect(final FieryGambitEffect effect) { private FieryGambitEffect(final FieryGambitEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.f; package mage.cards.f;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility;
@ -16,8 +15,8 @@ import mage.abilities.keyword.IntimidateAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.filter.StaticFilters; import mage.filter.StaticFilters;
@ -26,7 +25,8 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.game.permanent.token.HorrorXXBlackToken; import mage.game.permanent.token.HorrorXXBlackToken;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/** /**
* *
@ -67,7 +67,6 @@ class FleshCarverAbility extends DiesSourceTriggeredAbility {
public FleshCarverAbility() { public FleshCarverAbility() {
super(new FleshCarverEffect(), false); super(new FleshCarverEffect(), false);
setTriggerPhrase("When Flesh Carver dies, ");
} }
private FleshCarverAbility(final FleshCarverAbility ability) { private FleshCarverAbility(final FleshCarverAbility ability) {

View file

@ -49,7 +49,7 @@ class FreeRangeChickenEffect extends OneShotEffect {
FreeRangeChickenEffect() { FreeRangeChickenEffect() {
super(Outcome.BoostCreature); super(Outcome.BoostCreature);
this.staticText = "Roll two six-sided dice. If both results are the same, Free-Range Chicken gets +X/+X until end of turn, where X is that result. If the total of those results is equal to any other total you have rolled this turn for Free-Range Chicken, sacrifice it"; this.staticText = "Roll two six-sided dice. If both results are the same, {this} gets +X/+X until end of turn, where X is that result. If the total of those results is equal to any other total you have rolled this turn for {this}, sacrifice it";
} }
private FreeRangeChickenEffect(final FreeRangeChickenEffect effect) { private FreeRangeChickenEffect(final FreeRangeChickenEffect effect) {