From b205ac8472e928cbdc8e95a8b8f62bbef47cf0b9 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Mon, 7 Apr 2025 14:53:24 -0500 Subject: [PATCH] [TDM] Implement Twinmaw Stormbrood --- .../src/mage/cards/t/TwinmawStormbrood.java | 59 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 1 + 2 files changed, 60 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TwinmawStormbrood.java diff --git a/Mage.Sets/src/mage/cards/t/TwinmawStormbrood.java b/Mage.Sets/src/mage/cards/t/TwinmawStormbrood.java new file mode 100644 index 00000000000..41c021b2836 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TwinmawStormbrood.java @@ -0,0 +1,59 @@ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DealsDamageToACreatureTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.OmenCard; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Jmlundeen + */ +public final class TwinmawStormbrood extends OmenCard { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature without flying"); + + static { + filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public TwinmawStormbrood(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.SORCERY}, "{5}{W}", "Charring Bite", "{1}{R}"); + + this.subtype.add(SubType.DRAGON); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When this creature enters, you gain 5 life. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5))); + + // Charring Bite + // deals 5 damage to target creature without flying. + this.getSpellCard().getSpellAbility().addEffect(new DamageTargetEffect(5)); + this.getSpellCard().getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + this.finalizeOmen(); + } + + private TwinmawStormbrood(final TwinmawStormbrood card) { + super(card); + } + + @Override + public TwinmawStormbrood copy() { + return new TwinmawStormbrood(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index f537d79046d..c7ce0ec5c61 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -243,6 +243,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Tranquil Cove", 270, Rarity.COMMON, mage.cards.t.TranquilCove.class)); cards.add(new SetCardInfo("Traveling Botanist", 164, Rarity.UNCOMMON, mage.cards.t.TravelingBotanist.class)); cards.add(new SetCardInfo("Twin Bolt", 128, Rarity.COMMON, mage.cards.t.TwinBolt.class)); + cards.add(new SetCardInfo("Twinmaw Stormbrood", 232, Rarity.UNCOMMON, mage.cards.t.TwinmawStormbrood.class)); cards.add(new SetCardInfo("Ugin, Eye of the Storms", 1, Rarity.MYTHIC, mage.cards.u.UginEyeOfTheStorms.class)); cards.add(new SetCardInfo("Unburied Earthcarver", 95, Rarity.COMMON, mage.cards.u.UnburiedEarthcarver.class)); cards.add(new SetCardInfo("Underfoot Underdogs", 129, Rarity.COMMON, mage.cards.u.UnderfootUnderdogs.class));