From 8680f335f2d6b9b0cdd6ac5704ce0ccdd9e808ac Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 20 Jun 2018 19:46:50 -0400 Subject: [PATCH] Implemented Sarkhan's Dragonfire --- .../src/mage/cards/s/SarkhansDragonfire.java | 53 +++++++++++++++++++ Mage.Sets/src/mage/sets/CoreSet2019.java | 1 + 2 files changed, 54 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java diff --git a/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java new file mode 100644 index 00000000000..d61bdcf846d --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java @@ -0,0 +1,53 @@ +package mage.cards.s; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetAnyTarget; + +/** + * + * @author TheElk801 + */ +public final class SarkhansDragonfire extends CardImpl { + + private static final FilterCard filter = new FilterCard("a red card"); + + static { + filter.add(new ColorPredicate(ObjectColor.RED)); + } + + public SarkhansDragonfire(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); + + // Sarkhan's Dragonfire deals 3 damage to any target. + this.getSpellAbility().addEffect(new DamageTargetEffect(3)); + this.getSpellAbility().addTarget(new TargetAnyTarget()); + + // Look at the top five cards of your library. You may reveal a red card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. + this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( + new StaticValue(5), false, new StaticValue(1), filter, + Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false + ).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " + + "You may reveal a red card from among them and put it into your hand. " + + "Put the rest on the bottom of your library in a random order.") + ); + } + + public SarkhansDragonfire(final SarkhansDragonfire card) { + super(card); + } + + @Override + public SarkhansDragonfire copy() { + return new SarkhansDragonfire(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index 1d6f60e8af3..4a2be26abe7 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -179,6 +179,7 @@ public final class CoreSet2019 extends ExpansionSet { cards.add(new SetCardInfo("Rustwing Falcon", 36, Rarity.COMMON, mage.cards.r.RustwingFalcon.class)); cards.add(new SetCardInfo("Sai, Master Thopterist", 69, Rarity.RARE, mage.cards.s.SaiMasterThopterist.class)); cards.add(new SetCardInfo("Salvager of Secrets", 70, Rarity.COMMON, mage.cards.s.SalvagerOfSecrets.class)); + cards.add(new SetCardInfo("Sarkhan's Dragonfire", 298, Rarity.RARE, mage.cards.s.SarkhansDragonfire.class)); cards.add(new SetCardInfo("Sarkhan's Unsealing", 155, Rarity.RARE, mage.cards.s.SarkhansUnsealing.class)); cards.add(new SetCardInfo("Sarkhan's Whelp", 299, Rarity.UNCOMMON, mage.cards.s.SarkhansWhelp.class)); cards.add(new SetCardInfo("Sarkhan, Dragonsoul", 296, Rarity.MYTHIC, mage.cards.s.SarkhanDragonsoul.class));