From 5cdc605732cc2c0a4266b5ab4ecc8a51fa8baf96 Mon Sep 17 00:00:00 2001 From: Daniel Bomar <dbdaniel42@gmail.com> Date: Sun, 27 Dec 2020 10:44:20 -0600 Subject: [PATCH] [KHM] Implemented Magda, Brazen Outlaw --- .../src/mage/cards/m/MagdaBrazenOutlaw.java | 74 +++++++++++++++++++ Mage.Sets/src/mage/sets/Kaldheim.java | 3 +- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/m/MagdaBrazenOutlaw.java diff --git a/Mage.Sets/src/mage/cards/m/MagdaBrazenOutlaw.java b/Mage.Sets/src/mage/cards/m/MagdaBrazenOutlaw.java new file mode 100644 index 0000000000..57ade15b5c --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MagdaBrazenOutlaw.java @@ -0,0 +1,74 @@ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesTappedTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterCard; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.game.permanent.token.TreasureToken; +import mage.target.common.TargetCardInLibrary; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author weirddan455 + */ +public final class MagdaBrazenOutlaw extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.DWARF, "Dwarves"); + private static final FilterControlledPermanent filter2 = new FilterControlledPermanent(SubType.DWARF, "a Dwarf you control"); + private static final FilterCard filter3 = new FilterCard("an artifact or Dragon card"); + private static final FilterControlledPermanent filter4 = new FilterControlledPermanent(SubType.TREASURE, "treasures"); + static { + filter3.add(Predicates.or(CardType.ARTIFACT.getPredicate(), SubType.DRAGON.getPredicate())); + } + + public MagdaBrazenOutlaw(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Other Dwarves you control get +1/+0. + this.addAbility(new SimpleStaticAbility( + new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield, filter, true) + )); + + // Whenever a Dwarf you control becomes tapped, create a Treasure token. + this.addAbility(new BecomesTappedTriggeredAbility( + new CreateTokenEffect(new TreasureToken()), false, filter2 + )); + + // Sacrifice five Treasures: Search your library for an artifact or Dragon card, put that card onto the battlefield, then shuffle your library. + this.addAbility(new SimpleActivatedAbility( + new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter3)), + new SacrificeTargetCost(new TargetControlledPermanent(5, filter4)) + )); + } + + private MagdaBrazenOutlaw(final MagdaBrazenOutlaw card) { + super(card); + } + + @Override + public MagdaBrazenOutlaw copy() { + return new MagdaBrazenOutlaw(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index 06286a1ca7..c3105d34dd 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -43,8 +43,9 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Gilded Assault Cart", 390, Rarity.UNCOMMON, mage.cards.g.GildedAssaultCart.class)); cards.add(new SetCardInfo("Gladewalker Ritualist", 392, Rarity.UNCOMMON, mage.cards.g.GladewalkerRitualist.class)); cards.add(new SetCardInfo("Hengegate Pathway", 260, Rarity.RARE, mage.cards.h.HengegatePathway.class)); - cards.add(new SetCardInfo("Pyre of Heroes", 241, Rarity.RARE, mage.cards.p.PyreOfHeroes.class)); cards.add(new SetCardInfo("Kaya the Inexorable", 218, Rarity.MYTHIC, mage.cards.k.KayaTheInexorable.class)); + cards.add(new SetCardInfo("Magda, Brazen Outlaw", 142, Rarity.RARE, mage.cards.m.MagdaBrazenOutlaw.class)); + cards.add(new SetCardInfo("Pyre of Heroes", 241, Rarity.RARE, mage.cards.p.PyreOfHeroes.class)); cards.add(new SetCardInfo("Rampage of the Valkyries", 393, Rarity.UNCOMMON, mage.cards.r.RampageOfTheValkyries.class)); cards.add(new SetCardInfo("Realmwalker", 188, Rarity.RARE, mage.cards.r.Realmwalker.class)); cards.add(new SetCardInfo("Renegade Reaper", 386, Rarity.UNCOMMON, mage.cards.r.RenegadeReaper.class));