From 9b6f59d7dcbc1996b3fc66b33dfe9744c8aa3c13 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 3 Apr 2024 12:34:32 -0400 Subject: [PATCH] [BIG] Implement Harvester of Misery --- .../src/mage/cards/h/HarvesterOfMisery.java | 59 +++++++++++++++++++ Mage.Sets/src/mage/sets/TheBigScore.java | 1 + Utils/mtg-cards-data.txt | 1 + 3 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/h/HarvesterOfMisery.java diff --git a/Mage.Sets/src/mage/cards/h/HarvesterOfMisery.java b/Mage.Sets/src/mage/cards/h/HarvesterOfMisery.java new file mode 100644 index 00000000000..58d46d5e567 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HarvesterOfMisery.java @@ -0,0 +1,59 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +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.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HarvesterOfMisery extends CardImpl { + + public HarvesterOfMisery(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); + + this.subtype.add(SubType.SPIRIT); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Menace + this.addAbility(new MenaceAbility()); + + // When Harvester of Misery enters the battlefield, other creatures get -2/-2 until end of turn. + this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostAllEffect( + -2, -2, Duration.EndOfTurn, true + ))); + + // {1}{B}, Discard Harvester of Misery: Target creature gets -2/-2 until end of turn. + Ability ability = new SimpleActivatedAbility( + Zone.HAND, new BoostTargetEffect(-2, -2), new ManaCostsImpl<>("{1}{B}") + ); + ability.addCost(new DiscardSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + private HarvesterOfMisery(final HarvesterOfMisery card) { + super(card); + } + + @Override + public HarvesterOfMisery copy() { + return new HarvesterOfMisery(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheBigScore.java b/Mage.Sets/src/mage/sets/TheBigScore.java index bfc4d6f405c..bfb9f68221a 100644 --- a/Mage.Sets/src/mage/sets/TheBigScore.java +++ b/Mage.Sets/src/mage/sets/TheBigScore.java @@ -24,6 +24,7 @@ public final class TheBigScore extends ExpansionSet { cards.add(new SetCardInfo("Bristlebud Farmer", 17, Rarity.MYTHIC, mage.cards.b.BristlebudFarmer.class)); cards.add(new SetCardInfo("Collector's Cage", 1, Rarity.MYTHIC, mage.cards.c.CollectorsCage.class)); cards.add(new SetCardInfo("Grand Abolisher", 2, Rarity.MYTHIC, mage.cards.g.GrandAbolisher.class)); + cards.add(new SetCardInfo("Harvester of Misery", 9, Rarity.MYTHIC, mage.cards.h.HarvesterOfMisery.class)); cards.add(new SetCardInfo("Legion Extruder", 12, Rarity.MYTHIC, mage.cards.l.LegionExtruder.class)); cards.add(new SetCardInfo("Loot, the Key to Everything", 21, Rarity.MYTHIC, mage.cards.l.LootTheKeyToEverything.class)); cards.add(new SetCardInfo("Lost Jitte", 53, Rarity.MYTHIC, mage.cards.l.LostJitte.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index a277a69d467..6f4c6af0956 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -52695,6 +52695,7 @@ Rest in Peace|The Big Score|4|M|{1}{W}|Enchantment|||When Rest in Peace enters t Esoteric Duplicator|The Big Score|5|M|{2}{U}|Artifact - Clue|||Whenever you sacrifice Esoteric Duplicator or another artifact, you may pay {2}. If you do, at the beginning of the next end step, create a token that's a copy of that artifact.${2}, Sacrifice Esoteric Duplicator: Draw a card.| Simulacrum Synthesizer|The Big Score|6|M|{2}{U}|Artifact|||When Simulacrum Synthesizer enters the battlefield, scry 2.$Whenever another artifact with mana value 3 or greater enters the battlefield under your control, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control."| Worldwalker Helm|The Big Score|7|M|{2}{U}|Artifact|||If you would create one or more artifact tokens, instead create those tokens plus an additional Map token.${1}{U}, {T}: Create a token that's a copy of target artifact token you control.| +Harvester of Misery|The Big Score|9|M|{3}{B}{B}|Creature Spirit|5|4|Menace$When Harvester of Misery enters the battlefield, other creatures get -2/-2 until end of turn.${1}{B}, Discard Harvester of Misery: Target creature gets -2/-2 until end of turn.| Legion Extruder|The Big Score|12|M|{1}{R}|Artifact|||When Legion Extruder enters the battlefield, it deals 2 damage to any target.${2}, {T}, Sacrifice another artifact: Create a 3/3 colorless Golem artifact creature token.| Memory Vessel|The Big Score|13|M|{3}{R}{R}|Artifact|||{T}, Exile Memory Vessel: Each player exiles the top seven cards of their library. Until your next turn, players may play cards they exiled this way, and they can't play cards from their hand. Activate only as a sorcery.| Molten Duplication|The Big Score|14|M|{1}{R}|Sorcery|||Create a token that's a copy of target artifact or creature you control, except it's an artifact in addition to its other types. It gains haste until end of turn. Sacrifice it at the beginning of the next end step.|