Fix cards 'G' to 'J' with card name instead of {this}, also some split cards now that I've confirmed they work correctly

This commit is contained in:
Steven Knipe 2025-07-06 23:24:21 -07:00
parent c0256da7de
commit 339dff5de8
17 changed files with 75 additions and 119 deletions

View file

@ -1,7 +1,6 @@
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
@ -12,6 +11,8 @@ import mage.constants.SpellAbilityType;
import mage.game.permanent.token.ElephantToken; import mage.game.permanent.token.ElephantToken;
import mage.target.common.TargetAnyTarget; import mage.target.common.TargetAnyTarget;
import java.util.UUID;
public final class AssaultBattery extends SplitCard { public final class AssaultBattery extends SplitCard {
public AssaultBattery(UUID ownerId, CardSetInfo setInfo) { public AssaultBattery(UUID ownerId, CardSetInfo setInfo) {
@ -20,7 +21,7 @@ public final class AssaultBattery extends SplitCard {
// Assault // Assault
// Assault deals 2 damage to any target. // Assault deals 2 damage to any target.
Effect effect = new DamageTargetEffect(2); Effect effect = new DamageTargetEffect(2);
effect.setText("Assault deals 2 damage to any target"); effect.setText("{this} deals 2 damage to any target");
getLeftHalfCard().getSpellAbility().addEffect(effect); getLeftHalfCard().getSpellAbility().addEffect(effect);
getLeftHalfCard().getSpellAbility().addTarget(new TargetAnyTarget()); getLeftHalfCard().getSpellAbility().addTarget(new TargetAnyTarget());

View file

@ -1,17 +1,12 @@
package mage.cards.c; package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.effects.common.DamageTargetControllerEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.cards.SplitCard; import mage.cards.SplitCard;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SpellAbilityType; import mage.constants.SpellAbilityType;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlaneswalker; import mage.target.common.TargetCreatureOrPlaneswalker;
import mage.target.common.TargetOpponent; import mage.target.common.TargetOpponent;
@ -27,7 +22,8 @@ public final class CarnivalCarnage extends SplitCard {
// Carnival // Carnival
// Carnival deals 1 damage to target creature or planeswalker and 1 damage to that permanent's controller. // Carnival deals 1 damage to target creature or planeswalker and 1 damage to that permanent's controller.
this.getLeftHalfCard().getSpellAbility().addEffect(new CarnivalEffect()); this.getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(1));
this.getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetControllerEffect(1).setText("and 1 damage to that permanent's controller"));
this.getLeftHalfCard().getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker()); this.getLeftHalfCard().getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker());
// Carnage // Carnage
@ -48,35 +44,3 @@ public final class CarnivalCarnage extends SplitCard {
return new CarnivalCarnage(this); return new CarnivalCarnage(this);
} }
} }
class CarnivalEffect extends OneShotEffect {
CarnivalEffect() {
super(Outcome.Benefit);
staticText = "{this} deals 1 damage to target creature or planeswalker " +
"and 1 damage to that permanent's controller";
}
private CarnivalEffect(final CarnivalEffect effect) {
super(effect);
}
@Override
public CarnivalEffect copy() {
return new CarnivalEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getFirstTarget());
if (permanent == null) {
return false;
}
permanent.damage(1, source.getSourceId(), source, game);
Player player = game.getPlayer(permanent.getControllerId());
if (player != null) {
player.damage(1, source.getSourceId(), source, game);
}
return true;
}
}

View file

@ -1,6 +1,5 @@
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.abilities.dynamicvalue.common.GetXValue; import mage.abilities.dynamicvalue.common.GetXValue;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect;
@ -11,6 +10,8 @@ import mage.constants.CardType;
import mage.constants.SpellAbilityType; import mage.constants.SpellAbilityType;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* @author Stravant * @author Stravant
*/ */
@ -22,7 +23,7 @@ public final class CutRibbons extends SplitCard {
// Cut // Cut
// Cut deals 4 damage to target creature. // Cut deals 4 damage to target creature.
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(4).setText("Cut deals 4 damage to target creature")); getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(4).setText("{this} deals 4 damage to target creature"));
// to // to
// Ribbons // Ribbons

View file

