From 076df16841e10e6e0921c8e3e2424ee4d41b3ac3 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Mon, 7 Apr 2025 11:02:44 -0500 Subject: [PATCH] [TDM] Implement Disruptive Stormbrood --- .../mage/cards/d/DisruptiveStormbrood.java | 64 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 1 + 2 files changed, 65 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/d/DisruptiveStormbrood.java diff --git a/Mage.Sets/src/mage/cards/d/DisruptiveStormbrood.java b/Mage.Sets/src/mage/cards/d/DisruptiveStormbrood.java new file mode 100644 index 00000000000..382d66191e4 --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DisruptiveStormbrood.java @@ -0,0 +1,64 @@ +package mage.cards.d; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.OmenCard; +import mage.constants.ComparisonType; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Jmlundeen + */ +public final class DisruptiveStormbrood extends OmenCard { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with power 3 or less"); + + static { + filter.add(new PowerPredicate(ComparisonType.OR_LESS, 3)); + } + + public DisruptiveStormbrood(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.SORCERY}, "{4}{G}", "Petty Revenge", "{1}{B}"); + + this.subtype.add(SubType.DRAGON); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When this creature enters, destroy up to one target artifact or enchantment. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); + ability.addTarget(new TargetPermanent(0, 1, StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); + this.addAbility(ability); + + // Petty Revenge + // Destroy target creature with power 3 or less. + Effect spellEffect = new DestroyTargetEffect(); + this.getSpellCard().getSpellAbility().addEffect(spellEffect); + this.getSpellCard().getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + this.finalizeOmen(); + } + + private DisruptiveStormbrood(final DisruptiveStormbrood card) { + super(card); + } + + @Override + public DisruptiveStormbrood copy() { + return new DisruptiveStormbrood(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index 02decfc2e59..5c48ac76d54 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -71,6 +71,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Dirgur Island Dragon", 40, Rarity.COMMON, mage.cards.d.DirgurIslandDragon.class)); cards.add(new SetCardInfo("Dismal Backwater", 254, Rarity.COMMON, mage.cards.d.DismalBackwater.class)); cards.add(new SetCardInfo("Dispelling Exhale", 41, Rarity.COMMON, mage.cards.d.DispellingExhale.class)); + cards.add(new SetCardInfo("Disruptive Stormbrood", 178, Rarity.UNCOMMON, mage.cards.d.DisruptiveStormbrood.class)); cards.add(new SetCardInfo("Dracogenesis", 105, Rarity.MYTHIC, mage.cards.d.Dracogenesis.class)); cards.add(new SetCardInfo("Dragon Sniper", 139, Rarity.UNCOMMON, mage.cards.d.DragonSniper.class)); cards.add(new SetCardInfo("Dragon's Prey", 79, Rarity.COMMON, mage.cards.d.DragonsPrey.class));