diff --git a/Mage.Sets/src/mage/cards/n/NestingDragon.java b/Mage.Sets/src/mage/cards/n/NestingDragon.java new file mode 100644 index 0000000000..9f50c82d24 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NestingDragon.java @@ -0,0 +1,44 @@ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.NestingDragonToken; + +/** + * + * @author TheElk801 + */ +public final class NestingDragon extends CardImpl { + + public NestingDragon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + + this.subtype.add(SubType.DRAGON); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Landfall — Whenever a land enters the battlefield under your control, create a 0/2 red Dragon Egg creature token with defender and "When this creature dies, create a 2/2 red Dragon creature token with flying and '{R}: This creature gets +1/+0 until end of turn.'" + this.addAbility(new LandfallAbility( + new CreateTokenEffect(new NestingDragonToken()), false + )); + } + + public NestingDragon(final NestingDragon card) { + super(card); + } + + @Override + public NestingDragon copy() { + return new NestingDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Commander2018.java b/Mage.Sets/src/mage/sets/Commander2018.java index e75d4836aa..1828b27b14 100644 --- a/Mage.Sets/src/mage/sets/Commander2018.java +++ b/Mage.Sets/src/mage/sets/Commander2018.java @@ -37,6 +37,7 @@ public final class Commander2018 extends ExpansionSet { cards.add(new SetCardInfo("Loyal Drake", 10, Rarity.UNCOMMON, mage.cards.l.LoyalDrake.class)); cards.add(new SetCardInfo("Loyal Guardian", 31, Rarity.UNCOMMON, mage.cards.l.LoyalGuardian.class)); cards.add(new SetCardInfo("Loyal Subordinate", 16, Rarity.UNCOMMON, mage.cards.l.LoyalSubordinate.class)); + cards.add(new SetCardInfo("Nesting Dragon", 24, Rarity.RARE, mage.cards.n.NestingDragon.class)); cards.add(new SetCardInfo("Rampaging Baloths", 158, Rarity.RARE, mage.cards.r.RampagingBaloths.class)); cards.add(new SetCardInfo("Retrofitter Foundry", 57, Rarity.RARE, mage.cards.r.RetrofitterFoundry.class)); cards.add(new SetCardInfo("Ruinous Path", 117, Rarity.RARE, mage.cards.r.RuinousPath.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/NestingDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/NestingDragonToken.java new file mode 100644 index 0000000000..e33ce89329 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/NestingDragonToken.java @@ -0,0 +1,45 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author spjspj + */ +public final class NestingDragonToken extends TokenImpl { + + public NestingDragonToken() { + super( + "Dragon Egg", + "0/2 red Dragon Egg creature token with defender and " + + "\"" + + "When this creature dies, " + + "create a 2/2 red Dragon creature token with flying and " + + "'{R}: This creature gets +1/+0 until end of turn.'" + + "\"" + ); + cardType.add(CardType.CREATURE); + color.setRed(true); + subtype.add(SubType.DRAGON); + subtype.add(SubType.EGG); + power = new MageInt(0); + toughness = new MageInt(2); + addAbility(DefenderAbility.getInstance()); + this.addAbility(new DiesTriggeredAbility( + new CreateTokenEffect(new DragonEggDragonToken()), false + )); + } + + public NestingDragonToken(final NestingDragonToken token) { + super(token); + } + + public NestingDragonToken copy() { + return new NestingDragonToken(this); + } +}