diff --git a/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java b/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java new file mode 100644 index 0000000000..5097021781 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java @@ -0,0 +1,68 @@ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.LoyaltyAbility; +import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.mana.AddConditionalManaOfAnyColorEffect; +import mage.abilities.mana.conditional.ConditionalSpellManaBuilder; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.DragonToken2; + +/** + * + * @author TheElk801 + */ +public final class SarkhanFireblood extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("Dragon spells"); + + static { + filter.add(new SubtypePredicate(SubType.DRAGON)); + } + + public SarkhanFireblood(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{R}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.SARKHAN); + this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); + + // +1: You may discard a card. If you do, draw a card. + this.addAbility(new LoyaltyAbility(new DoIfCostPaid( + new DrawCardSourceControllerEffect(1), + new DiscardCardCost() + ), 1)); + + // +1: Add two mana of any combination of colors. Spend this mana only to cast Dragon spells. + this.addAbility(new LoyaltyAbility( + new AddConditionalManaOfAnyColorEffect( + new StaticValue(2), + new ConditionalSpellManaBuilder(filter), + false + ) + )); + + // -7: Create four 5/5 red Dragon creature tokens with flying. + this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new DragonToken2(), 4))); + } + + public SarkhanFireblood(final SarkhanFireblood card) { + super(card); + } + + @Override + public SarkhanFireblood copy() { + return new SarkhanFireblood(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index 4a2be26abe..22b53044d4 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -183,6 +183,7 @@ public final class CoreSet2019 extends ExpansionSet { 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)); + cards.add(new SetCardInfo("Sarkhan, Fireblood", 154, Rarity.MYTHIC, mage.cards.s.SarkhanFireblood.class)); cards.add(new SetCardInfo("Satyr Enchanter", 223, Rarity.UNCOMMON, mage.cards.s.SatyrEnchanter.class)); cards.add(new SetCardInfo("Scapeshift", 201, Rarity.MYTHIC, mage.cards.s.Scapeshift.class)); cards.add(new SetCardInfo("Scholar of Stars", 71, Rarity.COMMON, mage.cards.s.ScholarOfStars.class));