mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
Fix cards 'T' to 'Z' with card name instead of {this}, Generify TitaniasChosen
This commit is contained in:
parent
996dc796a4
commit
05258ba270
25 changed files with 111 additions and 140 deletions
|
|
@ -2,9 +2,9 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -48,7 +48,7 @@ class SmokestackEffect extends OneShotEffect {
|
|||
|
||||
SmokestackEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
this.staticText = "that player sacrifices a permanent for each soot counter on {this}";
|
||||
this.staticText = "that player sacrifices a permanent of their choice for each soot counter on {this}";
|
||||
}
|
||||
|
||||
private SmokestackEffect(final SmokestackEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.FadingAbility;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -21,6 +20,8 @@ import mage.players.Player;
|
|||
import mage.target.Target;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Plopman
|
||||
|
|
@ -58,7 +59,7 @@ class TangleWireEffect extends OneShotEffect {
|
|||
|
||||
TangleWireEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
staticText = "that player taps an untapped artifact, creature, or land they control for each fade counter on Tangle Wire";
|
||||
staticText = "that player taps an untapped artifact, creature, or land they control for each fade counter on {this}";
|
||||
}
|
||||
|
||||
private TangleWireEffect(final TangleWireEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
|
||||
import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -10,6 +9,8 @@ import mage.constants.CardType;
|
|||
import mage.constants.PhaseStep;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
|
|
@ -20,7 +21,7 @@ public final class Teleport extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}{U}{U}");
|
||||
|
||||
// Cast Teleport only during the declare attackers step.
|
||||
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, PhaseStep.DECLARE_ATTACKERS, null, "Cast Teleport only during the declare attackers step"));
|
||||
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(null, PhaseStep.DECLARE_ATTACKERS, null, "Cast {this} only during the declare attackers step"));
|
||||
|
||||
// Target creature can't be blocked this turn.
|
||||
this.getSpellAbility().addEffect(new CantBeBlockedTargetEffect());
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
|
|
@ -16,12 +15,13 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -29,7 +29,7 @@ import mage.target.TargetPermanent;
|
|||
*/
|
||||
public final class ThatWhichWasTaken extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterPermanent("permanent other than That Which Was Taken");
|
||||
private static final FilterPermanent filter = new FilterPermanent("permanent other than {this}");
|
||||
|
||||
private static final FilterPermanent filterIndestructible = new FilterPermanent("Each permanent with a divinity counter on it");
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,13 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SagaAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.constants.*;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.ExileZone;
|
||||
|
|
@ -20,6 +18,8 @@ import mage.target.common.TargetCardInGraveyard;
|
|||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Grath
|
||||
|
|
@ -140,7 +140,7 @@ class TheAesirEscapeValhallaThreeEffect extends OneShotEffect {
|
|||
|
||||
TheAesirEscapeValhallaThreeEffect() {
|
||||
super(Outcome.Neutral);
|
||||
staticText = "Return The Aesir Escape Valhalla and the exiled card to their owner's hand.";
|
||||
staticText = "Return {this} and the exiled card to their owner's hand.";
|
||||
}
|
||||
|
||||
private TheAesirEscapeValhallaThreeEffect(final TheAesirEscapeValhallaThreeEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,38 +1,38 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.common.delayed.AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.RestrictionEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.permanent.ControllerIdPredicate;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.common.delayed.AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.RestrictionEffect;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.game.combat.CombatGroup;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.token.DoublestrikeSamuraiToken;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -181,8 +181,7 @@ class TheEternalWandererAttackRestrictionEffect extends RestrictionEffect {
|
|||
|
||||
TheEternalWandererAttackRestrictionEffect() {
|
||||
super(Duration.WhileOnBattlefield);
|
||||
staticText = "No more than one creature can attack" +
|
||||
" The Eternal Wanderer each combat";
|
||||
staticText = "No more than one creature can attack {this} each combat";
|
||||
}
|
||||
|
||||
private TheEternalWandererAttackRestrictionEffect(final TheEternalWandererAttackRestrictionEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
|
|
@ -13,10 +12,11 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Plopman
|
||||
|
|
@ -52,7 +52,7 @@ class ThranWeaponryEffect extends BoostAllEffect{
|
|||
|
||||
public ThranWeaponryEffect() {
|
||||
super(2, 2, Duration.WhileOnBattlefield);
|
||||
staticText = "All creatures get +2/+2 for as long as Thran Weaponry remains tapped";
|
||||
staticText = "All creatures get +2/+2 for as long as {this} remains tapped";
|
||||
}
|
||||
|
||||
private ThranWeaponryEffect(final ThranWeaponryEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -15,13 +14,13 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author emerald000
|
||||
|
|
@ -59,7 +58,7 @@ class TimeVaultReplacementEffect extends ReplacementEffectImpl {
|
|||
|
||||
TimeVaultReplacementEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Untap);
|
||||
staticText = "If you would begin your turn while {this} is tapped, you may skip that turn instead. If you do, untap Time Vault.";
|
||||
staticText = "If you would begin your turn while {this} is tapped, you may skip that turn instead. If you do, untap {this}.";
|
||||
}
|
||||
|
||||
private TimeVaultReplacementEffect(final TimeVaultReplacementEffect effect) {
|
||||
|
|
|
|||
|
|
@ -2,29 +2,33 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.common.SpellCastAllTriggeredAbility;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.stack.Spell;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Backfir3
|
||||
*/
|
||||
public final class TitaniasChosen extends CardImpl {
|
||||
|
||||
private static final FilterSpell filter = new FilterSpell("green spell");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.GREEN));
|
||||
}
|
||||
|
||||
public TitaniasChosen(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
|
||||
this.subtype.add(SubType.ELF);
|
||||
this.subtype.add(SubType.ARCHER);
|
||||
|
||||
|
|
@ -32,7 +36,7 @@ public final class TitaniasChosen extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever a player casts a green spell, put a +1/+1 counter on Titania's Chosen.
|
||||
this.addAbility(new TitaniasChosenAbility());
|
||||
this.addAbility(new SpellCastAllTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter, false));
|
||||
}
|
||||
|
||||
private TitaniasChosen(final TitaniasChosen card) {
|
||||
|
|
@ -45,36 +49,3 @@ public final class TitaniasChosen extends CardImpl {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
class TitaniasChosenAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public TitaniasChosenAbility() {
|
||||
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
|
||||
}
|
||||
|
||||
private TitaniasChosenAbility(final TitaniasChosenAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TitaniasChosenAbility copy() {
|
||||
return new TitaniasChosenAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.SPELL_CAST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
Spell spell = game.getStack().getSpell(event.getTargetId());
|
||||
return spell != null && spell.getColor(game).isGreen();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a player casts a green spell, put a +1/+1 counter on Titania's Chosen.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ class UglukOfTheWhiteHandEffect extends OneShotEffect {
|
|||
|
||||
public UglukOfTheWhiteHandEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "put a +1/+1 counter on Ugluk of the White Hand. " +
|
||||
"If that creature was a Goblin or Orc, put two +1/+1 counters on Ugluk instead.";
|
||||
staticText = "put a +1/+1 counter on {this}. " +
|
||||
"If that creature was a Goblin or Orc, put two +1/+1 counters on {this} instead.";
|
||||
}
|
||||
|
||||
private UglukOfTheWhiteHandEffect(final UglukOfTheWhiteHandEffect effect) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class UmbraStalker extends CardImpl {
|
|||
// Chroma - Umbra Stalker's power and toughness are each equal to the number of black mana symbols in the mana costs of cards in your graveyard.
|
||||
DynamicValue xValue = new ChromaUmbraStalkerCount();
|
||||
Effect effect = new SetBasePowerToughnessSourceEffect(xValue);
|
||||
effect.setText("<i>Chroma</i> — Umbra Stalker's power and toughness are each equal to the number of black mana symbols in the mana costs of cards in your graveyard.");
|
||||
effect.setText("<i>Chroma</i> — {this}'s power and toughness are each equal to the number of black mana symbols in the mana costs of cards in your graveyard.");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, effect)
|
||||
.addHint(new ValueHint("Black mana symbols in your graveyard's permanents", xValue))
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.u;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -9,20 +8,20 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.costs.mana.ColoredManaCost;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.ObjectSourcePlayer;
|
||||
import mage.filter.predicate.ObjectSourcePlayerPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -30,7 +29,7 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public final class UnlivingPsychopath extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with power less than Unliving Psychopath's power");
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with power less than {this}'s power");
|
||||
|
||||
static {
|
||||
filter.add(new UnlivingPsychopathPowerLessThanSourcePredicate());
|
||||
|
|
@ -74,6 +73,6 @@ class UnlivingPsychopathPowerLessThanSourcePredicate implements ObjectSourcePlay
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "power less than Unliving Psychopath's power";
|
||||
return "power less than {this}'s power";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.u;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldAbility;
|
||||
|
|
@ -16,6 +15,8 @@ import mage.constants.CardType;
|
|||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author tcontis
|
||||
|
|
@ -39,7 +40,7 @@ public final class UntamedKavu extends CardImpl {
|
|||
// If Untamed Kavu was kicked, it enters with three +1/+1 counters on it.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)),
|
||||
KickedCondition.ONCE,
|
||||
"If Untamed Kavu was kicked, it enters with three +1/+1 counters on it.", "");
|
||||
"If {this} was kicked, it enters with three +1/+1 counters on it.", "");
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class ValkiGodOfLiesRevealExileEffect extends OneShotEffect {
|
|||
|
||||
ValkiGodOfLiesRevealExileEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "each opponent reveals their hand. For each opponent, exile a creature card they revealed this way until Valki leaves the battlefield.";
|
||||
staticText = "each opponent reveals their hand. For each opponent, exile a creature card they revealed this way until {this} leaves the battlefield.";
|
||||
}
|
||||
|
||||
private ValkiGodOfLiesRevealExileEffect(final ValkiGodOfLiesRevealExileEffect effect) {
|
||||
|
|
@ -147,7 +147,7 @@ class ValkiGodOfLiesCopyExiledEffect extends OneShotEffect {
|
|||
|
||||
ValkiGodOfLiesCopyExiledEffect() {
|
||||
super(Outcome.Benefit);
|
||||
this.staticText = "Choose a creature card exiled with Valki with mana value X. Valki becomes a copy of that card.";
|
||||
this.staticText = "Choose a creature card exiled with {this} with mana value X. {this} becomes a copy of that card.";
|
||||
}
|
||||
|
||||
private ValkiGodOfLiesCopyExiledEffect(final ValkiGodOfLiesCopyExiledEffect effect) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
|
@ -53,7 +52,7 @@ class ViashinoHereticEffect extends OneShotEffect {
|
|||
|
||||
public ViashinoHereticEffect() {
|
||||
super(Outcome.DestroyPermanent);
|
||||
this.staticText = "Destroy target artifact. Viashino Heretic deals damage to that artifact's controller equal to the artifact's mana value";
|
||||
this.staticText = "Destroy target artifact. {this} deals damage to that artifact's controller equal to the artifact's mana value";
|
||||
}
|
||||
|
||||
private ViashinoHereticEffect(final ViashinoHereticEffect effect) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
|
||||
|
|
@ -46,7 +45,7 @@ public final class VileManifestation extends CardImpl {
|
|||
// Vile Manifestation gets +1/+0 for each card with cycling in your graveyard.
|
||||
DynamicValue amount = new CardsInControllerGraveyardCount(filter);
|
||||
Effect effect = new BoostSourceEffect(amount, StaticValue.get(0), Duration.WhileOnBattlefield);
|
||||
effect.setText("Vile Manifestation gets +1/+0 for each card with cycling in your graveyard.");
|
||||
effect.setText("{this} gets +1/+0 for each card with cycling in your graveyard.");
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.DelayedTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -22,6 +21,8 @@ import mage.game.events.ZoneChangeEvent;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
|
|
@ -83,6 +84,6 @@ class WarBargeDelayedTriggeredAbility extends DelayedTriggeredAbility {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When War Barge leaves the battlefield this turn, destroy that creature. A creature destroyed this way can't be regenerated.";
|
||||
return "When {this} leaves the battlefield this turn, destroy that creature. A creature destroyed this way can't be regenerated.";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -37,7 +36,7 @@ public final class WardenOfTheWall extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BecomesCreatureSourceEffect(new GargoyleToken(), CardType.ARTIFACT, Duration.WhileOnBattlefield),
|
||||
NotMyTurnCondition.instance,
|
||||
"During turns other than yours, Warden of the Wall is a 2/3 Gargoyle artifact creature with flying"))
|
||||
"During turns other than yours, {this} is a 2/3 Gargoyle artifact creature with flying"))
|
||||
.addHint(NotMyTurnHint.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
|
|
@ -16,6 +15,8 @@ import mage.game.Game;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
|
|
@ -50,7 +51,7 @@ class WarrenPilferersReturnEffect extends OneShotEffect {
|
|||
|
||||
WarrenPilferersReturnEffect() {
|
||||
super(Outcome.ReturnToHand);
|
||||
staticText = "return target creature card from your graveyard to your hand. If that card is a Goblin card, Warren Pilferers gains haste until end of turn";
|
||||
staticText = "return target creature card from your graveyard to your hand. If that card is a Goblin card, {this} gains haste until end of turn";
|
||||
}
|
||||
|
||||
private WarrenPilferersReturnEffect(final WarrenPilferersReturnEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.InfoEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.InfoEffect;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -26,10 +27,10 @@ public final class WhispergearSneak extends CardImpl {
|
|||
|
||||
// TODO: Draft specific abilities not implemented
|
||||
// Draft Whispergear Sneak face up.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft Whispergear Sneak face up - not implemented.")));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft {this} face up - not implemented.")));
|
||||
|
||||
// During the draft, you may turn Whispergear Sneak face down. If you do, look at any unopened booster pack in the draft or any booster pack not being looked at by another player.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("During the draft, you may turn Whispergear Sneak 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 any unopened booster pack in the draft or any booster pack not being looked at by another player - not implemented.")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -10,9 +9,8 @@ import mage.abilities.effects.common.LoseLifeTargetEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPlayer;
|
||||
import mage.filter.predicate.ObjectSourcePlayer;
|
||||
import mage.filter.predicate.ObjectSourcePlayerPredicate;
|
||||
|
|
@ -21,13 +19,15 @@ import mage.players.Player;
|
|||
import mage.target.TargetPlayer;
|
||||
import mage.watchers.common.PlayerDamagedBySourceWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public final class WickedAkuba extends CardImpl {
|
||||
|
||||
private static final FilterPlayer filter = new FilterPlayer("player dealt damage by Wicked Akuba this turn");
|
||||
private static final FilterPlayer filter = new FilterPlayer("player dealt damage by {this} this turn");
|
||||
|
||||
static {
|
||||
filter.add(new WickedAkubaPredicate());
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
|
|
@ -18,6 +17,8 @@ import mage.counters.CounterType;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
|
|
@ -81,6 +82,6 @@ class WithengarUnboundTriggeredAbility extends TriggeredAbilityImpl {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a player loses the game, put thirteen +1/+1 counters on Withengar Unbound.";
|
||||
return "Whenever a player loses the game, put thirteen +1/+1 counters on {this}.";
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,8 @@
|
|||
|
||||
package mage.cards.y;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
|
|
@ -13,20 +11,18 @@ import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
|||
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.ObjectSourcePlayer;
|
||||
import mage.filter.predicate.ObjectSourcePlayerPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -34,7 +30,7 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public final class YasovaDragonclaw extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls with power less than Yasova Dragonclaw's power");
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls with power less than {this}'s power");
|
||||
|
||||
static {
|
||||
filter.add(new YasovaDragonclawPowerLessThanSourcePredicate());
|
||||
|
|
@ -82,6 +78,6 @@ class YasovaDragonclawPowerLessThanSourcePredicate implements ObjectSourcePlayer
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "power less than Yasova Dragonclaw's power";
|
||||
return "power less than {this}'s power";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.y;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.PutIntoGraveFromBattlefieldAllTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
|
@ -14,14 +13,21 @@ import mage.constants.SuperType;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class YomijiWhoBarsTheWay extends CardImpl {
|
||||
private static final FilterPermanent filter = new FilterPermanent("a legendary permanent other than {this}");
|
||||
|
||||
static {
|
||||
filter.add(AnotherPredicate.instance);
|
||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||
}
|
||||
|
||||
public YomijiWhoBarsTheWay(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}");
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.SPIRIT);
|
||||
|
||||
|
|
@ -29,11 +35,7 @@ public final class YomijiWhoBarsTheWay extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Whenever a legendary permanent other than Yomiji, Who Bars the Way is put into a graveyard from the battlefield, return that card to its owner's hand.
|
||||
FilterPermanent filter = new FilterPermanent("a legendary permanent other than " + getName());
|
||||
filter.add(AnotherPredicate.instance);
|
||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||
Effect effect = new ReturnToHandTargetEffect();
|
||||
effect.setText("return that card to its owner's hand");
|
||||
Effect effect = new ReturnToHandTargetEffect().setText("return that card to its owner's hand");
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(effect, false, filter, true));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.z;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
|
@ -18,6 +17,8 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX
|
||||
|
|
@ -82,6 +83,6 @@ class ZoZuThePunisherAbility extends TriggeredAbilityImpl {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a land enters the battlefield, Zo-Zu the Punisher deals 2 damage to that land's controller.";
|
||||
return "Whenever a land enters the battlefield, {this} deals 2 damage to that land's controller.";
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue