Fix 'D' cards with card name instead of {this}

This commit is contained in:
Steven Knipe 2025-06-23 01:54:52 -07:00
parent a4cb983401
commit b764e63451
7 changed files with 27 additions and 21 deletions

View file

@ -1,6 +1,5 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
@ -13,6 +12,8 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import java.util.UUID;
/**
*
* @author L_J
@ -28,7 +29,7 @@ public final class DealBroker extends CardImpl {
// TODO: Draft specific abilities not implemented
// Draft Deal Broker face up.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft Deal Broker face up.")));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft {this} face up.")));
// Immediately after the draft, you may reveal a card in your card pool. Each other player may offer you one card in their card pool in exchange. You may accept any one offer.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Immediately after the draft, you may reveal a card in your card pool. "

View file

@ -1,12 +1,11 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CopyEffect;
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
import mage.cards.*;
import mage.constants.*;
import mage.filter.StaticFilters;
@ -15,6 +14,8 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.PermanentCard;
import mage.players.Player;
import java.util.UUID;
/**
*
* @author LevelX2
@ -47,7 +48,7 @@ class DeceiverOfFormEffect extends OneShotEffect {
DeceiverOfFormEffect() {
super(Outcome.Copy);
this.staticText = "reveal the top card of your library. If a creature card is revealed this way, you may have creatures you control other than Deceiver of Form becomes copies of that card until end of turn. You may put that card on the bottom of your library";
this.staticText = "reveal the top card of your library. If a creature card is revealed this way, you may have creatures you control other than {this} becomes copies of that card until end of turn. You may put that card on the bottom of your library";
}
private DeceiverOfFormEffect(final DeceiverOfFormEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
@ -16,11 +15,12 @@ import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.constants.SubType;
import mage.counters.CounterType;
import java.util.UUID;
/**
*
* @author Loki
@ -41,16 +41,16 @@ public final class Degavolver extends CardImpl {
// If Degavolver was kicked with its {1}{B} kicker, it enters with two +1/+1 counters on it and with "Pay 3 life: Regenerate Degavolver."
EntersBattlefieldAbility ability1 = new EntersBattlefieldAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2),false),
new KickedCostCondition("{1}{B}"), "If Degavolver was kicked with its {1}{B} kicker, it enters with two +1/+1 counters on it and with \"Pay 3 life: Regenerate Degavolver.\"",
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2), false),
new KickedCostCondition("{1}{B}"), "If {this} was kicked with its {1}{B} kicker, it enters with two +1/+1 counters on it and with \"Pay 3 life: Regenerate Degavolver.\"",
"{this} enters with two +1/+1 counters on it and with \"Pay 3 life: Regenerate Degavolver.\"");
((EntersBattlefieldEffect)ability1.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(new SimpleActivatedAbility(new RegenerateSourceEffect(), new PayLifeCost(3)), Duration.WhileOnBattlefield));
this.addAbility(ability1);
// If Degavolver was kicked with its {R} kicker, it enters with a +1/+1 counter on it and with first strike.
EntersBattlefieldAbility ability2 = new EntersBattlefieldAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1),false), new KickedCostCondition("{R}"),
"If Degavolver was kicked with its {R} kicker, it enters with a +1/+1 counter on it and with first strike.",
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false), new KickedCostCondition("{R}"),
"If {this} was kicked with its {R} kicker, it enters with a +1/+1 counter on it and with first strike.",
"{this} enters with a +1/+1 counter on it and with first strike");
((EntersBattlefieldEffect)ability2.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield));
this.addAbility(ability2);

View file

@ -82,6 +82,6 @@ class DeusOfCalamityTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.";
return "Whenever {this} deals 6 or more damage to an opponent, destroy target land that player controls.";
}
}

View file

@ -34,8 +34,7 @@ public final class DragonGrip extends CardImpl {
AsThoughEffect effect = new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame);
this.addAbility(new SimpleStaticAbility(Zone.ALL, new ConditionalAsThoughEffect(effect,
FerociousCondition.instance).setText("<i>Ferocious</i> &mdash; If you control a creature with power 4 or greater, "
+ "you may cast Dragon Grip as though it had flash"))
.addHint(FerociousHint.instance));
+ "you may cast {this} as though it had flash")).addHint(FerociousHint.instance));
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();

View file

@ -1,7 +1,6 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
@ -14,9 +13,14 @@ import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX2
@ -38,9 +42,9 @@ public final class DragonloftIdol extends CardImpl {
// As long as you control a Dragon, Dragonloft Idol gets +1/+1 and has flying and trample.
Effect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1,1, Duration.WhileOnBattlefield),
Effect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter),
"As long as you control a Dragon, Dragonloft Idol gets +1/+1");
"As long as you control a Dragon, {this} gets +1/+1");
Ability ability = new SimpleStaticAbility(effect);
effect = new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
new PermanentsOnTheBattlefieldCondition(filter),

View file

@ -1,7 +1,6 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@ -18,6 +17,8 @@ import mage.game.Game;
import mage.game.stack.Spell;
import mage.target.TargetSpell;
import java.util.UUID;
/**
*
* @author emerald000
@ -57,7 +58,7 @@ class DrainingWhelkEffect extends CounterTargetEffect {
DrainingWhelkEffect() {
super();
staticText = "counter target spell. Put X +1/+1 counters on Draining Whelk, where X is that spell's mana value";
staticText = "counter target spell. Put X +1/+1 counters on {this}, where X is that spell's mana value";
}
private DrainingWhelkEffect(final DrainingWhelkEffect effect) {