[CMR] Implemented Nevinyrral, Urborg Tyrant

This commit is contained in:
Evan Kranzler 2020-11-03 08:37:06 -05:00
parent 9531a79eb2
commit 0da9751728
4 changed files with 114 additions and 0 deletions

View file

@ -0,0 +1,63 @@
package mage.cards.n;
import mage.MageInt;
import mage.abilities.common.DiesSourceTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.CreaturesDiedThisTurnCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.DoWhenCostPaid;
import mage.abilities.keyword.HexproofFromArtifactsCreaturesAndEnchantments;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.game.permanent.token.ZombieToken;
import mage.watchers.common.CreaturesDiedWatcher;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class NevinyrralUrborgTyrant extends CardImpl {
public NevinyrralUrborgTyrant(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{U}{B}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ZOMBIE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(6);
// Hexproof from artifacts, creatures, and enchantments
this.addAbility(HexproofFromArtifactsCreaturesAndEnchantments.getInstance());
// When Nevinyrral, Urborg Tyrant enters the battlefield, create a tapped 2/2 black Zombie creature token for each creature that died this turn.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(
new ZombieToken(), CreaturesDiedThisTurnCount.instance, true, false
).setText("create a tapped 2/2 black Zombie creature token for each creature that died this turn")), new CreaturesDiedWatcher());
// When Nevinyrral dies, you may pay {1}. When you do, destroy all artifacts, creatures, and enchantments.
this.addAbility(new DiesSourceTriggeredAbility(
new DoWhenCostPaid(new ReflexiveTriggeredAbility(
new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE_OR_ENCHANTMENT),
false, "destroy all artifacts, creatures, and enchantments"
), new GenericManaCost(1), "Pay {1}?")
));
}
private NevinyrralUrborgTyrant(final NevinyrralUrborgTyrant card) {
super(card);
}
@Override
public NevinyrralUrborgTyrant copy() {
return new NevinyrralUrborgTyrant(this);
}
}

View file

