From 2aecc11305804285156797ac0018bd18a957f41f Mon Sep 17 00:00:00 2001 From: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com> Date: Wed, 28 Feb 2024 16:28:07 +0000 Subject: [PATCH] [MKC] Implement Duskana, the Rage Mother --- .../mage/cards/d/DuskanaTheRageMother.java | 54 +++++++++++++++++++ .../sets/MurdersAtKarlovManorCommander.java | 2 + 2 files changed, 56 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/d/DuskanaTheRageMother.java diff --git a/Mage.Sets/src/mage/cards/d/DuskanaTheRageMother.java b/Mage.Sets/src/mage/cards/d/DuskanaTheRageMother.java new file mode 100644 index 000000000000..cfd084bc7aaf --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DuskanaTheRageMother.java @@ -0,0 +1,54 @@ +package mage.cards.d; + +import mage.MageInt; +import mage.abilities.common.AttacksAllTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.BasePowerPredicate; +import mage.filter.predicate.mageobject.BaseToughnessPredicate; + +import java.util.UUID; + +/** + * @author PurpleCrowbar + */ +public final class DuskanaTheRageMother extends CardImpl { + + static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you control with base power and toughness 2/2"); + + static { + filter.add(new BasePowerPredicate(ComparisonType.EQUAL_TO, 2)); + filter.add(new BaseToughnessPredicate(ComparisonType.EQUAL_TO, 2)); + } + + public DuskanaTheRageMother(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}{W}"); + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.BEAR); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // When Duskana, the Rage Mother enters the battlefield, draw a card for each creature you control with base power and toughness 2/2. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)))); + + // Whenever a creature you control with base power and toughness 2/2 attacks, it gets +3/+3 until end of turn. + this.addAbility(new AttacksAllTriggeredAbility( + new BoostTargetEffect(3, 3), false, filter, SetTargetPointer.PERMANENT, false + )); + } + + private DuskanaTheRageMother(final DuskanaTheRageMother card) { + super(card); + } + + @Override + public DuskanaTheRageMother copy() { + return new DuskanaTheRageMother(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java b/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java index 9214b282fb46..2a9867805ede 100644 --- a/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java +++ b/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java @@ -88,6 +88,8 @@ private MurdersAtKarlovManorCommander() { cards.add(new SetCardInfo("Dream Eater", 101, Rarity.MYTHIC, mage.cards.d.DreamEater.class)); cards.add(new SetCardInfo("Drownyard Temple", 259, Rarity.RARE, mage.cards.d.DrownyardTemple.class)); cards.add(new SetCardInfo("Duelist's Heritage", 60, Rarity.RARE, mage.cards.d.DuelistsHeritage.class)); + cards.add(new SetCardInfo("Duskana, the Rage Mother", 5, Rarity.MYTHIC, mage.cards.d.DuskanaTheRageMother.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Duskana, the Rage Mother", 312, Rarity.MYTHIC, mage.cards.d.DuskanaTheRageMother.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dusk // Dawn", 61, Rarity.RARE, mage.cards.d.DuskDawn.class)); cards.add(new SetCardInfo("Elspeth, Sun's Champion", 62, Rarity.MYTHIC, mage.cards.e.ElspethSunsChampion.class)); cards.add(new SetCardInfo("Enhanced Surveillance", 102, Rarity.UNCOMMON, mage.cards.e.EnhancedSurveillance.class));