From 77a8f570265204f10a4e850a423fdff113a77246 Mon Sep 17 00:00:00 2001 From: grimreap124 <19590931+grimreap124@users.noreply.github.com> Date: Wed, 29 May 2024 02:08:54 +1000 Subject: [PATCH] implement [MH3] Boggart Trawler // Boggart Bog (#12320) --- .../src/mage/cards/b/BoggartTrawler.java | 52 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons3.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BoggartTrawler.java diff --git a/Mage.Sets/src/mage/cards/b/BoggartTrawler.java b/Mage.Sets/src/mage/cards/b/BoggartTrawler.java new file mode 100644 index 00000000000..6850cfcc51d --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BoggartTrawler.java @@ -0,0 +1,52 @@ +package mage.cards.b; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.common.ExileGraveyardAllTargetPlayerEffect; +import mage.abilities.effects.common.TapSourceUnlessPaysEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.constants.SubType; +import mage.target.TargetPlayer; +import mage.cards.CardSetInfo; +import mage.cards.ModalDoubleFacedCard; +import mage.constants.CardType; + +/** + * + * @author grimreap124 + */ +public final class BoggartTrawler extends ModalDoubleFacedCard { + + public BoggartTrawler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, + new CardType[] { CardType.CREATURE }, new SubType[] { SubType.GOBLIN }, "{2}{B}", + "Boggart Bog", new CardType[] { CardType.LAND }, new SubType[] {}, ""); + + this.getLeftHalfCard().setPT(new MageInt(3), new MageInt(1)); + + // When Boggart Trawler enters the battlefield, exile target player's graveyard. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility( + new ExileGraveyardAllTargetPlayerEffect()); + ability.addTarget(new TargetPlayer()); + this.getLeftHalfCard().addAbility(ability); + + // As Boggart Bog enters the battlefield, you may pay 3 life. If you don’t, it enters the battlefield tapped. + this.getRightHalfCard() + .addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(3)), + "you may pay 3 life. If you don’t, it enters the battlefield tapped")); + this.getRightHalfCard().addAbility(new BlackManaAbility()); + + } + + private BoggartTrawler(final BoggartTrawler card) { + super(card); + } + + @Override + public BoggartTrawler copy() { + return new BoggartTrawler(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index 1338838a158..b6934a19c56 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -29,6 +29,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Basking Broodscale", 145, Rarity.COMMON, mage.cards.b.BaskingBroodscale.class)); cards.add(new SetCardInfo("Bloodsoaked Insight", 252, Rarity.UNCOMMON, mage.cards.b.BloodsoakedInsight.class)); cards.add(new SetCardInfo("Bloodstained Mire", 216, Rarity.RARE, mage.cards.b.BloodstainedMire.class)); + cards.add(new SetCardInfo("Boggart Trawler", 243, Rarity.UNCOMMON, mage.cards.b.BoggartTrawler.class)); cards.add(new SetCardInfo("Brainsurge", 53, Rarity.UNCOMMON, mage.cards.b.Brainsurge.class)); cards.add(new SetCardInfo("Breaker of Creation", 1, Rarity.UNCOMMON, mage.cards.b.BreakerOfCreation.class)); cards.add(new SetCardInfo("Breya, Etherium Shaper", 289, Rarity.MYTHIC, mage.cards.b.BreyaEtheriumShaper.class));