mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
implemented and tested Centaur Nurterer and Contentious Plan
This commit is contained in:
commit
d280db4c11
9 changed files with 336 additions and 4 deletions
|
@ -34,7 +34,7 @@ public final class AshiokDreamRender extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new AshiokDreamRenderEffect()));
|
||||
|
||||
// -1: Target player puts the top four cards of their library into their graveyard. Then exile each opponent's graveyard.
|
||||
Ability ability = new LoyaltyAbility(new PutTopCardOfLibraryIntoGraveTargetEffect(2), -1);
|
||||
Ability ability = new LoyaltyAbility(new PutTopCardOfLibraryIntoGraveTargetEffect(4), -1);
|
||||
ability.addEffect(new ExileGraveyardAllPlayersEffect(StaticFilters.FILTER_CARD, TargetController.OPPONENT).setText("Then exile each opponent's graveyard."));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
109
Mage.Sets/src/mage/cards/b/BolassCitadel.java
Normal file
109
Mage.Sets/src/mage/cards/b/BolassCitadel.java
Normal file
|
@ -0,0 +1,109 @@
|
|||
package mage.cards.b;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.Costs;
|
||||
import mage.abilities.costs.CostsImpl;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.AsThoughEffectImpl;
|
||||
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
|
||||
import mage.abilities.effects.common.continuous.LookAtTopCardOfLibraryAnyTimeEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class BolassCitadel extends CardImpl {
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanents");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
||||
}
|
||||
|
||||
public BolassCitadel(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}{B}{B}{B}");
|
||||
|
||||
this.addSuperType(SuperType.LEGENDARY);
|
||||
|
||||
// You may look at the top card of your library any time.
|
||||
this.addAbility(new SimpleStaticAbility(new LookAtTopCardOfLibraryAnyTimeEffect()));
|
||||
|
||||
// You may play the top card of your library. If you cast a spell this way, pay life equal to its converted mana cost rather than pay its mana cost.
|
||||
this.addAbility(new SimpleStaticAbility(new BolassCitadelPlayTheTopCardEffect()));
|
||||
|
||||
// {T}, Sacrifice ten nonland permanents: Each opponent loses 10 life.
|
||||
Ability ability = new SimpleActivatedAbility(new LoseLifeOpponentsEffect(10), new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(
|
||||
10, 10, filter, true
|
||||
)));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private BolassCitadel(final BolassCitadel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BolassCitadel copy() {
|
||||
return new BolassCitadel(this);
|
||||
}
|
||||
}
|
||||
|
||||
class BolassCitadelPlayTheTopCardEffect extends AsThoughEffectImpl {
|
||||
|
||||
BolassCitadelPlayTheTopCardEffect() {
|
||||
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE,
|
||||
Duration.WhileOnBattlefield, Outcome.AIDontUseIt); // AI will need help with this
|
||||
staticText = "You may play the top card of your library. If you cast a spell this way, " +
|
||||
"pay life equal to its converted mana cost rather than pay its mana cost.";
|
||||
}
|
||||
|
||||
private BolassCitadelPlayTheTopCardEffect(final BolassCitadelPlayTheTopCardEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BolassCitadelPlayTheTopCardEffect copy() {
|
||||
return new BolassCitadelPlayTheTopCardEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) {
|
||||
Card cardOnTop = game.getCard(objectId);
|
||||
if (cardOnTop != null
|
||||
&& affectedControllerId.equals(source.getControllerId())
|
||||
&& cardOnTop.isOwnedBy(source.getControllerId())
|
||||
|| cardOnTop.isLand()) {
|
||||
Player controller = game.getPlayer(cardOnTop.getOwnerId());
|
||||
if (controller != null
|
||||
&& cardOnTop.equals(controller.getLibrary().getFromTop(game))) {
|
||||
PayLifeCost cost = new PayLifeCost(cardOnTop.getManaCost().convertedManaCost());
|
||||
Costs costs = new CostsImpl();
|
||||
costs.add(cost);
|
||||
controller.setCastSourceIdWithAlternateMana(cardOnTop.getId(), null, costs);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
79
Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java
Normal file
79
Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java
Normal file
|
@ -0,0 +1,79 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class CommandTheDreadhorde extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("creature and/or planeswalker cards in graveyards");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
new CardTypePredicate(CardType.PLANESWALKER),
|
||||
new CardTypePredicate(CardType.CREATURE)
|
||||
));
|
||||
}
|
||||
|
||||
public CommandTheDreadhorde(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}{B}");
|
||||
|
||||
// Choose any number of target creature and/or planeswalker cards in graveyards. Command the Dreadhorde deals damage to you equal to the total converted mana cost of those cards. Put them onto the battlefield under your control.
|
||||
this.getSpellAbility().addEffect(new CommandTheDreadhordeEffect());
|
||||
this.getSpellAbility().addTarget(new TargetCardInGraveyard(0, Integer.MAX_VALUE, filter));
|
||||
}
|
||||
|
||||
private CommandTheDreadhorde(final CommandTheDreadhorde card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandTheDreadhorde copy() {
|
||||
return new CommandTheDreadhorde(this);
|
||||
}
|
||||
}
|
||||
|
||||
class CommandTheDreadhordeEffect extends OneShotEffect {
|
||||
|
||||
CommandTheDreadhordeEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "Choose any number of target creature and/or planeswalker cards in graveyards. " +
|
||||
"{this} deals damage to you equal to the total converted mana cost of those cards. " +
|
||||
"Put them onto the battlefield under your control.";
|
||||
}
|
||||
|
||||
private CommandTheDreadhordeEffect(final CommandTheDreadhordeEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandTheDreadhordeEffect copy() {
|
||||
return new CommandTheDreadhordeEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player player = game.getPlayer(source.getControllerId());
|
||||
if (player == null) {
|
||||
return false;
|
||||
}
|
||||
Cards cards = new CardsImpl(source.getTargets().get(0).getTargets());
|
||||
int damage = cards.getCards(game).stream().mapToInt(Card::getConvertedManaCost).sum();
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
return player.moveCards(cards, Zone.BATTLEFIELD, source, game);
|
||||
}
|
||||
}
|
67
Mage.Sets/src/mage/cards/f/FinaleOfGlory.java
Normal file
67
Mage.Sets/src/mage/cards/f/FinaleOfGlory.java
Normal file
|
@ -0,0 +1,67 @@
|
|||
package mage.cards.f;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.AngelVigilanceToken;
|
||||
import mage.game.permanent.token.SoldierVigilanceToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class FinaleOfGlory extends CardImpl {
|
||||
|
||||
public FinaleOfGlory(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{W}{W}");
|
||||
|
||||
// Create X 2/2 white Soldier creature tokens with vigilance. If X is 10 or more, also create X 4/4 white Angel creature tokens with flying and vigilance.
|
||||
this.getSpellAbility().addEffect(new FinaleOfGloryEffect());
|
||||
}
|
||||
|
||||
private FinaleOfGlory(final FinaleOfGlory card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinaleOfGlory copy() {
|
||||
return new FinaleOfGlory(this);
|
||||
}
|
||||
}
|
||||
|
||||
class FinaleOfGloryEffect extends OneShotEffect {
|
||||
|
||||
FinaleOfGloryEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "Create X 2/2 white Soldier creature tokens with vigilance. " +
|
||||
"If X is 10 or more, also create X 4/4 white Angel creature tokens with flying and vigilance.";
|
||||
}
|
||||
|
||||
private FinaleOfGloryEffect(final FinaleOfGloryEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinaleOfGloryEffect copy() {
|
||||
return new FinaleOfGloryEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
int xValue = source.getManaCostsToPay().getX();
|
||||
if (xValue == 0) {
|
||||
return false;
|
||||
}
|
||||
new CreateTokenEffect(new SoldierVigilanceToken(), xValue).apply(game, source);
|
||||
if (xValue >= 10) {
|
||||
new CreateTokenEffect(new AngelVigilanceToken(), xValue).apply(game, source);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
32
Mage.Sets/src/mage/cards/s/SarkhansCatharsis.java
Normal file
32
Mage.Sets/src/mage/cards/s/SarkhansCatharsis.java
Normal file
|
@ -0,0 +1,32 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SarkhansCatharsis extends CardImpl {
|
||||
|
||||
public SarkhansCatharsis(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{R}");
|
||||
|
||||
// Sarkhan's Catharsis deals 5 damage to target player or planeswalker.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(5));
|
||||
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
|
||||
}
|
||||
|
||||
private SarkhansCatharsis(final SarkhansCatharsis card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SarkhansCatharsis copy() {
|
||||
return new SarkhansCatharsis(this);
|
||||
}
|
||||
}
|
|
@ -49,7 +49,7 @@ public final class StormTheCitadel extends CardImpl {
|
|||
|
||||
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(
|
||||
ability, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE
|
||||
).setText("and gain \"Whenever this creature deals combat damage to a creature or planeswalker, " +
|
||||
).setText("and gain \"Whenever this creature deals combat damage to a player or planeswalker, " +
|
||||
"destroy target artifact or enchantment defending player controls.\""
|
||||
));
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ public final class WarOfTheSpark extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Blast Zone", 244, Rarity.RARE, mage.cards.b.BlastZone.class));
|
||||
cards.add(new SetCardInfo("Blindblast", 114, Rarity.COMMON, mage.cards.b.Blindblast.class));
|
||||
cards.add(new SetCardInfo("Bloom Hulk", 154, Rarity.COMMON, mage.cards.b.BloomHulk.class));
|
||||
cards.add(new SetCardInfo("Bolas's Citadel", 79, Rarity.RARE, mage.cards.b.BolassCitadel.class));
|
||||
cards.add(new SetCardInfo("Bolt Bend", 115, Rarity.UNCOMMON, mage.cards.b.BoltBend.class));
|
||||
cards.add(new SetCardInfo("Bond of Discipline", 6, Rarity.UNCOMMON, mage.cards.b.BondOfDiscipline.class));
|
||||
cards.add(new SetCardInfo("Bond of Flourishing", 155, Rarity.UNCOMMON, mage.cards.b.BondOfFlourishing.class));
|
||||
|
@ -57,6 +58,7 @@ public final class WarOfTheSpark extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Chandra's Pyrohelix", 120, Rarity.COMMON, mage.cards.c.ChandrasPyrohelix.class));
|
||||
cards.add(new SetCardInfo("Chandra's Triumph", 121, Rarity.UNCOMMON, mage.cards.c.ChandrasTriumph.class));
|
||||
cards.add(new SetCardInfo("Chandra, Fire Artisan", 119, Rarity.RARE, mage.cards.c.ChandraFireArtisan.class));
|
||||
cards.add(new SetCardInfo("Command the Dreadhorde", 82, Rarity.RARE, mage.cards.c.CommandTheDreadhorde.class));
|
||||
cards.add(new SetCardInfo("Commence the Endgame", 45, Rarity.RARE, mage.cards.c.CommenceTheEndgame.class));
|
||||
cards.add(new SetCardInfo("Contentious Plan", 46, Rarity.COMMON, mage.cards.c.ContentiousPlan.class));
|
||||
cards.add(new SetCardInfo("Courage in Crisis", 158, Rarity.COMMON, mage.cards.c.CourageInCrisis.class));
|
||||
|
@ -87,6 +89,7 @@ public final class WarOfTheSpark extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Evolution Sage", 159, Rarity.UNCOMMON, mage.cards.e.EvolutionSage.class));
|
||||
cards.add(new SetCardInfo("Fblthp, the Lost", 50, Rarity.RARE, mage.cards.f.FblthpTheLost.class));
|
||||
cards.add(new SetCardInfo("Feather, the Redeemed", 197, Rarity.RARE, mage.cards.f.FeatherTheRedeemed.class));
|
||||
cards.add(new SetCardInfo("Finale of Glory", 12, Rarity.MYTHIC, mage.cards.f.FinaleOfGlory.class));
|
||||
cards.add(new SetCardInfo("Finale of Revelation", 51, Rarity.MYTHIC, mage.cards.f.FinaleOfRevelation.class));
|
||||
cards.add(new SetCardInfo("Firemind Vessel", 237, Rarity.UNCOMMON, mage.cards.f.FiremindVessel.class));
|
||||
cards.add(new SetCardInfo("Flux Channeler", 52, Rarity.UNCOMMON, mage.cards.f.FluxChanneler.class));
|
||||
|
@ -196,6 +199,7 @@ public final class WarOfTheSpark extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Saheeli, Sublime Artificer", 234, Rarity.UNCOMMON, mage.cards.s.SaheeliSublimeArtificer.class));
|
||||
cards.add(new SetCardInfo("Samut's Sprint", 142, Rarity.COMMON, mage.cards.s.SamutsSprint.class));
|
||||
cards.add(new SetCardInfo("Samut, Tyrant Smasher", 235, Rarity.UNCOMMON, mage.cards.s.SamutTyrantSmasher.class));
|
||||
cards.add(new SetCardInfo("Sarkhan's Catharsis", 144, Rarity.COMMON, mage.cards.s.SarkhansCatharsis.class));
|
||||
cards.add(new SetCardInfo("Shriekdiver", 103, Rarity.COMMON, mage.cards.s.Shriekdiver.class));
|
||||
cards.add(new SetCardInfo("Silent Submersible", 66, Rarity.RARE, mage.cards.s.SilentSubmersible.class));
|
||||
cards.add(new SetCardInfo("Single Combat", 30, Rarity.RARE, mage.cards.s.SingleCombat.class));
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SoldierVigilanceToken extends TokenImpl {
|
||||
|
||||
public SoldierVigilanceToken() {
|
||||
super("Soldier", "2/2 white Soldier creature token with vigilance");
|
||||
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.SOLDIER);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(VigilanceAbility.getInstance());
|
||||
}
|
||||
|
||||
private SoldierVigilanceToken(final SoldierVigilanceToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoldierVigilanceToken copy() {
|
||||
return new SoldierVigilanceToken(this);
|
||||
}
|
||||
}
|
|
@ -34856,6 +34856,8 @@ Ajani's Pridemate|War of the Spark|4|U|{1}{W}|Creature - Cat Soldier|2|2|Wheneve
|
|||
Bond of Discipline|War of the Spark|6|U|{4}{W}|Sorcery|||Tap all creatures your opponents control. Creatures you control gain lifelink until end of turn.|
|
||||
Bulwark Giant|War of the Spark|7|C|{5}{W}|Creature - Giant Soldier|3|6|When Bulwark Giant enters the battlefield, you gain 5 life.|
|
||||
Defiant Strike|War of the Spark|9|C|{W}|Instant|||Target creature gets +1/+0 until end of turn.$Draw a card.|
|
||||
Finale of Glory|War of the Spark|12|M|{X}{W}{W}|Sorcery|||Create X 2/2 white Soldier creature tokens with vigilance. If X is 10 or more, also create X 4/4 white Angel creature tokens with flying and vigilance.|
|
||||
Gideon Blackblade|War of the Spark|13|M|{1}{W}{W}|Legendary Planeswalker - Gideon|4|As long as it's your turn, Gideon Blackblade is a 4/4 Human Soldier creature with indestructible that's still a planeswalker.$Prevent all damage that would be dealt to Gideon Blackblade during your turn.$+1: Up to one other target creature you control gains your choice of vigilance, lifelink, or indestructible until end of turn.$-6: Exile target nonland permanent.|
|
||||
Gideon's Triumph|War of the Spark|15|U|{1}{W}|Instant|||Target opponent sacrifices a creature that attacked or blocked this turn. If you control a Gideon planeswalker, that player sacrifices two of those creatures instead.|
|
||||
Grateful Apparition|War of the Spark|17|U|{1}{W}|Creature - Spirit|1|1|Flying$Whenever Grateful Apparition deals combat damage to a player or planeswalker, proliferate.|
|
||||
Ignite the Beacon|War of the Spark|18|R|{4}{W}|Instant|||Search your library for up to two planeswalker cards, reveal them, put them into your hand, then shuffle your library.|
|
||||
|
@ -34896,6 +34898,8 @@ Kasmina's Transmutation|War of the Spark|57|C|{1}{U}|Enchantment - Aura|||Enchan
|
|||
Kiora's Dambreaker|War of the Spark|58|C|{5}{U}|Creature - Leviathan|5|6|When Kiora's Dambreaker enters the battlefield, proliferate.|
|
||||
Lazotep Plating|War of the Spark|59|U|{1}{U}|Instant|||Amass 1.$You and permanents you control gain hexproof until end of turn.|
|
||||
Naga Eternal|War of the Spark|60|C|{2}{U}|Creature - Zombie Naga|3|2||
|
||||
Narset, Parter of Veils|War of the Spark|61|U|{1}{U}{U}|Legendary Planeswalker - Narset|5|Each opponent can't draw more than one card each turn.$-2: Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.|
|
||||
Narset's Reversal|War of the Spark|62|R|{U}{U}|Instant|||Copy target instant or sorcery spell, then return it to its owner's hand. You may choose new targets for the copy.|
|
||||
No Escape|War of the Spark|63|C|{2}{U}|Instant|||Counter target creature or planeswalker spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard.$Scry 1.|
|
||||
Relentless Advance|War of the Spark|64|C|{3}{U}|Sorcery|||Amass 3.|
|
||||
Rescuer Sphinx|War of the Spark|65|U|{2}{U}{U}|Creature - Sphinx|3|2|Flying$As Rescuer Sphinx enters the battlefield, you may return a nonland permanent you control to its owner's hand. If you do, Rescuer Sphinx enters the battlefield with a +1/+1 counter on it.|
|
||||
|
@ -34910,12 +34914,14 @@ Aid the Fallen|War of the Spark|76|C|{1}{B}|Sorcery|||Choose one or both—$•
|
|||
Banehound|War of the Spark|77|C|{B}|Creature - Nightmare Hound|1|1|Lifelink, haste|
|
||||
Bolas's Citadel|War of the Spark|79|R|{3}{B}{B}{B}|Legendary Artifact|||You may look at the top card of your library any time.$You may play the top card of your library. If you cast a spell this way, pay life equal to its converted mana cost rather than pay its mana cost.${T}, Sacrifice ten nonland permanents: Each opponent loses 10 life.|
|
||||
Bond of Revival|War of the Spark|80|U|{4}{B}|Sorcery|||Return target creature card from your graveyard to the battlefield. It gains haste until your next turn.|
|
||||
Command the Dreadhorde|War of the Spark|82|R|{4}{B}{B}|Sorcery|||Choose any number of target creature and/or planeswalker cards in graveyards. Command the Dreadhorde deals damage to you equal to the total converted mana cost of those cards. Put them onto the battlefield under your control.|
|
||||
Davriel, Rogue Shadowmage|War of the Spark|83|U|{2}{B}|Legendary Planeswalker - Davriel|3|At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, Davriel, Rogue Shadowmage deals 2 damage to them.$-1: Target player discards a card.|
|
||||
Davriel's Shadowfugue|War of the Spark|84|C|{3}{B}|Sorcery|||Target player discards two cards and loses 2 life.|
|
||||
Deliver Unto Evil|War of the Spark|85|R|{2}{B}|Sorcery|||Choose up to four target cards in your graveyard. If you control a Bolas planeswalker, return those cards to your hand. Otherwise, an opponent chooses two of them. Leave the chosen cards in your graveyard and put the rest into your hand.$Exile Deliver Unto Evil.|
|
||||
Dreadhorde Invasion|War of the Spark|86|R|{1}{B}|Enchantment|||At the beginning of your upkeep, you lose 1 life and amass 1.$Whenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn.|
|
||||
The Elderspell|War of the Spark|89|R|{B}{B}|Sorcery|||Destroy any number of target planeswalkers. Choose a planeswalker you control. Put two loyalty counters on it for each planeswalker destroyed this way.|
|
||||
Eternal Taskmaster|War of the Spark|90|U|{1}{B}|Creature - Zombie|2|3|Eternal Taskmaster enters the battlefield tapped.$Whenever Eternal Taskmaster attacks, you may pay {2}{B}. If you do, return target creature card from your graveyard to your hand.|
|
||||
Finale of Eternity|War of the Spark|91|M|{X}{B}{B}|Sorcery|||Destroy up to three target creatures with toughness X or less. If X is 10 or more, return all creature cards from your graveyard to the battlefield.|
|
||||
God-Eternal Bontu|War of the Spark|92|M|{3}{B}{B}|Legendary Creature - Zombie God|5|6|Menace$When God-Eternal Bontu enters the battlefield, sacrifice any number of other permanents, then draw that many cards.$When God-Eternal Bontu dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.|
|
||||
Herald of the Dreadhorde|War of the Spark|93|C|{3}{B}|Creature - Zombie Warrior|3|2|When Herald of the Dreadhorde dies, amass 2.|
|
||||
Kaya's Ghostform|War of the Spark|94|C|{B}|Enchantment - Aura|||Enchant creature or planeswalker you control$When enchanted permanent dies or is put into exile, return that card to the battlefield under your control.|
|
||||
|
@ -34963,6 +34969,8 @@ Nahiri's Stoneblades|War of the Spark|139|C|{1}{R}|Instant|||Up to two target cr
|
|||
Neheb, Dreadhorde Champion|War of the Spark|140|R|{2}{R}{R}|Legendary Creature - Zombie Minotaur Warrior|5|4|Trample$Whenever Neheb, Dreadhorde Champion deals combat damage to a player or planeswalker, you may discard any number of cards. If you do, draw that many cards and add that much {R}. Until end of turn, you don't lose this mana as steps and phases end.|
|
||||
Raging Kronch|War of the Spark|141|C|{2}{R}|Creature - Beast|4|3|Raging Kronch can't attack alone.|
|
||||
Samut's Sprint|War of the Spark|142|C|{R}|Instant|||Target creature gets +2/+1 and gains haste until end of turn. Scry 1.|
|
||||
Sarkhan the Masterless|War of the Spark|143|R|{3}{R}{R}|Legendary Planeswalker - Sarkhan|5|Whenever a creature attacks you or a planeswalker you control, each Dragon you control deals 1 damage to that creature.$+1: Until end of turn, each planeswalker you control becomes a 4/4 red Dragon creature and gains flying.$-3: Create a 4/4 red Dragon creature token with flying.|
|
||||
Sarkhan's Catharsis|War of the Spark|144|C|{4}{R}|Instant|||Sarkhan's Catharsis deals 5 damage to target player or planeswalker.|
|
||||
Spellgorger Weird|War of the Spark|145|C|{2}{R}|Creature - Weird|2|2|Whenever you cast a noncreature spell, put a +1/+1 counter on Spellgorger Weird.|
|
||||
Tibalt, Rakish Instigator|War of the Spark|146|U|{2}{R}|Legendary Planeswalker - Tibalt|5|Your opponents can't gain life.$-2: Create a 1/1 red Devil creature token with "Whenever this creature dies, it deals 1 damage to any target."|
|
||||
Tibalt's Rager|War of the Spark|147|U|{1}{R}|Creature - Devil|1|2|When Tibalt's Rager dies, it deals 1 damage to any target.${1}{R}: Tibalt's Rager gets +2/+0 until end of turn.|
|
||||
|
@ -34977,6 +34985,7 @@ Centaur Nurturer|War of the Spark|156|C|{3}{G}|Creature - Centaur Druid|2|4|When
|
|||
Challenger Troll|War of the Spark|157|U|{4}{G}|Creature - Troll|6|5|Each creature you control with power 4 or greater can't be blocked by more than one creature.|
|
||||
Courage in Crisis|War of the Spark|158|C|{2}{G}|Sorcery|||Put a +1/+1 counter on target creature, then proliferate.|
|
||||
Evolution Sage|War of the Spark|159|U|{2}{G}|Creature - Elf Druid|3|2|Whenever a land enters the battlefield under your control, proliferate.|
|
||||
Finale of Devastation|War of the Spark|160|M|{X}{G}{G}|Sorcery|||Search your library and/or graveyard for a creature card with converted mana cost X or less and put it onto the battlefield. If you search your library this way, shuffle it. If X is 10 or more, creatures you control get +X/+X and gain haste until end of turn.|
|
||||
Forced Landing|War of the Spark|161|C|{1}{G}|Instant|||Put target creature with flying on the bottom of its owner's library.|
|
||||
Giant Growth|War of the Spark|162|C|{G}|Instant|||Target creature gets +3/+3 until end of turn.|
|
||||
God-Eternal Rhonas|War of the Spark|163|M|{3}{G}{G}|Legendary Creature - Zombie God|5|5|Deathtouch$When God-Eternal Rhonas enters the battlefield, double the power of each other creature you control until end of turn. Those creatures gain vigilance until end of turn.$When God-Eternal Rhonas dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.|
|
||||
|
@ -34989,7 +34998,7 @@ Paradise Druid|War of the Spark|171|U|{1}{G}|Creature - Elf Druid|2|1|Paradise D
|
|||
Pollenbright Druid|War of the Spark|173|C|{1}{G}|Creature - Elf Druid|1|1|When Pollenbright Druid enters the battlefield, choose one —$• Put a +1/+1 counter on target creature.$• Proliferate.|
|
||||
Primordial Wurm|War of the Spark|174|C|{4}{G}{G}|Creature - Wurm|7|6||
|
||||
Steady Aim|War of the Spark|177|C|{1}{G}|Instant|||Untap target creature. It gets +1/+4 and gains reach until end of turn.|
|
||||
Storm the Citadel|War of the Spark|178|U|{4}{G}|Sorcery|||Until end of turn, creatures you control get +2/+2 and gain "Whenever this creature deals combat damage to a creature or planeswalker, destroy target artifact or enchantment defending player controls.|
|
||||
Storm the Citadel|War of the Spark|178|U|{4}{G}|Sorcery|||Until end of turn, creatures you control get +2/+2 and gain "Whenever this creature deals combat damage to a player or planeswalker, destroy target artifact or enchantment defending player controls."|
|
||||
Thundering Ceratok|War of the Spark|179|C|{4}{G}|Creature - Rhino|4|5|Trample$When Thundering Ceratok enters the battlefield, other creatures you control gain trample until end of turn.|
|
||||
Vivien, Champion of the Wilds|War of the Spark|180|R|{2}{G}|Legendary Planeswalker - Vivien|4|You may cast creature spells as though they had flash.$+1: Until your next turn, up to one target creature gains vigilance and reach.$-2: Look at the top three cards of your library. Exile one face down and put the rest on the bottom of your library in any order. For as long as it remains exiled, you may look at that card and you may cast it if it's a creature card.|
|
||||
Vivien's Arkbow|War of the Spark|181|R|{1}{G}|Legendary Artifact|||{X}, {T}, Discard a card: Look at the top X cards of your library. You may put a creature card with converted mana cost X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.|
|
||||
|
@ -34997,7 +35006,7 @@ Vivien's Grizzly|War of the Spark|182|C|{2}{G}|Creature - Bear Spirit|2|3|{3}{G}
|
|||
Wardscale Crocodile|War of the Spark|183|C|{4}{G}|Creature - Crocodile|5|3|Hexproof|
|
||||
Ajani, the Greathearted|War of the Spark|184|R|{2}{G}{W}|Legendary Planeswalker - Ajani|5|Creatures you control have vigilance.$+1: You gain 3 life.$-2: Put a +1/+1 counter on each creature you control and a loyalty counter on each other planeswalker you control.|
|
||||
Angrath's Rampage|War of the Spark|185|U|{B}{R}|Sorcery|||Choose one —$• Target player sacrifices an artifact.$• Target player sacrifices a creature.$• Target player sacrifices a planeswalker.|
|
||||
Bioessence Hydra|War of the Spark|186|R|{3}{G}{U}|Creature - Hyra Mutant|4|4|Trample$Bioessence Hydra enters the battlefield with a +1/+1 counter on it for each loyalty counter on planeswalkers you control.$Whenever one or more loyalty counters are put on planeswalkers you control, put that many +1/+1 counters on Bioessence Hydra.|
|
||||
Bioessence Hydra|War of the Spark|186|R|{3}{G}{U}|Creature - Hydra Mutant|4|4|Trample$Bioessence Hydra enters the battlefield with a +1/+1 counter on it for each loyalty counter on planeswalkers you control.$Whenever one or more loyalty counters are put on planeswalkers you control, put that many +1/+1 counters on Bioessence Hydra.|
|
||||
Casualties of War|War of the Spark|187|R|{2}{B}{B}{G}{G}|Sorcery|||Choose one or more —$• Destroy target artifact.$• Destroy target creature.$• Destroy target enchantment.$• Destroy target land.$• Destroy target planeswalker.|
|
||||
Cruel Celebrant|War of the Spark|188|U|{W}{B}|Creature - Vampire|1|2|Whenever Cruel Celebrant or another creature or planeswalker you control dies, each opponent loses 1 life and you gain 1 life.|
|
||||
Deathsprout|War of the Spark|189|U|{1}{B}{B}{G}|Instant|||Destroy target creature. Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.|
|
||||
|
|
Loading…
Reference in a new issue