From 0563802da5491b91d9bea20a3d42a2615b72b963 Mon Sep 17 00:00:00 2001 From: ciaccona007 Date: Mon, 4 Nov 2024 09:29:10 -0500 Subject: [PATCH] [FDN] Implement Loot, Exuberant Explorer --- .../mage/cards/l/LootExuberantExplorer.java | 64 +++++++++++++++++++ Mage.Sets/src/mage/sets/Foundations.java | 1 + Mage/src/main/resources/tokens-database.txt | 2 +- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/l/LootExuberantExplorer.java diff --git a/Mage.Sets/src/mage/cards/l/LootExuberantExplorer.java b/Mage.Sets/src/mage/cards/l/LootExuberantExplorer.java new file mode 100644 index 00000000000..c87f1c9db44 --- /dev/null +++ b/Mage.Sets/src/mage/cards/l/LootExuberantExplorer.java @@ -0,0 +1,64 @@ +package mage.cards.l; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.effects.common.continuous.PlayAdditionalLandsControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.card.ManaValueLessThanControlledLandCountPredicate; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class LootExuberantExplorer extends CardImpl { + + private static final FilterCard filter = new FilterCreatureCard( + "creature card with mana value less than or equal to the number of lands you control" + ); + + static { + filter.add(ManaValueLessThanControlledLandCountPredicate.instance); + } + + public LootExuberantExplorer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.NOBLE); + this.power = new MageInt(1); + this.toughness = new MageInt(4); + + // You may play an additional land on each of your turns. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); + + // {4}{G}{G}, {T}: Look at the top six cards of your library. You may reveal a creature card with mana value less than or equal to the number of lands you control from among them and put it onto the battlefield. Put the rest on the bottom in a random order. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryAndPickControllerEffect( + 6, 1, filter, + PutCards.BATTLEFIELD, PutCards.BOTTOM_RANDOM + ), new ManaCostsImpl<>("{4}{G}{G}")); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + private LootExuberantExplorer(final LootExuberantExplorer card) { + super(card); + } + + @Override + public LootExuberantExplorer copy() { + return new LootExuberantExplorer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 7a9954c1bd7..0d2c09de695 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -307,6 +307,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Liliana, Dreadhorde General", 176, Rarity.MYTHIC, mage.cards.l.LilianaDreadhordeGeneral.class)); cards.add(new SetCardInfo("Linden, the Steadfast Queen", 577, Rarity.RARE, mage.cards.l.LindenTheSteadfastQueen.class)); cards.add(new SetCardInfo("Llanowar Elves", 227, Rarity.COMMON, mage.cards.l.LlanowarElves.class)); + cards.add(new SetCardInfo("Loot, Exuberant Explorer", 106, Rarity.RARE, mage.cards.l.LootExuberantExplorer.class)); cards.add(new SetCardInfo("Luminous Rebuke", 20, Rarity.COMMON, mage.cards.l.LuminousRebuke.class)); cards.add(new SetCardInfo("Lunar Insight", 46, Rarity.RARE, mage.cards.l.LunarInsight.class)); cards.add(new SetCardInfo("Lyra Dawnbringer", 707, Rarity.MYTHIC, mage.cards.l.LyraDawnbringer.class)); diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index e290397663a..5068b7c0c30 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -2397,4 +2397,4 @@ # FDN |Generate|TOK:FDN|Ninja|||NinjaToken2| -|Generate|TOK:FDN|Scion of the Deep|||ScionOfTheDeepToken| \ No newline at end of file +|Generate|TOK:FDN|Scion of the Deep|||ScionOfTheDeepToken|