From b5f30f5823a5f9016dc03596897257e438eeee50 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 12 Jul 2024 11:50:42 -0400 Subject: [PATCH] [BLB] Implement Hidden Grotto --- Mage.Sets/src/mage/cards/h/HiddenGrotto.java | 44 ++++++++++++++++++++ Mage.Sets/src/mage/sets/Bloomburrow.java | 1 + Utils/mtg-cards-data.txt | 1 + 3 files changed, 46 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/h/HiddenGrotto.java diff --git a/Mage.Sets/src/mage/cards/h/HiddenGrotto.java b/Mage.Sets/src/mage/cards/h/HiddenGrotto.java new file mode 100644 index 00000000000..3b1a7e79364 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HiddenGrotto.java @@ -0,0 +1,44 @@ +package mage.cards.h; + +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.keyword.SurveilEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HiddenGrotto extends CardImpl { + + public HiddenGrotto(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // When Hidden Grotto enters, surveil 1. + this.addAbility(new EntersBattlefieldTriggeredAbility(new SurveilEffect(1))); + + // {T}: Add {C}. + this.addAbility(new ColorlessManaAbility()); + + // {1}, {T}: Add one mana of any color. + Ability ability = new AnyColorManaAbility(new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + private HiddenGrotto(final HiddenGrotto card) { + super(card); + } + + @Override + public HiddenGrotto copy() { + return new HiddenGrotto(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Bloomburrow.java b/Mage.Sets/src/mage/sets/Bloomburrow.java index 61d477dacc5..12d8d85cec2 100644 --- a/Mage.Sets/src/mage/sets/Bloomburrow.java +++ b/Mage.Sets/src/mage/sets/Bloomburrow.java @@ -54,6 +54,7 @@ public final class Bloomburrow extends ExpansionSet { cards.add(new SetCardInfo("Harnesser of Storms", 137, Rarity.UNCOMMON, mage.cards.h.HarnesserOfStorms.class)); cards.add(new SetCardInfo("Head of the Homestead", 216, Rarity.COMMON, mage.cards.h.HeadOfTheHomestead.class)); cards.add(new SetCardInfo("Hearthborn Battler", 139, Rarity.RARE, mage.cards.h.HearthbornBattler.class)); + cards.add(new SetCardInfo("Hidden Grotto", 254, Rarity.COMMON, mage.cards.h.HiddenGrotto.class)); cards.add(new SetCardInfo("Hop to It", 16, Rarity.UNCOMMON, mage.cards.h.HopToIt.class)); cards.add(new SetCardInfo("Hugs, Grisly Guardian", 218, Rarity.MYTHIC, mage.cards.h.HugsGrislyGuardian.class)); cards.add(new SetCardInfo("Hunter's Talent", 179, Rarity.UNCOMMON, mage.cards.h.HuntersTalent.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 0b13d0293ac..cea85ad7cff 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -53193,6 +53193,7 @@ Wandertale Mentor|Bloomburrow|240|U|{R}{G}|Creature - Raccoon Bard|2|2|Whenever Ygra, Eater of All|Bloomburrow|241|M|{3}{B}{G}|Legendary Creature - Elemental Cat|6|6|Ward--Sacrifice a Food.$Other creatures are Food artifacts in addition to their other types and have "{2}, {T}, Sacrifice this permanent: You gain 3 life."$Whenever a Food is put into a graveyard from the battlefield, put two +1/+1 counters on Ygra, Eater of All.| Zoraline, Cosmos Caller|Bloomburrow|242|R|{1}{W}{B}|Legendary Creature - Bat Cleric|3|3|Flying, vigilance$Whenever a Bat you control attacks, you gain 1 life.$Whenever Zoraline enters or attacks, you may pay {W}{B} and 2 life. When you do, return target nonland permanent card with mana value 3 or less from your graveyard to the battlefield with a finality counter on it.| Barkform Harvester|Bloomburrow|243|C|{3}|Artifact Creature - Shapeshifter|2|3|Changeling$Reach${2}: Put target card from your graveyard on the bottom of your library.| +Hidden Grotto|Bloomburrow|254|C||Land|||When Hidden Grotto enters, surveil 1.${T}: Add {C}.${1}, {T}: Add one mana of any color.| Lilypad Village|Bloomburrow|255|U||Land|||{T}: Add {C}.${T}: Add {U}. Spend this mana only to cast a creature spell.${U}, {T}: Surveil 2. Activate only if a Bird, Frog, Otter, or Rat entered the battlefield under your control this turn.| Lupinflower Village|Bloomburrow|256|U||Land|||{T}: Add {C}.${T}: Add {W}. Spend this mana only to cast a creature spell.${1}{W}, {T}, Sacrifice Lupinflower Village: Look at the top six cards of your library. You may reveal a Bat, Bird, Mouse, or Rabbit card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.| Mudflat Village|Bloomburrow|257|U||Land|||{T}: Add {C}.${T}: Add {B}. Spend this mana only to cast a creature spell.${1}{B}, {T}, Sacrifice Mudflat Village: Return target Bat, Lizard, Rat, or Squirrel card from your graveyard to your hand.|