From c523e8c48b2a99af95af7992c9dccfd0b506cf40 Mon Sep 17 00:00:00 2001 From: ciaccona007 Date: Sun, 3 Nov 2024 17:07:50 -0500 Subject: [PATCH] [FDN] Implement Gutless Plunderer --- .../src/mage/cards/g/GutlessPlunderer.java | 60 +++++++++++++++++++ Mage.Sets/src/mage/sets/Foundations.java | 1 + 2 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GutlessPlunderer.java diff --git a/Mage.Sets/src/mage/cards/g/GutlessPlunderer.java b/Mage.Sets/src/mage/cards/g/GutlessPlunderer.java new file mode 100644 index 00000000000..8614b3d54cf --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GutlessPlunderer.java @@ -0,0 +1,60 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.RaidCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.hint.common.RaidHint; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.PutCards; +import mage.constants.SubType; +import mage.watchers.common.PlayerAttackedWatcher; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class GutlessPlunderer extends CardImpl { + + public GutlessPlunderer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.PIRATE); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Deathtouch + this.addAbility(DeathtouchAbility.getInstance()); + + // Raid -- When this creature enters, if you attacked this turn, look at the top three cards of your library. You may put one of those cards back on top of your library. Put the rest into your graveyard. + Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility( + new LookLibraryAndPickControllerEffect( + 3, 1, PutCards.TOP_ANY, PutCards.GRAVEYARD, true + ) + ), RaidCondition.instance, "When this creature enters, if you attacked this turn, " + + "look at the top three cards of your library. You may " + + "put one of those cards back on top of your library. Put the rest into your graveyard." + ); + ability.setAbilityWord(AbilityWord.RAID); + ability.addHint(RaidHint.instance); + this.addAbility(ability, new PlayerAttackedWatcher()); + } + + private GutlessPlunderer(final GutlessPlunderer card) { + super(card); + } + + @Override + public GutlessPlunderer copy() { + return new GutlessPlunderer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 09091b91325..d7b9aadfb62 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -240,6 +240,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Grow from the Ashes", 225, Rarity.COMMON, mage.cards.g.GrowFromTheAshes.class)); cards.add(new SetCardInfo("Gruul Guildgate", 690, Rarity.COMMON, mage.cards.g.GruulGuildgate.class)); cards.add(new SetCardInfo("Guarded Heir", 14, Rarity.UNCOMMON, mage.cards.g.GuardedHeir.class)); + cards.add(new SetCardInfo("Gutless Plunderer", 60, Rarity.COMMON, mage.cards.g.GutlessPlunderer.class)); cards.add(new SetCardInfo("Guttersnipe", 716, Rarity.UNCOMMON, mage.cards.g.Guttersnipe.class)); cards.add(new SetCardInfo("Halana and Alena, Partners", 659, Rarity.RARE, mage.cards.h.HalanaAndAlenaPartners.class)); cards.add(new SetCardInfo("Harbinger of the Tides", 593, Rarity.RARE, mage.cards.h.HarbingerOfTheTides.class));