From d7ae7b0e4d9b5b76a2b535ed471657cd47aeb521 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Mon, 11 Nov 2024 11:58:42 -0500 Subject: [PATCH] [J25] Implement Nazar, the Velvet Fang --- .../src/mage/cards/n/NazarTheVelvetFang.java | 57 +++++++++++++++++++ .../src/mage/sets/FoundationsJumpstart.java | 1 + .../main/java/mage/counters/CounterType.java | 1 + 3 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NazarTheVelvetFang.java diff --git a/Mage.Sets/src/mage/cards/n/NazarTheVelvetFang.java b/Mage.Sets/src/mage/cards/n/NazarTheVelvetFang.java new file mode 100644 index 00000000000..dd8670cb431 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NazarTheVelvetFang.java @@ -0,0 +1,57 @@ +package mage.cards.n; + +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.GainLifeControllerTriggeredAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class NazarTheVelvetFang extends CardImpl { + + public NazarTheVelvetFang(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARLOCK); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Menace + this.addAbility(new MenaceAbility()); + + // Whenever you gain life, put a feeding counter on Nazar, the Velvet Fang. + this.addAbility(new GainLifeControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.FETCH.createInstance()))); + + // Whenever Nazar attacks, you may remove three feeding counters from it. If you do, you draw three cards and you lose 3 life. + this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid( + new DrawCardSourceControllerEffect(1, true), + new RemoveCountersSourceCost(CounterType.FEEDING.createInstance(3)) + .setText("remove three feeding counters from it") + ).addEffect(new LoseLifeSourceControllerEffect(3).concatBy("and")))); + } + + private NazarTheVelvetFang(final NazarTheVelvetFang card) { + super(card); + } + + @Override + public NazarTheVelvetFang copy() { + return new NazarTheVelvetFang(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java index 021d6c87eb3..f028d0e0915 100644 --- a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java +++ b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java @@ -457,6 +457,7 @@ public final class FoundationsJumpstart extends ExpansionSet { cards.add(new SetCardInfo("Nadir Kraken", 332, Rarity.RARE, mage.cards.n.NadirKraken.class)); cards.add(new SetCardInfo("Naiad of Hidden Coves", 333, Rarity.COMMON, mage.cards.n.NaiadOfHiddenCoves.class)); cards.add(new SetCardInfo("Nantuko Husk", 468, Rarity.COMMON, mage.cards.n.NantukoHusk.class)); + cards.add(new SetCardInfo("Nazar, the Velvet Fang", 43, Rarity.UNCOMMON, mage.cards.n.NazarTheVelvetFang.class)); cards.add(new SetCardInfo("Necropolis Regent", 469, Rarity.MYTHIC, mage.cards.n.NecropolisRegent.class)); cards.add(new SetCardInfo("Necrotic Wound", 470, Rarity.UNCOMMON, mage.cards.n.NecroticWound.class)); cards.add(new SetCardInfo("Nef-Crop Entangler", 581, Rarity.COMMON, mage.cards.n.NefCropEntangler.class)); diff --git a/Mage/src/main/java/mage/counters/CounterType.java b/Mage/src/main/java/mage/counters/CounterType.java index 67402fc7489..d1003b4bce0 100644 --- a/Mage/src/main/java/mage/counters/CounterType.java +++ b/Mage/src/main/java/mage/counters/CounterType.java @@ -80,6 +80,7 @@ public enum CounterType { FADE("fade"), FATE("fate"), FEATHER("feather"), + FEEDING("feeding"), FETCH("fetch"), FILIBUSTER("filibuster"), FINALITY("finality"),