mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
fix some card text
This commit is contained in:
parent
10a8059eae
commit
9a6504c1fa
25 changed files with 34 additions and 37 deletions
|
|
@ -27,9 +27,9 @@ public final class AlabornZealot extends CardImpl {
|
||||||
|
|
||||||
// When Alaborn Zealot blocks a creature, destroy that creature and Alaborn Zealot.
|
// When Alaborn Zealot blocks a creature, destroy that creature and Alaborn Zealot.
|
||||||
TriggeredAbility ability = new BlocksCreatureTriggeredAbility(
|
TriggeredAbility ability = new BlocksCreatureTriggeredAbility(
|
||||||
new DestroyTargetEffect().setText("destroy that creature")
|
new DestroyTargetEffect().setText("destroy both")
|
||||||
);
|
);
|
||||||
ability.addEffect(new DestroySourceEffect().setText("and {this}"));
|
ability.addEffect(new DestroySourceEffect().setText(" creatures"));
|
||||||
ability.setTriggerPhrase("When {this} blocks a creature, ");
|
ability.setTriggerPhrase("When {this} blocks a creature, ");
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -34,7 +33,9 @@ public final class Blight extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// When enchanted land becomes tapped, destroy it.
|
// When enchanted land becomes tapped, destroy it.
|
||||||
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DestroyAttachedToEffect("it"), "enchanted land"));
|
this.addAbility(new BecomesTappedAttachedTriggeredAbility(
|
||||||
|
new DestroyAttachedToEffect("it"), "enchanted land"
|
||||||
|
).setTriggerPhrase("When enchanted land becomes tapped, "));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Blight(final Blight card) {
|
private Blight(final Blight card) {
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,6 @@ class DredgingClawTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever a creature enters the battlefield from your graveyard, you may attach {this} to it.";
|
return "Whenever a creature enters from your graveyard, you may attach {this} to it.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ class FavorOfTheMightyEffect extends ContinuousEffectImpl {
|
||||||
|
|
||||||
FavorOfTheMightyEffect() {
|
FavorOfTheMightyEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
|
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
|
||||||
this.staticText = "Each creature with the highest mana value has protection from all colors.";
|
this.staticText = "Each creature with the greatest mana value has protection from each color.";
|
||||||
}
|
}
|
||||||
|
|
||||||
private FavorOfTheMightyEffect(final FavorOfTheMightyEffect effect) {
|
private FavorOfTheMightyEffect(final FavorOfTheMightyEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class HakodaSelflessCommander extends CardImpl {
|
public final class HakodaSelflessCommander extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCard(SubType.ALLY, "Ally spells");
|
private static final FilterCard filter = new FilterCard(SubType.ALLY, "cast Ally spells");
|
||||||
|
|
||||||
public HakodaSelflessCommander(UUID ownerId, CardSetInfo setInfo) {
|
public HakodaSelflessCommander(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ public final class KinjallisSunwing extends CardImpl {
|
||||||
|
|
||||||
// Creatures your opponents control enter the battlefield tapped.
|
// Creatures your opponents control enter the battlefield tapped.
|
||||||
this.addAbility(new SimpleStaticAbility(new PermanentsEnterBattlefieldTappedEffect(
|
this.addAbility(new SimpleStaticAbility(new PermanentsEnterBattlefieldTappedEffect(
|
||||||
StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE
|
StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES
|
||||||
).setText("creatures your opponents control enter the battlefield tapped")));
|
)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private KinjallisSunwing(final KinjallisSunwing card) {
|
private KinjallisSunwing(final KinjallisSunwing card) {
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ class MishrasWarMachineEffect extends OneShotEffect {
|
||||||
|
|
||||||
MishrasWarMachineEffect() {
|
MishrasWarMachineEffect() {
|
||||||
super(Outcome.Sacrifice);
|
super(Outcome.Sacrifice);
|
||||||
staticText = "{this} deals 3 damage to you unless you discard a card. If {this} deals damage to you this way, tap it";
|
staticText = "{this} deals 3 damage to you unless you discard a card. If it deals damage to you this way, tap it";
|
||||||
}
|
}
|
||||||
|
|
||||||
private MishrasWarMachineEffect(final MishrasWarMachineEffect effect) {
|
private MishrasWarMachineEffect(final MishrasWarMachineEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ class MisthollowGriffinPlayEffect extends AsThoughEffectImpl {
|
||||||
|
|
||||||
MisthollowGriffinPlayEffect() {
|
MisthollowGriffinPlayEffect() {
|
||||||
super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit);
|
super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit);
|
||||||
staticText = "You may cast {this} from exile";
|
staticText = "You may cast this card from exile";
|
||||||
}
|
}
|
||||||
|
|
||||||
private MisthollowGriffinPlayEffect(final MisthollowGriffinPlayEffect effect) {
|
private MisthollowGriffinPlayEffect(final MisthollowGriffinPlayEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ class MoxDiamondReplacementEffect extends ReplacementEffectImpl {
|
||||||
|
|
||||||
MoxDiamondReplacementEffect() {
|
MoxDiamondReplacementEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Exile);
|
super(Duration.WhileOnBattlefield, Outcome.Exile);
|
||||||
staticText = "If {this} would enter the battlefield, you may discard a land card instead. If you do, put {this} onto the battlefield. If you don't, put it into its owner's graveyard";
|
staticText = "If {this} would enter, you may discard a land card instead. If you do, put {this} onto the battlefield. If you don't, put it into its owner's graveyard";
|
||||||
}
|
}
|
||||||
|
|
||||||
private MoxDiamondReplacementEffect(final MoxDiamondReplacementEffect effect) {
|
private MoxDiamondReplacementEffect(final MoxDiamondReplacementEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public final class PillarLaunch extends CardImpl {
|
||||||
|
|
||||||
// Target creature gets +2/+2 and gains reach until end of turn. Untap it.
|
// Target creature gets +2/+2 and gains reach until end of turn. Untap it.
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2).setText("target creature gets +2/+2"));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2).setText("target creature gets +2/+2"));
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ReachAbility.getInstance()).setText("and gain reach until end of turn"));
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ReachAbility.getInstance()).setText("and gains reach until end of turn"));
|
||||||
this.getSpellAbility().addEffect(new UntapTargetEffect("Untap it"));
|
this.getSpellAbility().addEffect(new UntapTargetEffect("Untap it"));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,10 @@ public final class PincerSpider extends CardImpl {
|
||||||
this.addAbility(ReachAbility.getInstance());
|
this.addAbility(ReachAbility.getInstance());
|
||||||
|
|
||||||
// If Pincer Spider was kicked, it enters with a +1/+1 counter on it.
|
// If Pincer Spider was kicked, it enters with a +1/+1 counter on it.
|
||||||
Ability ability = new EntersBattlefieldAbility(
|
this.addAbility(new EntersBattlefieldAbility(
|
||||||
new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.ONCE, ""),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), KickedCondition.ONCE,
|
||||||
"If {this} was kicked, it enters with a +1/+1 counter on it.");
|
"If {this} was kicked, it enters with a +1/+1 counter on it.", ""
|
||||||
this.addAbility(ability);
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public final class PrisonBarricade extends CardImpl {
|
||||||
|
|
||||||
// If Prison Barricade was kicked, it enters with a +1/+1 counter on it and with "Prison Barricade can attack as though it didn't have defender."
|
// If Prison Barricade was kicked, it enters with a +1/+1 counter on it and with "Prison Barricade can attack as though it didn't have defender."
|
||||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||||
KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", "");
|
KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it and with \"This creature can attack as though it didn't have defender.\"", "");
|
||||||
ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield));
|
ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ class RadiantGraceEffect extends OneShotEffect {
|
||||||
|
|
||||||
RadiantGraceEffect() {
|
RadiantGraceEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "return {this} to the battlefield transformed under your control attached to target opponent";
|
staticText = "return this card to the battlefield transformed under your control attached to target opponent";
|
||||||
}
|
}
|
||||||
|
|
||||||
private RadiantGraceEffect(final RadiantGraceEffect effect) {
|
private RadiantGraceEffect(final RadiantGraceEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public final class ScorchingLava extends CardImpl {
|
||||||
// that creature can't be regenerated this turn and if it would die this turn, exile it instead.
|
// that creature can't be regenerated this turn and if it would die this turn, exile it instead.
|
||||||
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||||
this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(
|
this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(
|
||||||
new CantRegenerateTargetEffect(Duration.EndOfTurn, "If {this} was kicked, that creature"),
|
new CantRegenerateTargetEffect(Duration.EndOfTurn, "If this spell was kicked, that creature"),
|
||||||
new LockedInCondition(KickedCondition.ONCE)));
|
new LockedInCondition(KickedCondition.ONCE)));
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new ExileTargetIfDiesEffect(),
|
new ExileTargetIfDiesEffect(),
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class SpectrumSentinel extends CardImpl {
|
||||||
|
|
||||||
// Whenever a nonbasic land enters the battlefield under an opponent's control, you gain 1 life.
|
// Whenever a nonbasic land enters the battlefield under an opponent's control, you gain 1 life.
|
||||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(new GainLifeEffect(1), filter2)
|
this.addAbility(new EntersBattlefieldAllTriggeredAbility(new GainLifeEffect(1), filter2)
|
||||||
.setTriggerPhrase("Whenever a nonbasic land enters the battlefield under an opponent's control, "));
|
.setTriggerPhrase("Whenever a nonbasic land an opponent controls enters, "));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SpectrumSentinel(final SpectrumSentinel card) {
|
private SpectrumSentinel(final SpectrumSentinel card) {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class StingerbackTerror extends CardImpl {
|
public final class StingerbackTerror extends CardImpl {
|
||||||
|
|
||||||
private static final DynamicValue xValue = new SignInversionDynamicValue(CardsInControllerHandCount.ANY);
|
private static final DynamicValue xValue = new SignInversionDynamicValue(CardsInControllerHandCount.ANY_SINGULAR);
|
||||||
|
|
||||||
public StingerbackTerror(UUID ownerId, CardSetInfo setInfo) {
|
public StingerbackTerror(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ public final class TheFourthDoctor extends CardImpl {
|
||||||
null,
|
null,
|
||||||
true
|
true
|
||||||
))
|
))
|
||||||
.withFlavorWord("Would You Like A…?"),
|
.withFlavorWord("Would You Like A...?"),
|
||||||
new TheFourthDoctorWatcher()
|
new TheFourthDoctorWatcher()
|
||||||
);
|
);
|
||||||
this.addAbility(new TheFourthDoctorTriggeredAbility());
|
this.addAbility(new TheFourthDoctorTriggeredAbility());
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class TritonWavebreaker extends CardImpl {
|
||||||
// As long as Triton Wavebreaker is a creature, it has prowess.
|
// As long as Triton Wavebreaker is a creature, it has prowess.
|
||||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||||
new GainAbilitySourceEffect(new ProwessAbility(), Duration.WhileOnBattlefield),
|
new GainAbilitySourceEffect(new ProwessAbility(), Duration.WhileOnBattlefield),
|
||||||
condition, "as long as {this} is a creature, it has prowess"
|
condition, "as long as this permanent is a creature, it has prowess"
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// Enchanted creature gets +1/+1 and has prowess.
|
// Enchanted creature gets +1/+1 and has prowess.
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ class TurfWoundEffect extends ContinuousRuleModifyingEffectImpl {
|
||||||
|
|
||||||
TurfWoundEffect() {
|
TurfWoundEffect() {
|
||||||
super(Duration.EndOfTurn, Outcome.Detriment);
|
super(Duration.EndOfTurn, Outcome.Detriment);
|
||||||
staticText = "Target player can't play land cards this turn";
|
staticText = "Target player can't play lands this turn";
|
||||||
}
|
}
|
||||||
|
|
||||||
private TurfWoundEffect(final TurfWoundEffect effect) {
|
private TurfWoundEffect(final TurfWoundEffect effect) {
|
||||||
|
|
@ -74,10 +74,7 @@ class TurfWoundEffect extends ContinuousRuleModifyingEffectImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||||
if (event.getPlayerId().equals(source.getFirstTarget())) {
|
return event.getPlayerId().equals(source.getFirstTarget());
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (replaceRuleText && triggerPhrase != null) {
|
if (replaceRuleText && triggerPhrase != null) {
|
||||||
superRule = superRule.replaceFirst("^((?:you may )?sacrifice |(put|remove) [^ ]+ [^ ]+ counters? (on|from) |return |transform |untap |regenerate |attach )?\\{this\\}", "$1it");
|
superRule = superRule.replaceFirst("^((?:you may )?sacrifice |(put|remove) [^ ]+ [^ ]+ counters? (on|from) |return |transform |untap |regenerate |attach |exile )?\\{this\\}", "$1it");
|
||||||
}
|
}
|
||||||
sb.append(superRule);
|
sb.append(superRule);
|
||||||
if (triggerLimitEachTurn != Integer.MAX_VALUE) {
|
if (triggerLimitEachTurn != Integer.MAX_VALUE) {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class WhileSearchingPlayFromLibraryAbility extends StaticAbility implemen
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "While you're searching your library, you may cast {this} from your library.";
|
return "While you're searching your library, you may cast this card from your library.";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import mage.filter.StaticFilters;
|
||||||
public class CopyNextSpellDelayedTriggeredAbility extends CastNextSpellDelayedTriggeredAbility {
|
public class CopyNextSpellDelayedTriggeredAbility extends CastNextSpellDelayedTriggeredAbility {
|
||||||
|
|
||||||
public CopyNextSpellDelayedTriggeredAbility() {
|
public CopyNextSpellDelayedTriggeredAbility() {
|
||||||
this(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY);
|
this(StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CopyNextSpellDelayedTriggeredAbility(FilterSpell filter) {
|
public CopyNextSpellDelayedTriggeredAbility(FilterSpell filter) {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ public class CanBlockAsThoughtItHadShadowEffect extends AsThoughEffectImpl {
|
||||||
|
|
||||||
public CanBlockAsThoughtItHadShadowEffect(Duration duration) {
|
public CanBlockAsThoughtItHadShadowEffect(Duration duration) {
|
||||||
super(AsThoughEffectType.BLOCK_SHADOW, duration, Outcome.Benefit);
|
super(AsThoughEffectType.BLOCK_SHADOW, duration, Outcome.Benefit);
|
||||||
staticText = "{this} can block creatures with shadow as though {this} had shadow";
|
staticText = "{this} can block creatures with shadow as though it had shadow";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CanBlockAsThoughtItHadShadowEffect(final CanBlockAsThoughtItHadShadowEffect effect) {
|
protected CanBlockAsThoughtItHadShadowEffect(final CanBlockAsThoughtItHadShadowEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,7 @@ public class BoostSourceWhileControlsEffect extends WhileConditionContinuousEffe
|
||||||
staticText = "{this} gets "
|
staticText = "{this} gets "
|
||||||
+ CardUtil.getBoostCountAsStr(power, toughness)
|
+ CardUtil.getBoostCountAsStr(power, toughness)
|
||||||
+ " as long as you control "
|
+ " as long as you control "
|
||||||
+ (filterDescription.startsWith("an ") ? "" : "a ")
|
+ CardUtil.addArticle(filterDescription);
|
||||||
+ filterDescription;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BoostSourceWhileControlsEffect(final BoostSourceWhileControlsEffect effect) {
|
protected BoostSourceWhileControlsEffect(final BoostSourceWhileControlsEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import mage.constants.CardType;
|
||||||
public final class BananaToken extends TokenImpl {
|
public final class BananaToken extends TokenImpl {
|
||||||
|
|
||||||
public BananaToken() {
|
public BananaToken() {
|
||||||
super("Banana", "colorless artifact token named Banana with \"{T}, Sacrifice this artifact: Add {R} or {G}. You gain 2 life.\"");
|
super("Banana", "colorless artifact token named Banana with \"{T}, Sacrifice this token: Add {R} or {G}. You gain 2 life.\"");
|
||||||
cardType.add(CardType.ARTIFACT);
|
cardType.add(CardType.ARTIFACT);
|
||||||
|
|
||||||
// {T}, Sacrifice this artifact: Add {R} or {G}. You gain 2 life.
|
// {T}, Sacrifice this artifact: Add {R} or {G}. You gain 2 life.
|
||||||
|
|
@ -22,7 +22,7 @@ public final class BananaToken extends TokenImpl {
|
||||||
ability.addEffect(new GainLifeEffect(2));
|
ability.addEffect(new GainLifeEffect(2));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
ability = new GreenManaAbility();
|
ability = new GreenManaAbility();
|
||||||
ability.addCost(new SacrificeSourceCost().setText("sacrifice this artifact"));
|
ability.addCost(new SacrificeSourceCost().setText("sacrifice this token"));
|
||||||
ability.addEffect(new GainLifeEffect(2));
|
ability.addEffect(new GainLifeEffect(2));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue