From 4608606dd0dc8997960742da7d5cc845178448d2 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 25 May 2024 12:09:49 -0400 Subject: [PATCH] [MH3] Implement Guardian of the Forgotten --- .../mage/cards/g/GuardianOfTheForgotten.java | 52 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons3.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GuardianOfTheForgotten.java diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheForgotten.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheForgotten.java new file mode 100644 index 00000000000..f4aa8daf1ed --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheForgotten.java @@ -0,0 +1,52 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.effects.keyword.ManifestEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.permanent.ModifiedPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class GuardianOfTheForgotten extends CardImpl { + + private static final FilterPermanent filter + = new FilterControlledCreaturePermanent("a modified creature you control"); + + static { + filter.add(ModifiedPredicate.instance); + } + + public GuardianOfTheForgotten(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); + + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // Whenever a modified creature you control dies, manifest the top card of your library. + this.addAbility(new DiesCreatureTriggeredAbility(new ManifestEffect(1), false, filter)); + } + + private GuardianOfTheForgotten(final GuardianOfTheForgotten card) { + super(card); + } + + @Override + public GuardianOfTheForgotten copy() { + return new GuardianOfTheForgotten(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index 7f04975cbcf..58a8296b121 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -73,6 +73,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Grim Servant", 97, Rarity.UNCOMMON, mage.cards.g.GrimServant.class)); cards.add(new SetCardInfo("Grist, Voracious Larva", 251, Rarity.MYTHIC, mage.cards.g.GristVoraciousLarva.class)); cards.add(new SetCardInfo("Grist, the Plague Swarm", 251, Rarity.MYTHIC, mage.cards.g.GristThePlagueSwarm.class)); + cards.add(new SetCardInfo("Guardian of the Forgotten", 28, Rarity.UNCOMMON, mage.cards.g.GuardianOfTheForgotten.class)); cards.add(new SetCardInfo("Guide of Souls", 29, Rarity.RARE, mage.cards.g.GuideOfSouls.class)); cards.add(new SetCardInfo("Harbinger of the Seas", 63, Rarity.RARE, mage.cards.h.HarbingerOfTheSeas.class)); cards.add(new SetCardInfo("Island", 305, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));