From 7e55f25d31845373076fc4de4ad0ec4f6521d531 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 18 Sep 2022 11:58:16 -0400 Subject: [PATCH] [40K] Implemented Necron Deathmark --- .../src/mage/cards/n/NecronDeathmark.java | 52 +++++++++++++++++++ Mage.Sets/src/mage/sets/Warhammer40000.java | 1 + .../effects/common/MillCardsTargetEffect.java | 2 +- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/n/NecronDeathmark.java diff --git a/Mage.Sets/src/mage/cards/n/NecronDeathmark.java b/Mage.Sets/src/mage/cards/n/NecronDeathmark.java new file mode 100644 index 00000000000..06ff99ba379 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NecronDeathmark.java @@ -0,0 +1,52 @@ +package mage.cards.n; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.MillCardsTargetEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.SecondTargetPointer; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class NecronDeathmark extends CardImpl { + + public NecronDeathmark(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{B}{B}"); + + this.subtype.add(SubType.NECRON); + this.power = new MageInt(5); + this.toughness = new MageInt(3); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // Synaptic Disintegrator -- When Necron Deathmark enters the battlefield, destroy up to one target creature and target player mills three cards. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); + ability.addEffect(new MillCardsTargetEffect(3) + .setText("and target player mills three cards") + .setTargetPointer(new SecondTargetPointer())); + ability.addTarget(new TargetCreaturePermanent(0, 1)); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability.withFlavorWord("Synaptic Disintegrator")); + } + + private NecronDeathmark(final NecronDeathmark card) { + super(card); + } + + @Override + public NecronDeathmark copy() { + return new NecronDeathmark(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Warhammer40000.java b/Mage.Sets/src/mage/sets/Warhammer40000.java index 9c4f6dd21ed..9fccfed57e7 100644 --- a/Mage.Sets/src/mage/sets/Warhammer40000.java +++ b/Mage.Sets/src/mage/sets/Warhammer40000.java @@ -137,6 +137,7 @@ public final class Warhammer40000 extends ExpansionSet { cards.add(new SetCardInfo("Mutilate", 203, Rarity.RARE, mage.cards.m.Mutilate.class)); cards.add(new SetCardInfo("Myriad Landscape", 285, Rarity.UNCOMMON, mage.cards.m.MyriadLandscape.class)); cards.add(new SetCardInfo("Mystic Forge", 246, Rarity.RARE, mage.cards.m.MysticForge.class)); + cards.add(new SetCardInfo("Necron Deathmark", 42, Rarity.RARE, mage.cards.n.NecronDeathmark.class)); cards.add(new SetCardInfo("Necron Monolith", 161, Rarity.RARE, mage.cards.n.NecronMonolith.class)); cards.add(new SetCardInfo("New Horizons", 218, Rarity.COMMON, mage.cards.n.NewHorizons.class)); cards.add(new SetCardInfo("Night Scythe", 162, Rarity.UNCOMMON, mage.cards.n.NightScythe.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java index 34daa5d11bf..5a25cdf649e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java @@ -15,7 +15,7 @@ import mage.util.CardUtil; */ public class MillCardsTargetEffect extends OneShotEffect { - private DynamicValue numberCards; + private final DynamicValue numberCards; public MillCardsTargetEffect(int numberCards) { this(StaticValue.get(numberCards));