mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
refactor: SimpleActivatedAbility default zone (cards X Y Z, emblems, tokens)
This commit is contained in:
parent
299e785dd7
commit
0e1fa94a11
42 changed files with 44 additions and 44 deletions
|
|
@ -32,7 +32,7 @@ public final class XWing extends CardImpl {
|
||||||
this.addAbility(SpaceflightAbility.getInstance());
|
this.addAbility(SpaceflightAbility.getInstance());
|
||||||
|
|
||||||
// {W}: X-Wing gains viginlance until end of turn.
|
// {W}: X-Wing gains viginlance until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
|
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class XanthicStatue extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
|
||||||
|
|
||||||
// {5}: Until end of turn, Xanthic Statue becomes an 8/8 Golem artifact creature with trample.
|
// {5}: Until end of turn, Xanthic Statue becomes an 8/8 Golem artifact creature with trample.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new XanthicStatueCreature(), CardType.ARTIFACT, Duration.EndOfTurn)
|
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(new XanthicStatueCreature(), CardType.ARTIFACT, Duration.EndOfTurn)
|
||||||
.setText("until end of turn, {this} becomes an 8/8 Golem artifact creature with trample")
|
.setText("until end of turn, {this} becomes an 8/8 Golem artifact creature with trample")
|
||||||
, new ManaCostsImpl<>("{5}")));
|
, new ManaCostsImpl<>("{5}")));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public final class XathridSlyblade extends CardImpl {
|
||||||
// {3}{B}: Until end of turn, Xathrid Slyblade loses hexproof and gains first strike and deathtouch.
|
// {3}{B}: Until end of turn, Xathrid Slyblade loses hexproof and gains first strike and deathtouch.
|
||||||
Effect effect = new LoseAbilitySourceEffect(HexproofAbility.getInstance(), Duration.EndOfTurn);
|
Effect effect = new LoseAbilitySourceEffect(HexproofAbility.getInstance(), Duration.EndOfTurn);
|
||||||
effect.setText("Until end of turn, {this} loses hexproof");
|
effect.setText("Until end of turn, {this} loses hexproof");
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}{B}"));
|
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{3}{B}"));
|
||||||
Effect effect2 = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
|
Effect effect2 = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
|
||||||
effect2.setText("and gains first strike");
|
effect2.setText("and gains first strike");
|
||||||
ability.addEffect(effect2);
|
ability.addEffect(effect2);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class XenicPoltergeist extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// {tap}: Until your next upkeep, target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost.
|
// {tap}: Until your next upkeep, target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new XenicPoltergeistEffect(), new TapSourceCost());
|
Ability ability = new SimpleActivatedAbility(new XenicPoltergeistEffect(), new TapSourceCost());
|
||||||
ability.addTarget(new TargetArtifactPermanent(filter));
|
ability.addTarget(new TargetArtifactPermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class XiraArien extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
// {B}{R}{G}, {tap}: Target player draws a card.
|
// {B}{R}{G}, {tap}: Target player draws a card.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), new ManaCostsImpl<>("{B}{R}{G}"));
|
Ability ability = new SimpleActivatedAbility(new DrawCardTargetEffect(1), new ManaCostsImpl<>("{B}{R}{G}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addTarget(new TargetPlayer());
|
ability.addTarget(new TargetPlayer());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class YavimayaAncients extends CardImpl {
|
||||||
this.toughness = new MageInt(7);
|
this.toughness = new MageInt(7);
|
||||||
|
|
||||||
// {G}: Yavimaya Ancients gets +1/-2 until end of turn.
|
// {G}: Yavimaya Ancients gets +1/-2 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
|
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private YavimayaAncients(final YavimayaAncients card) {
|
private YavimayaAncients(final YavimayaAncients card) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public final class YavimayaElder extends CardImpl {
|
||||||
// When Yavimaya Elder dies, you may search your library for up to two basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.
|
// When Yavimaya Elder dies, you may search your library for up to two basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.
|
||||||
this.addAbility(new DiesSourceTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true), true));
|
this.addAbility(new DiesSourceTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true), true));
|
||||||
// {2}, Sacrifice Yavimaya Elder: Draw a card.
|
// {2}, Sacrifice Yavimaya Elder: Draw a card.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2));
|
Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(2));
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public final class YavimayaGnats extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
// {G}: Regenerate Yavimaya Gnats.
|
// {G}: Regenerate Yavimaya Gnats.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
|
this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private YavimayaGnats(final YavimayaGnats card) {
|
private YavimayaGnats(final YavimayaGnats card) {
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class YavimayaHollow extends CardImpl {
|
||||||
this.addAbility(new ColorlessManaAbility());
|
this.addAbility(new ColorlessManaAbility());
|
||||||
|
|
||||||
// {G}, {tap}: Regenerate target creature.
|
// {G}, {tap}: Regenerate target creature.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}"));
|
Ability ability = new SimpleActivatedAbility(new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class YawgmothsBargain extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
|
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
|
||||||
|
|
||||||
// Pay 1 life: Draw a card.
|
// Pay 1 life: Draw a card.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new PayLifeCost(1)));
|
this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new PayLifeCost(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private YawgmothsBargain(final YawgmothsBargain card) {
|
private YawgmothsBargain(final YawgmothsBargain card) {
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class YisanTheWandererBard extends CardImpl {
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// {2}{G}, {T}, Put a verse counter on Yisan, the Wanderer Bard: Search your library for a creature card with converted mana cost equal to the number of verse counters on Yisan, put it onto the battlefield, then shuffle your library.
|
// {2}{G}, {T}, Put a verse counter on Yisan, the Wanderer Bard: Search your library for a creature card with converted mana cost equal to the number of verse counters on Yisan, put it onto the battlefield, then shuffle your library.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new YisanTheWandererBardEffect(), new ManaCostsImpl<>("{2}{G}"));
|
Ability ability = new SimpleActivatedAbility(new YisanTheWandererBardEffect(), new ManaCostsImpl<>("{2}{G}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addCost(new PutCountersSourceCost(CounterType.VERSE.createInstance()));
|
ability.addCost(new PutCountersSourceCost(CounterType.VERSE.createInstance()));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -57,17 +57,17 @@ public final class ZacamaPrimalCalamity extends CardImpl {
|
||||||
"When {this} enters, if you cast it, untap all lands you control."));
|
"When {this} enters, if you cast it, untap all lands you control."));
|
||||||
|
|
||||||
// {2}{R}: Zacama deals 3 damage to target creature.
|
// {2}{R}: Zacama deals 3 damage to target creature.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl<>("{2}{R}"));
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(3), new ManaCostsImpl<>("{2}{R}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// {2}{G}: Destroy target artifact or enchantment.
|
// {2}{G}: Destroy target artifact or enchantment.
|
||||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{2}{G}"));
|
ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{2}{G}"));
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// {2}{W}: You gain 3 life.
|
// {2}{W}: You gain 3 life.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new ManaCostsImpl<>("{2}{W}")));
|
this.addAbility(new SimpleActivatedAbility(new GainLifeEffect(3), new ManaCostsImpl<>("{2}{W}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZacamaPrimalCalamity(final ZacamaPrimalCalamity card) {
|
private ZacamaPrimalCalamity(final ZacamaPrimalCalamity card) {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public final class ZarichiTiger extends CardImpl {
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// 1{W}, {T}: You gain 2 life.
|
// 1{W}, {T}: You gain 2 life.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new ManaCostsImpl<>("{1}{W}"));
|
Ability ability = new SimpleActivatedAbility(new GainLifeEffect(2), new ManaCostsImpl<>("{1}{W}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public final class ZealotOfTheGodPharaoh extends CardImpl {
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// {4}{R}: Zealot of the God-Pharaoh deals 2 damage to target opponent.
|
// {4}{R}: Zealot of the God-Pharaoh deals 2 damage to target opponent.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}"));
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}"));
|
||||||
ability.addTarget(new TargetOpponentOrPlaneswalker());
|
ability.addTarget(new TargetOpponentOrPlaneswalker());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class ZealousInquisitor extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// {1}{W}: The next 1 damage that would be dealt to Zealous Inquisitor this turn is dealt to target creature instead.
|
// {1}{W}: The next 1 damage that would be dealt to Zealous Inquisitor this turn is dealt to target creature instead.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}"));
|
Ability ability = new SimpleActivatedAbility(new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class ZedruuTheGreathearted extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// {R}{W}{U}: Target opponent gains control of target permanent you control.
|
// {R}{W}{U}: Target opponent gains control of target permanent you control.
|
||||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TargetPlayerGainControlTargetPermanentEffect(), new ManaCostsImpl<>("{U}{R}{W}"));
|
ability = new SimpleActivatedAbility(new TargetPlayerGainControlTargetPermanentEffect(), new ManaCostsImpl<>("{U}{R}{W}"));
|
||||||
ability.addTarget(new TargetOpponent());
|
ability.addTarget(new TargetOpponent());
|
||||||
ability.addTarget(new TargetControlledPermanent());
|
ability.addTarget(new TargetControlledPermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class ZelyonSword extends CardImpl {
|
||||||
// You may choose not to untap Zelyon Sword during your untap step.
|
// You may choose not to untap Zelyon Sword during your untap step.
|
||||||
this.addAbility(new SkipUntapOptionalAbility());
|
this.addAbility(new SkipUntapOptionalAbility());
|
||||||
// {3}, {tap}: Target creature gets +2/+0 for as long as Zelyon Sword remains tapped.
|
// {3}, {tap}: Target creature gets +2/+0 for as long as Zelyon Sword remains tapped.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(
|
||||||
new BoostTargetEffect(2, 0, Duration.Custom), SourceTappedCondition.TAPPED,
|
new BoostTargetEffect(2, 0, Duration.Custom), SourceTappedCondition.TAPPED,
|
||||||
"target creature gets +2/+0 for as long as {this} remains tapped"), new ManaCostsImpl<>("{3}"));
|
"target creature gets +2/+0 for as long as {this} remains tapped"), new ManaCostsImpl<>("{3}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class ZephyrCharge extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}");
|
||||||
|
|
||||||
// {1}{U}: Target creature gains flying until end of turn.
|
// {1}{U}: Target creature gains flying until end of turn.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"));
|
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class ZephyrScribe extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// {U}, {T}: Draw a card, then discard a card.
|
// {U}, {T}: Draw a card, then discard a card.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1,1), new ManaCostsImpl<>("{U}"));
|
Ability ability = new SimpleActivatedAbility(new DrawDiscardControllerEffect(1,1), new ManaCostsImpl<>("{U}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public final class ZerapaMinotaur extends CardImpl {
|
||||||
// First strike
|
// First strike
|
||||||
this.addAbility(FirstStrikeAbility.getInstance());
|
this.addAbility(FirstStrikeAbility.getInstance());
|
||||||
// {2}: Zerapa Minotaur loses first strike until end of turn. Any player may activate this ability.
|
// {2}: Zerapa Minotaur loses first strike until end of turn. Any player may activate this ability.
|
||||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(
|
SimpleActivatedAbility ability = new SimpleActivatedAbility(new LoseAbilitySourceEffect(
|
||||||
FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
|
FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
|
||||||
ability.setMayActivate(TargetController.ANY);
|
ability.setMayActivate(TargetController.ANY);
|
||||||
ability.addEffect(new InfoEffect("Any player may activate this ability"));
|
ability.addEffect(new InfoEffect("Any player may activate this ability"));
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class ZhalfirinCommander extends CardImpl {
|
||||||
// Flanking
|
// Flanking
|
||||||
this.addAbility(new FlankingAbility());
|
this.addAbility(new FlankingAbility());
|
||||||
// {1}{W}{W}: Target Knight creature gets +1/+1 until end of turn.
|
// {1}{W}{W}: Target Knight creature gets +1/+1 until end of turn.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{W}"));
|
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{W}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class ZhalfirinCrusader extends CardImpl {
|
||||||
this.addAbility(new FlankingAbility());
|
this.addAbility(new FlankingAbility());
|
||||||
|
|
||||||
// {1}{W}: The next 1 damage that would be dealt to Zhalfirin Crusader this turn is dealt to any target instead.
|
// {1}{W}: The next 1 damage that would be dealt to Zhalfirin Crusader this turn is dealt to any target instead.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}"));
|
Ability ability = new SimpleActivatedAbility(new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}"));
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public final class ZhalfirinKnight extends CardImpl {
|
||||||
// Flanking
|
// Flanking
|
||||||
this.addAbility(new FlankingAbility());
|
this.addAbility(new FlankingAbility());
|
||||||
// {W}{W}: Zhalfirin Knight gains first strike until end of turn.
|
// {W}{W}: Zhalfirin Knight gains first strike until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}{W}")));
|
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}{W}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZhalfirinKnight(final ZhalfirinKnight card) {
|
private ZhalfirinKnight(final ZhalfirinKnight card) {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public final class ZirilanOfTheClaw extends CardImpl {
|
||||||
|
|
||||||
// {1}{R}{R}, {tap}: Search your library for a Dragon permanent card and put that card onto the battlefield. Then shuffle your library.
|
// {1}{R}{R}, {tap}: Search your library for a Dragon permanent card and put that card onto the battlefield. Then shuffle your library.
|
||||||
// That Dragon gains haste until end of turn. Exile it at the beginning of the next end step.
|
// That Dragon gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ZirilanOfTheClawEffect(), new ManaCostsImpl<>("{1}{R}{R}"));
|
Ability ability = new SimpleActivatedAbility(new ZirilanOfTheClawEffect(), new ManaCostsImpl<>("{1}{R}{R}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class ZofShade extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
|
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZofShade(final ZofShade card) {
|
private ZofShade(final ZofShade card) {
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class ZombieAssassin extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// {tap}, Exile two cards from your graveyard and Zombie Assassin: Destroy target nonblack creature. It can't be regenerated.
|
// {tap}, Exile two cards from your graveyard and Zombie Assassin: Destroy target nonblack creature. It can't be regenerated.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(true), new TapSourceCost());
|
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(true), new TapSourceCost());
|
||||||
Target target = new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK);
|
Target target = new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK);
|
||||||
ability.addTarget(target);
|
ability.addTarget(target);
|
||||||
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2,2,StaticFilters.FILTER_CARDS_FROM_YOUR_GRAVEYARD)));
|
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2,2,StaticFilters.FILTER_CARDS_FROM_YOUR_GRAVEYARD)));
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class ZombieMaster extends CardImpl {
|
||||||
effect.setText("Other Zombie creatures have swampwalk. <i>(They can't be blocked as long as defending player controls a Swamp.)</i>");
|
effect.setText("Other Zombie creatures have swampwalk. <i>(They can't be blocked as long as defending player controls a Swamp.)</i>");
|
||||||
this.addAbility(new SimpleStaticAbility(effect));
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
// Other Zombies have "{B}: Regenerate this permanent."
|
// Other Zombies have "{B}: Regenerate this permanent."
|
||||||
effect = new GainAbilityAllEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")), Duration.WhileOnBattlefield, filter, true);
|
effect = new GainAbilityAllEffect(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")), Duration.WhileOnBattlefield, filter, true);
|
||||||
effect.setText("Other Zombies have \"{B}: Regenerate this permanent.\"");
|
effect.setText("Other Zombies have \"{B}: Regenerate this permanent.\"");
|
||||||
this.addAbility(new SimpleStaticAbility(effect));
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public final class ZombieScavengers extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// Exile the top creature card of your graveyard: Regenerate Zombie Scavengers.
|
// Exile the top creature card of your graveyard: Regenerate Zombie Scavengers.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ExileTopCreatureCardOfGraveyardCost(1)));
|
this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ExileTopCreatureCardOfGraveyardCost(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZombieScavengers(final ZombieScavengers card) {
|
private ZombieScavengers(final ZombieScavengers card) {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class Zoologist extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// {3}{G}, {tap}: Reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, put it into your graveyard.
|
// {3}{G}, {tap}: Reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, put it into your graveyard.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ZoologistEffect(), new ManaCostsImpl<>("{3}{G}"));
|
Ability ability = new SimpleActivatedAbility(new ZoologistEffect(), new ManaCostsImpl<>("{3}{G}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ public final class ZurEternalSchemer extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, filter)));
|
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, filter)));
|
||||||
|
|
||||||
// {1}{W}: Target non-Aura enchantment you control becomes a creature in addition to its other types and has base power and toughness each equal to its mana value.
|
// {1}{W}: Target non-Aura enchantment you control becomes a creature in addition to its other types and has base power and toughness each equal to its mana value.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ZurEternalSchemerEffect(), new ManaCostsImpl<>("{1}{W}"));
|
Ability ability = new SimpleActivatedAbility(new ZurEternalSchemerEffect(), new ManaCostsImpl<>("{1}{W}"));
|
||||||
ability.addTarget(new TargetPermanent(filter2));
|
ability.addTarget(new TargetPermanent(filter2));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public final class ZuranOrb extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}");
|
||||||
|
|
||||||
// Sacrifice a land: You gain 2 life.
|
// Sacrifice a land: You gain 2 life.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new SacrificeTargetCost(StaticFilters.FILTER_LAND)));
|
this.addAbility(new SimpleActivatedAbility(new GainLifeEffect(2), new SacrificeTargetCost(StaticFilters.FILTER_LAND)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZuranOrb(final ZuranOrb card) {
|
private ZuranOrb(final ZuranOrb card) {
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class ZuranSpellcaster extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// {T}: Zuran Spellcaster deals 1 damage to any target.
|
// {T}: Zuran Spellcaster deals 1 damage to any target.
|
||||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetAnyTarget());
|
SimpleActivatedAbility ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class ArlinnEmbracedByTheMoonEmblem extends Emblem {
|
||||||
Ability ability = new SimpleStaticAbility(Zone.COMMAND, effect);
|
Ability ability = new SimpleStaticAbility(Zone.COMMAND, effect);
|
||||||
Effect effect2 = new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE);
|
Effect effect2 = new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE);
|
||||||
effect2.setText("This creature deals damage equal to its power to any target");
|
effect2.setText("This creature deals damage equal to its power to any target");
|
||||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new TapSourceCost());
|
Ability ability2 = new SimpleActivatedAbility(effect2, new TapSourceCost());
|
||||||
ability2.addTarget(new TargetAnyTarget());
|
ability2.addTarget(new TargetAnyTarget());
|
||||||
effect = new GainAbilityControlledEffect(ability2, Duration.EndOfGame, filter);
|
effect = new GainAbilityControlledEffect(ability2, Duration.EndOfGame, filter);
|
||||||
effect.setText("and '{T}: This creature deals damage equal to its power to any target");
|
effect.setText("and '{T}: This creature deals damage equal to its power to any target");
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ class KothOfTheHammerThirdEffect extends ContinuousEffectImpl {
|
||||||
case AbilityAddingRemovingEffects_6:
|
case AbilityAddingRemovingEffects_6:
|
||||||
if (sublayer == SubLayer.NA) {
|
if (sublayer == SubLayer.NA) {
|
||||||
for (Permanent permanent : game.getBattlefield().getActivePermanents(mountains, source.getControllerId(), source, game)) {
|
for (Permanent permanent : game.getBattlefield().getActivePermanents(mountains, source.getControllerId(), source, game)) {
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
permanent.addAbility(ability, source.getSourceId(), game);
|
permanent.addAbility(ability, source.getSourceId(), game);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public final class DeathpactAngelToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{3}{W}{B}{B}"));
|
Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{3}{W}{B}{B}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class DragonEggDragonToken extends TokenImpl {
|
||||||
toughness = new MageInt(2);
|
toughness = new MageInt(2);
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn)
|
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn)
|
||||||
.setText("This creature gets +1/+0 until end of turn"), new ManaCostsImpl<>("{R}")));
|
.setText("This creature gets +1/+0 until end of turn"), new ManaCostsImpl<>("{R}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public final class GoldmeadowHarrierToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
|
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public final class LandMineToken extends TokenImpl {
|
||||||
public LandMineToken() {
|
public LandMineToken() {
|
||||||
super("Land Mine", "colorless artifact token named Land Mine with \"{R}, Sacrifice this artifact: This artifact deals 2 damage to target attacking creature without flying.\"");
|
super("Land Mine", "colorless artifact token named Land Mine with \"{R}, Sacrifice this artifact: This artifact deals 2 damage to target attacking creature without flying.\"");
|
||||||
cardType.add(CardType.ARTIFACT);
|
cardType.add(CardType.ARTIFACT);
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class NighteyesTheDesecratorToken extends TokenImpl {
|
||||||
power = new MageInt(4);
|
power = new MageInt(4);
|
||||||
toughness = new MageInt(2);
|
toughness = new MageInt(2);
|
||||||
// {4}{B}: Put target creature card from a graveyard onto the battlefield under your control.
|
// {4}{B}: Put target creature card from a graveyard onto the battlefield under your control.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}"));
|
Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}"));
|
||||||
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
|
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public final class SengirNosferatuBatToken extends TokenImpl {
|
||||||
// {1}{B}, Sacrifice this creature: Return an exiled card named Sengir Nosferatu to the battlefield under its owner’s control.
|
// {1}{B}, Sacrifice this creature: Return an exiled card named Sengir Nosferatu to the battlefield under its owner’s control.
|
||||||
ReturnSengirNosferatuEffect effect = new ReturnSengirNosferatuEffect();
|
ReturnSengirNosferatuEffect effect = new ReturnSengirNosferatuEffect();
|
||||||
effect.setText("Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control.");
|
effect.setText("Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control.");
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}"));
|
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{1}{B}"));
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public final class SkeletonRegenerateToken extends TokenImpl {
|
||||||
color.setBlack(true);
|
color.setBlack(true);
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B)));
|
this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SkeletonRegenerateToken(final SkeletonRegenerateToken token) {
|
private SkeletonRegenerateToken(final SkeletonRegenerateToken token) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class TriskelaviteToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new SacrificeSourceCost());
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new SacrificeSourceCost());
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue