From dafd7f8e7c2b1aa7eb9d92f67b74e5e6a473f45c Mon Sep 17 00:00:00 2001 From: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com> Date: Wed, 14 Sep 2022 01:03:54 +0100 Subject: [PATCH] [DMC] Implement The Reaver Cleaver (#9519) --- .../src/mage/cards/t/TheReaverCleaver.java | 63 +++++++++++++++++++ .../mage/sets/DominariaUnitedCommander.java | 2 + 2 files changed, 65 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TheReaverCleaver.java diff --git a/Mage.Sets/src/mage/cards/t/TheReaverCleaver.java b/Mage.Sets/src/mage/cards/t/TheReaverCleaver.java new file mode 100644 index 00000000000..facbf283c57 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TheReaverCleaver.java @@ -0,0 +1,63 @@ +package mage.cards.t; + +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.SavedDamageValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.game.permanent.token.TreasureToken; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author PurpleCrowbar + */ +public final class TheReaverCleaver extends CardImpl { + + public TheReaverCleaver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{R}"); + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +1/+1 and has trample and “Whenever this creature deals + // combat damage to a player or planeswalker, create that many Treasure tokens.” + Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(1, 1)); + ability.addEffect(new GainAbilityAttachedEffect( + TrampleAbility.getInstance(), + AttachmentType.EQUIPMENT, + Duration.WhileOnBattlefield, + "and has trample" + )); + ability.addEffect(new GainAbilityAttachedEffect( + new DealsCombatDamageToAPlayerTriggeredAbility( + new CreateTokenEffect(new TreasureToken(), SavedDamageValue.MANY), false + ).setOrPlaneswalker(true), + AttachmentType.EQUIPMENT, + Duration.WhileOnBattlefield, + " and \"Whenever this creature deals combat damage to a player or planeswalker, create that many Treasure tokens.\"" + )); + + this.addAbility(ability); + + // Equip 3 + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); + } + + private TheReaverCleaver(final TheReaverCleaver card) { + super(card); + } + + @Override + public TheReaverCleaver copy() { + return new TheReaverCleaver(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java index aabf2ab96c3..224ee79c3b5 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java +++ b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java @@ -188,6 +188,8 @@ public final class DominariaUnitedCommander extends ExpansionSet { cards.add(new SetCardInfo("The Circle of Loyalty", 98, Rarity.MYTHIC, mage.cards.t.TheCircleOfLoyalty.class)); cards.add(new SetCardInfo("The Mana Rig", 28, Rarity.MYTHIC, mage.cards.t.TheManaRig.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("The Mana Rig", 80, Rarity.MYTHIC, mage.cards.t.TheManaRig.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Reaver Cleaver", 8, Rarity.RARE, mage.cards.t.TheReaverCleaver.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Reaver Cleaver", 84, Rarity.RARE, mage.cards.t.TheReaverCleaver.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Thrill of Possibility", 127, Rarity.COMMON, mage.cards.t.ThrillOfPossibility.class)); cards.add(new SetCardInfo("Time Wipe", 173, Rarity.RARE, mage.cards.t.TimeWipe.class)); cards.add(new SetCardInfo("Transguild Courier", 194, Rarity.UNCOMMON, mage.cards.t.TransguildCourier.class));