@ -1,24 +1,23 @@
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.AttachEffect;
import mage.constants.Outcome; import mage.abilities.effects.common.continuous.GainControlTargetEffect;
import mage.filter.common.FilterControlledPermanent;
import mage.target.TargetPermanent;
import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.EnchantAbility;
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.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.target.TargetPermanent;
import mage.target.common.TargetNonlandPermanent; import mage.target.common.TargetNonlandPermanent;
import java.util.UUID;
/** /**
*
* @author weirddan455 * @author weirddan455
*/ */
public final class GiantsGrasp extends CardImpl { public final class GiantsGrasp extends CardImpl {
@ -40,7 +39,7 @@ public final class GiantsGrasp extends CardImpl {
// When Giant's Grasp enters the battlefield, gain control of target nonland permanent for as long as Giant's Grasp remains on the battlefield. // When Giant's Grasp enters the battlefield, gain control of target nonland permanent for as long as Giant's Grasp remains on the battlefield.
GainControlTargetEffect controlEffect = new GainControlTargetEffect(Duration.UntilSourceLeavesBattlefield); GainControlTargetEffect controlEffect = new GainControlTargetEffect(Duration.UntilSourceLeavesBattlefield);
controlEffect.setText("gain control of target nonland permanent for as long as Giant's Grasp remains on the battlefield"); controlEffect.setText("gain control of target nonland permanent for as long as {this} remains on the battlefield");
ability = new EntersBattlefieldTriggeredAbility(controlEffect); ability = new EntersBattlefieldTriggeredAbility(controlEffect);
ability.addTarget(new TargetNonlandPermanent()); ability.addTarget(new TargetNonlandPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -9,7 +9,6 @@ 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.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
@ -46,7 +45,7 @@ class GoblinLyreEffect extends OneShotEffect {
GoblinLyreEffect() { GoblinLyreEffect() {
super(Outcome.Damage); super(Outcome.Damage);
this.staticText = "Flip a coin. If you win the flip, {this} deals damage to target opponent or planeswalker equal to the number of creatures you control. " this.staticText = "Flip a coin. If you win the flip, {this} deals damage to target opponent or planeswalker equal to the number of creatures you control. "
+ "If you lose the flip, Goblin Lyre deals damage to you equal to the number of creatures that opponent or that planeswalker's controller controls"; + "If you lose the flip, {this} deals damage to you equal to the number of creatures that opponent or that planeswalker's controller controls";
} }
private GoblinLyreEffect(final GoblinLyreEffect effect) { private GoblinLyreEffect(final GoblinLyreEffect effect) {

View file

@ -1,6 +1,5 @@
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
@ -16,8 +15,9 @@ import mage.filter.StaticFilters;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
*
* @author emerald000 * @author emerald000
*/ */
public final class GravePeril extends CardImpl { public final class GravePeril extends CardImpl {
@ -43,7 +43,7 @@ class GravePerilEffect extends OneShotEffect {
GravePerilEffect() { GravePerilEffect() {
super(Outcome.DestroyPermanent); super(Outcome.DestroyPermanent);
this.staticText = "sacrifice Grave Peril. If you do, destroy that creature"; this.staticText = "sacrifice {this}. If you do, destroy that creature";
} }
private GravePerilEffect(final GravePerilEffect effect) { private GravePerilEffect(final GravePerilEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.ActivatedAbilityImpl; import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.SacrificeTargetCost;
@ -18,7 +17,8 @@ import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.game.Game; import mage.game.Game;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/** /**
* *
@ -81,6 +81,6 @@ class GreaterGargadonAbility extends ActivatedAbilityImpl {
@Override @Override
public String getRule() { public String getRule() {
return super.getRule() + " Activate only if Greater Gargadon is suspended."; return super.getRule() + " Activate only if {this} is suspended.";
} }
} }

View file

@ -3,20 +3,18 @@ package mage.cards.h;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect; import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.StaticFilters;
import mage.filter.predicate.mageobject.AnotherPredicate;
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.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID; import java.util.UUID;
@ -26,12 +24,6 @@ import java.util.UUID;
*/ */
public final class Halfdane extends CardImpl { public final class Halfdane extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("target creature other than Halfdane");
static {
filter.add(AnotherPredicate.instance);
}
public Halfdane(UUID ownerId, CardSetInfo setInfo) { public Halfdane(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}{B}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}{B}");
this.supertype.add(SuperType.LEGENDARY); this.supertype.add(SuperType.LEGENDARY);
@ -41,7 +33,7 @@ public final class Halfdane extends CardImpl {
// At the beginning of your upkeep, change Halfdane's base power and toughness to the power and toughness of target creature other than Halfdane until the end of your next upkeep. // At the beginning of your upkeep, change Halfdane's base power and toughness to the power and toughness of target creature other than Halfdane until the end of your next upkeep.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new HalfdaneUpkeepEffect()); Ability ability = new BeginningOfUpkeepTriggeredAbility(new HalfdaneUpkeepEffect());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability); this.addAbility(ability);
} }
@ -59,7 +51,7 @@ class HalfdaneUpkeepEffect extends OneShotEffect {
HalfdaneUpkeepEffect() { HalfdaneUpkeepEffect() {
super(Outcome.Detriment); super(Outcome.Detriment);
this.staticText = "change {this}'s base power and toughness to the power and toughness of target creature other than Halfdane until the end of your next upkeep"; this.staticText = "change {this}'s base power and toughness to the power and toughness of target creature other than {this} until the end of your next upkeep";
} }
private HalfdaneUpkeepEffect(final HalfdaneUpkeepEffect effect) { private HalfdaneUpkeepEffect(final HalfdaneUpkeepEffect effect) {

View file

@ -1,7 +1,5 @@
package mage.cards.h; package mage.cards.h;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition; import mage.abilities.condition.Condition;
@ -14,13 +12,17 @@ import mage.abilities.keyword.WardAbility;
import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.BlueManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterLandPermanent; import mage.filter.common.FilterLandPermanent;
import mage.filter.predicate.mageobject.AnotherPredicate; import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.permanent.token.custom.CreatureToken; import mage.game.permanent.token.custom.CreatureToken;
import java.util.UUID;
/** /**
*
* @author weirddan455 * @author weirddan455
*/ */
public final class HallOfStormGiants extends CardImpl { public final class HallOfStormGiants extends CardImpl {
@ -51,7 +53,7 @@ public final class HallOfStormGiants extends CardImpl {
.withSubType(SubType.GIANT) .withSubType(SubType.GIANT)
.withAbility(new WardAbility(new GenericManaCost(3))), .withAbility(new WardAbility(new GenericManaCost(3))),
CardType.LAND, Duration.EndOfTurn).setText( CardType.LAND, Duration.EndOfTurn).setText(
"Until end of turn, Hall of Storm Giants becomes a 7/7 blue Giant creature with ward {3}. " + "Until end of turn, {this} becomes a 7/7 blue Giant creature with ward {3}. " +
"It's still a land. " + "It's still a land. " +
"<i>(Whenever it becomes the target of a spell or ability an opponent controls, " + "<i>(Whenever it becomes the target of a spell or ability an opponent controls, " +
"counter it unless that player pays {3}.)</i>"), "counter it unless that player pays {3}.)</i>"),

View file

@ -1,6 +1,5 @@
package mage.cards.h; package mage.cards.h;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -10,15 +9,15 @@ import mage.abilities.effects.OneShotEffect;
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.Zone; 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.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
*
* @author jeffwadsworth * @author jeffwadsworth
*/ */
public final class Helldozer extends CardImpl { public final class Helldozer extends CardImpl {
@ -55,7 +54,7 @@ class HelldozerEffect extends OneShotEffect {
HelldozerEffect() { HelldozerEffect() {
super(Outcome.DestroyPermanent); super(Outcome.DestroyPermanent);
this.staticText = "Destroy target land. If that land was nonbasic, untap Helldozer"; this.staticText = "Destroy target land. If that land was nonbasic, untap {this}";
} }
private HelldozerEffect(final HelldozerEffect effect) { private HelldozerEffect(final HelldozerEffect effect) {

View file

@ -12,13 +12,10 @@ import mage.constants.Outcome;
import mage.constants.SpellAbilityType; import mage.constants.SpellAbilityType;
import mage.filter.StaticFilters; import mage.filter.StaticFilters;
import mage.filter.common.FilterAttackingCreature; import mage.filter.common.FilterAttackingCreature;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
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.target.TargetPlayer; import mage.target.TargetPlayer;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetSacrifice; import mage.target.common.TargetSacrifice;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
@ -57,7 +54,7 @@ class HitEffect extends OneShotEffect {
HitEffect() { HitEffect() {
super(Outcome.DestroyPermanent); super(Outcome.DestroyPermanent);
this.staticText = "Target player sacrifices an artifact or creature. Hit deals damage to that player equal to that permanent's mana value"; this.staticText = "Target player sacrifices an artifact or creature. {this} deals damage to that player equal to that permanent's mana value";
} }
private HitEffect(final HitEffect effect) { private HitEffect(final HitEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.h; package mage.cards.h;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -15,9 +14,10 @@ import mage.abilities.keyword.VigilanceAbility;
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.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.SubType;
import java.util.UUID;
/** /**
* *
@ -42,7 +42,7 @@ public final class HundredHandedOne extends CardImpl {
ConditionalContinuousEffect effect1 = new ConditionalContinuousEffect( ConditionalContinuousEffect effect1 = new ConditionalContinuousEffect(
new GainAbilitySourceEffect(ReachAbility.getInstance(), Duration.WhileOnBattlefield), new GainAbilitySourceEffect(ReachAbility.getInstance(), Duration.WhileOnBattlefield),
MonstrousCondition.instance, MonstrousCondition.instance,
"As long as Hundred-Handed One is monstrous, it has reach"); "As long as {this} is monstrous, it has reach");
ConditionalContinuousEffect effect2 = new ConditionalContinuousEffect( ConditionalContinuousEffect effect2 = new ConditionalContinuousEffect(
new CanBlockAdditionalCreatureEffect(99), new CanBlockAdditionalCreatureEffect(99),
MonstrousCondition.instance, MonstrousCondition.instance,

View file

@ -1,14 +1,14 @@
package mage.cards.i; package mage.cards.i;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
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.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.InfoEffect;
import java.util.UUID; import java.util.UUID;
@ -28,10 +28,10 @@ public final class IllusionaryInformant extends CardImpl {
// TODO: Draft specific abilities not implemented // TODO: Draft specific abilities not implemented
// Draft Illusionary Informant face up. // Draft Illusionary Informant face up.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft Illusionary Informant face up - not implemented."))); this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft {this} face up - not implemented.")));
// During the draft, you may turn Illusionary Informant face down. If you do, look at the next card drafted by a player of your choice. // During the draft, you may turn Illusionary Informant face down. If you do, look at the next card drafted by a player of your choice.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("During the draft, you may turn Illusionary Informant face down. If you do, " this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("During the draft, you may turn {this} face down. If you do, "
+ "look at the next card drafted by a player of your choice - not implemented."))); + "look at the next card drafted by a player of your choice - not implemented.")));
// Flying // Flying

View file

@ -1,6 +1,5 @@
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -17,23 +16,23 @@ import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.AnotherPredicate; import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.TappedPredicate; import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetControlledPermanent;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/** /**
*
* @author jeffwadsworth * @author jeffwadsworth
*/ */
public final class ImpelledGiant extends CardImpl { public final class ImpelledGiant extends CardImpl {
static final private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped red creature you control other than Impelled Giant"); static final private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped red creature you control other than {this}");
static { static {
filter.add(TappedPredicate.UNTAPPED); filter.add(TappedPredicate.UNTAPPED);
@ -73,7 +72,7 @@ class ImpelledGiantCost extends CostImpl {
public ImpelledGiantCost(TargetControlledPermanent target) { public ImpelledGiantCost(TargetControlledPermanent target) {
this.target = target; this.target = target;
this.text = "Tap an untapped red creature you control other than Impelled Giant"; this.text = "Tap an untapped red creature you control other than {this}";
} }
private ImpelledGiantCost(final ImpelledGiantCost cost) { private ImpelledGiantCost(final ImpelledGiantCost cost) {

View file

@ -50,7 +50,7 @@ class InquisitionEffect extends OneShotEffect {
public InquisitionEffect() { public InquisitionEffect() {
super(Outcome.Exile); super(Outcome.Exile);
staticText = "Target player reveals their hand. Inquisition deals damage to that player equal to the number of white cards in their hand"; staticText = "Target player reveals their hand. {this} deals damage to that player equal to the number of white cards in their hand";
} }
private InquisitionEffect(final InquisitionEffect effect) { private InquisitionEffect(final InquisitionEffect effect) {

View file

@ -1,6 +1,5 @@
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
@ -12,8 +11,9 @@ import mage.constants.SpellAbilityType;
import mage.target.common.TargetAnyTarget; import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
*
* @author TheElk801 * @author TheElk801
*/ */
public final class IntegrityIntervention extends SplitCard { public final class IntegrityIntervention extends SplitCard {
@ -33,7 +33,7 @@ public final class IntegrityIntervention extends SplitCard {
// Intervention // Intervention
// Intervention deals 3 damage to any target and you gain 3 life. // Intervention deals 3 damage to any target and you gain 3 life.
this.getRightHalfCard().getSpellAbility().addEffect( this.getRightHalfCard().getSpellAbility().addEffect(
new DamageTargetEffect(3).setText("Intervention deals 3 damage to any target") new DamageTargetEffect(3).setText("{this} deals 3 damage to any target")
); );
this.getRightHalfCard().getSpellAbility().addEffect( this.getRightHalfCard().getSpellAbility().addEffect(
new GainLifeEffect(3).setText("and you gain 3 life") new GainLifeEffect(3).setText("and you gain 3 life")

View file

@ -1,7 +1,6 @@
package mage.cards.j; package mage.cards.j;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -12,18 +11,22 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.MultikickerAbility; import mage.abilities.keyword.MultikickerAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; 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.counters.CounterType; import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate; import mage.filter.predicate.mageobject.AnotherPredicate;
import java.util.UUID;
/** /**
*
* @author jeffwadsworth * @author jeffwadsworth
*/ */
public final class JoragaWarcaller extends CardImpl { public final class JoragaWarcaller extends CardImpl {
private static final String rule = "Other Elf creatures you control get +1/+1 for each +1/+1 counter on Joraga Warcaller"; private static final String rule = "Other Elf creatures you control get +1/+1 for each +1/+1 counter on {this}";
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("elf creatures you control"); private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("elf creatures you control");