@ -152,6 +152,8 @@ public final class CommanderLegends extends ExpansionSet {
cards.add(new SetCardInfo("Natural Reclamation", 245, Rarity.COMMON, mage.cards.n.NaturalReclamation.class));
cards.add(new SetCardInfo("Necrotic Hex", 137, Rarity.RARE, mage.cards.n.NecroticHex.class));
cards.add(new SetCardInfo("Nekusar, the Mindrazer", 529, Rarity.MYTHIC, mage.cards.n.NekusarTheMindrazer.class));
cards.add(new SetCardInfo("Nevinyrral's Disk", 328, Rarity.RARE, mage.cards.n.NevinyrralsDisk.class));
cards.add(new SetCardInfo("Nevinyrral, Urborg Tyrant", 287, Rarity.RARE, mage.cards.n.NevinyrralUrborgTyrant.class));
cards.add(new SetCardInfo("Nightshade Harvester", 138, Rarity.RARE, mage.cards.n.NightshadeHarvester.class));
cards.add(new SetCardInfo("Ninth Bridge Patrol", 33, Rarity.COMMON, mage.cards.n.NinthBridgePatrol.class));
cards.add(new SetCardInfo("Noxious Dragon", 139, Rarity.UNCOMMON, mage.cards.n.NoxiousDragon.class));

View file

@ -0,0 +1,47 @@
package mage.abilities.keyword;
import mage.MageObject;
import mage.game.Game;
import java.io.ObjectStreamException;
/**
* Hexproof from artifacts, creatures, and enchantments
*
* @author TheElk801
*/
public class HexproofFromArtifactsCreaturesAndEnchantments extends HexproofBaseAbility {
private static final HexproofFromArtifactsCreaturesAndEnchantments instance;
static {
instance = new HexproofFromArtifactsCreaturesAndEnchantments();
}
private Object readResolve() throws ObjectStreamException {
return instance;
}
public static HexproofFromArtifactsCreaturesAndEnchantments getInstance() {
return instance;
}
private HexproofFromArtifactsCreaturesAndEnchantments() {
super();
}
@Override
public boolean checkObject(MageObject source, Game game) {
return source.isArtifact() || source.isCreature() || source.isEnchantment();
}
@Override
public HexproofFromArtifactsCreaturesAndEnchantments copy() {
return instance;
}
@Override
public String getRule() {
return "hexproof from artifacts, creatures, and enchantments";
}
}

View file

@ -39454,6 +39454,7 @@ Gor Muldrak, Amphinologist|Commander Legends|277|R|{1}{G}{U}|Legendary Creature
Hans Eriksson|Commander Legends|279|R|{2}{R}{G}|Legendary Creature - Human Scout|1|4|Whenever Hans Eriksson attacks, reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking defending player or a planeswalker they control. Otherwise, put that card into your hand. When you put a creature card onto the battlefield this way, it fights Hans Eriksson.|
Imoti, Celebrant of Bounty|Commander Legends|280|U|{3}{G}{U}|Legendary Creature - Naga Druid|3|1|Cascade$Spells you cast with converted mana cost 6 or greater have cascade.|
Liesa, Shroud of Dusk|Commander Legends|286|R|{2}{W}{W}{B}|Legendary Creature - Angel|5|5|Rather than pay {2} for each previous time you've cast this spell from the command zone this game, pay 2 life that many times.$Flying, lifelink$Whenever a player casts a spell, they lose 2 life.|
Nevinyrral, Urborg Tyrant|Commander Legends|287|R|{3}{W}{U}{B}|Legendary Creature - Zombie Wizard|3|6|Hexproof from artifacts, creatures, and enchantments$When Nevinyrral, Urborg Tyrant enters the battlefield, create a tapped 2/2 black Zombie creature token for each creature that died this turn.$When Nevinyrral dies, you may pay {1}. When you do, destroy all artifacts, creatures, and enchantments.|
Nymris, Oona's Trickster|Commander Legends|288|R|{3}{U}{B}|Legendary Creature - Faerie Knight|1|6|Flash$Flying$Whenever you cast your first spell during each opponent's turn, look at the top two cards of your library. Put one of those cards into your hand and the other into your graveyard.|
Obeka, Brute Chronologist|Commander Legends|289|R|{1}{U}{B}{R}|Legendary Creature - Ogre Wizard|3|4|{T}: The player whose turn it is may end the turn.|
Thalisse, Reverent Medium|Commander Legends|291|U|{3}{W}{B}|Legendary Creature - Human Cleric|3|4|At the beginning of each end step, create X 1/1 white Spirit creature tokens with flying, where X is the number of tokens you created this turn.|
@ -39473,6 +39474,7 @@ Maelstrom Colossus|Commander Legends|322|C|{8}|Artifact Creature - Golem|7|7|Cas
Marble Diamond|Commander Legends|323|C|{2}|Artifact|||Marble Diamond enters the battlefield tapped.${T}: Add {W}.|
Mask of Memory|Commander Legends|324|U|{2}|Artifact - Equipment|||Whenever equipped creature deals combat damage to a player, you may draw two cards. If you do, discard a card.$Equip {1}|
Mindless Automaton|Commander Legends|326|U|{4}|Artifact Creature - Construct|0|0|Mindless Automaton enters the battlefield with two +1/+1 counters on it.${1}, Discard a card: Put a +1/+1 counter on Mindless Automaton.$Remove two +1/+1 counters from Mindless Automaton: Draw a card.|
Nevinyrral's Disk|Commander Legends|328|R|{4}|Artifact|||Nevinyrral's Disk enters the battlefield tapped.${1}, {T}: Destroy all artifacts, creatures, and enchantments.|
Perilous Myr|Commander Legends|330|C|{2}|Artifact Creature - Myr|1|1|When Perilous Myr dies, it deals 2 damage to any target.|
Phyrexian Triniform|Commander Legends|331|M|{9}|Artifact Creature - Golem|9|9|When Phyrexian Triniform dies, create three 3/3 colorless Golem artifact creature tokens.$Encore {12}|
Prophetic Prism|Commander Legends|334|C|{2}|Artifact|||When Prophetic Prism enters the battlefield, draw a card.${1}, {T}: Add one mana of any color.|