From 3554fcd54031d0619b09dffa10caf4117f912c29 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Mon, 7 Apr 2025 13:00:40 -0500 Subject: [PATCH] [TDM] Implement Riling Dawnbreaker --- .../src/mage/cards/r/RilingDawnbreaker.java | 66 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 1 + 2 files changed, 67 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RilingDawnbreaker.java diff --git a/Mage.Sets/src/mage/cards/r/RilingDawnbreaker.java b/Mage.Sets/src/mage/cards/r/RilingDawnbreaker.java new file mode 100644 index 00000000000..21921919b2b --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RilingDawnbreaker.java @@ -0,0 +1,66 @@ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; +import mage.cards.OmenCard; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.game.permanent.token.Soldier22Token; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Jmlundeen + */ +public final class RilingDawnbreaker extends OmenCard { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature you control"); + + static { + filter.add(AnotherPredicate.instance); + filter.add(TargetController.YOU.getControllerPredicate()); + } + + public RilingDawnbreaker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.SORCERY}, "{4}{W}", "Signaling Roar", "{1}{W}"); + + this.subtype.add(SubType.DRAGON); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // At the beginning of combat on your turn, another target creature you control gets +1/+0 until end of turn. + Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(1, 0)); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + + // Signaling Roar + // Create a 2/2 white Soldier creature token. + this.getSpellCard().getSpellAbility().addEffect(new CreateTokenEffect(new Soldier22Token())); + this.finalizeOmen(); + } + + private RilingDawnbreaker(final RilingDawnbreaker card) { + super(card); + } + + @Override + public RilingDawnbreaker copy() { + return new RilingDawnbreaker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index 1f2ff4581a6..0d4e8d1f01d 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -179,6 +179,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Reputable Merchant", 217, Rarity.COMMON, mage.cards.r.ReputableMerchant.class)); cards.add(new SetCardInfo("Rescue Leopard", 116, Rarity.COMMON, mage.cards.r.RescueLeopard.class)); cards.add(new SetCardInfo("Revival of the Ancestors", 218, Rarity.RARE, mage.cards.r.RevivalOfTheAncestors.class)); + cards.add(new SetCardInfo("Riling Dawnbreaker", 21, Rarity.COMMON, mage.cards.r.RilingDawnbreaker.class)); cards.add(new SetCardInfo("Ringing Strike Mastery", 53, Rarity.COMMON, mage.cards.r.RingingStrikeMastery.class)); cards.add(new SetCardInfo("Riverwalk Technique", 54, Rarity.COMMON, mage.cards.r.RiverwalkTechnique.class)); cards.add(new SetCardInfo("Riverwheel Sweep", 219, Rarity.UNCOMMON, mage.cards.r.RiverwheelSweep.class));