From 5134a9e932396488a72b37dba128e5a7b82e21f4 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Thu, 25 Jan 2024 18:06:55 -0500 Subject: [PATCH] [MKM] Implement Rot Farm Mortipede --- .../src/mage/cards/r/RotFarmMortipede.java | 52 +++++++++++++++++++ .../src/mage/sets/MurdersAtKarlovManor.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RotFarmMortipede.java diff --git a/Mage.Sets/src/mage/cards/r/RotFarmMortipede.java b/Mage.Sets/src/mage/cards/r/RotFarmMortipede.java new file mode 100644 index 00000000000..a318e860e42 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RotFarmMortipede.java @@ -0,0 +1,52 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CardsLeaveGraveyardTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RotFarmMortipede extends CardImpl { + + public RotFarmMortipede(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.subtype.add(SubType.INSECT); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Whenever one or more creature cards leave your graveyard, Rot Farm Mortipede gets +1/+0 and gains menace and lifelink until end of turn. + Ability ability = new CardsLeaveGraveyardTriggeredAbility(new BoostSourceEffect( + 1, 0, Duration.EndOfTurn + ).setText("{this} gets +1/+0"), StaticFilters.FILTER_CARD_CREATURE); + ability.addEffect(new GainAbilitySourceEffect( + new MenaceAbility(false), Duration.EndOfTurn + ).setText("and gains menace")); + ability.addEffect(new GainAbilitySourceEffect( + LifelinkAbility.getInstance(), Duration.EndOfTurn + ).setText("and lifelink until end of turn")); + this.addAbility(ability); + } + + private RotFarmMortipede(final RotFarmMortipede card) { + super(card); + } + + @Override + public RotFarmMortipede copy() { + return new RotFarmMortipede(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MurdersAtKarlovManor.java b/Mage.Sets/src/mage/sets/MurdersAtKarlovManor.java index d9fd8a257e1..3e70c0e3cbe 100644 --- a/Mage.Sets/src/mage/sets/MurdersAtKarlovManor.java +++ b/Mage.Sets/src/mage/sets/MurdersAtKarlovManor.java @@ -124,6 +124,7 @@ public final class MurdersAtKarlovManor extends ExpansionSet { cards.add(new SetCardInfo("Raucous Theater", 266, Rarity.RARE, mage.cards.r.RaucousTheater.class)); cards.add(new SetCardInfo("Red Herring", 142, Rarity.COMMON, mage.cards.r.RedHerring.class)); cards.add(new SetCardInfo("Riftburst Hellion", 228, Rarity.COMMON, mage.cards.r.RiftburstHellion.class)); + cards.add(new SetCardInfo("Rot Farm Mortipede", 102, Rarity.COMMON, mage.cards.r.RotFarmMortipede.class)); cards.add(new SetCardInfo("Rubblebelt Maverick", 174, Rarity.COMMON, mage.cards.r.RubblebeltMaverick.class)); cards.add(new SetCardInfo("Sanguine Savior", 230, Rarity.COMMON, mage.cards.s.SanguineSavior.class)); cards.add(new SetCardInfo("Sanitation Automaton", 256, Rarity.COMMON, mage.cards.s.SanitationAutomaton.class));