From 237dfcd7957a594727cb86c937151bae1630293a Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Wed, 13 Apr 2022 07:20:34 -0500 Subject: [PATCH] [SNC] Implemented Body Dropper --- Mage.Sets/src/mage/cards/b/BodyDropper.java | 58 +++++++++++++++++++ .../src/mage/sets/StreetsOfNewCapenna.java | 1 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BodyDropper.java diff --git a/Mage.Sets/src/mage/cards/b/BodyDropper.java b/Mage.Sets/src/mage/cards/b/BodyDropper.java new file mode 100644 index 00000000000..88ad2cf6a60 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BodyDropper.java @@ -0,0 +1,58 @@ +package mage.cards.b; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SacrificePermanentTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.StaticFilters; + +/** + * + * @author weirddan455 + */ +public final class BodyDropper extends CardImpl { + + public BodyDropper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}"); + + this.subtype.add(SubType.DEVIL); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever you sacrifice another creature, put a +1/+1 counter on Body Dropper. + this.addAbility(new SacrificePermanentTriggeredAbility( + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), + StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE + )); + + // {B}{R}, Sacrifice another creature: Body Dropper gains menace until end of turn. + Ability ability = new SimpleActivatedAbility( + new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), + new ManaCostsImpl<>("{B}{R}") + ); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)); + this.addAbility(ability); + } + + private BodyDropper(final BodyDropper card) { + super(card); + } + + @Override + public BodyDropper copy() { + return new BodyDropper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java index c69ab8f6ea3..565d435dda7 100644 --- a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java +++ b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java @@ -35,6 +35,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet { cards.add(new SetCardInfo("Aven Heartstabber", 166, Rarity.RARE, mage.cards.a.AvenHeartstabber.class)); cards.add(new SetCardInfo("Ballroom Brawlers", 3, Rarity.UNCOMMON, mage.cards.b.BallroomBrawlers.class)); cards.add(new SetCardInfo("Black Market Tycoon", 167, Rarity.RARE, mage.cards.b.BlackMarketTycoon.class)); + cards.add(new SetCardInfo("Body Dropper", 168, Rarity.COMMON, mage.cards.b.BodyDropper.class)); cards.add(new SetCardInfo("Botanical Plaza", 247, Rarity.COMMON, mage.cards.b.BotanicalPlaza.class)); cards.add(new SetCardInfo("Brazen Upstart", 169, Rarity.UNCOMMON, mage.cards.b.BrazenUpstart.class)); cards.add(new SetCardInfo("Brokers Ascendancy", 170, Rarity.RARE, mage.cards.b.BrokersAscendancy.class));