From 495bc1307881575f49806e6c5147452d8804ff9e Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 13 Jan 2021 21:02:15 -0500 Subject: [PATCH] [KHM] Implemented Duskwielder --- Mage.Sets/src/mage/cards/d/Duskwielder.java | 47 +++++++++++++++++++ Mage.Sets/src/mage/sets/Kaldheim.java | 1 + .../mage/abilities/keyword/BoastAbility.java | 7 ++- 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/d/Duskwielder.java diff --git a/Mage.Sets/src/mage/cards/d/Duskwielder.java b/Mage.Sets/src/mage/cards/d/Duskwielder.java new file mode 100644 index 00000000000..05e9ae1a5eb --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/Duskwielder.java @@ -0,0 +1,47 @@ +package mage.cards.d; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeTargetEffect; +import mage.abilities.keyword.BoastAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetOpponent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class Duskwielder extends CardImpl { + + public Duskwielder(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); + + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // Boast — {1}: Target opponent loses 1 life and you gain 1 life. + Ability ability = new BoastAbility( + new LoseLifeTargetEffect(1), new GenericManaCost(1) + ); + ability.addEffect(new GainLifeEffect(1).concatBy("and")); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + } + + private Duskwielder(final Duskwielder card) { + super(card); + } + + @Override + public Duskwielder copy() { + return new Duskwielder(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index 4666f7d0178..83b8f8a62ae 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -82,6 +82,7 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Divine Gambit", 8, Rarity.UNCOMMON, mage.cards.d.DivineGambit.class)); cards.add(new SetCardInfo("Dogged Pursuit", 85, Rarity.COMMON, mage.cards.d.DoggedPursuit.class)); cards.add(new SetCardInfo("Doomskar Oracle", 10, Rarity.COMMON, mage.cards.d.DoomskarOracle.class)); + cards.add(new SetCardInfo("Duskwielder", 91, Rarity.COMMON, mage.cards.d.Duskwielder.class)); cards.add(new SetCardInfo("Egon, God of Death", 92, Rarity.RARE, mage.cards.e.EgonGodOfDeath.class)); cards.add(new SetCardInfo("Elderfang Disciple", 93, Rarity.COMMON, mage.cards.e.ElderfangDisciple.class)); cards.add(new SetCardInfo("Elderfang Ritualist", 385, Rarity.UNCOMMON, mage.cards.e.ElderfangRitualist.class)); diff --git a/Mage/src/main/java/mage/abilities/keyword/BoastAbility.java b/Mage/src/main/java/mage/abilities/keyword/BoastAbility.java index 8b547455e8f..3661a8bf10b 100644 --- a/Mage/src/main/java/mage/abilities/keyword/BoastAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/BoastAbility.java @@ -2,7 +2,7 @@ package mage.abilities.keyword; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.condition.common.BoastCondition; -import mage.abilities.costs.mana.ManaCosts; +import mage.abilities.costs.Cost; import mage.abilities.effects.Effect; import mage.abilities.hint.common.BoastHint; import mage.constants.Zone; @@ -10,12 +10,11 @@ import mage.game.Game; import mage.watchers.common.AttackedThisTurnWatcher; /** - * * @author weirddan455 */ public class BoastAbility extends ActivatedAbilityImpl { - public BoastAbility(Effect effect, ManaCosts cost) { + public BoastAbility(Effect effect, Cost cost) { super(Zone.BATTLEFIELD, effect, cost); this.maxActivationsPerTurn = 1; this.addWatcher(new AttackedThisTurnWatcher()); @@ -23,7 +22,7 @@ public class BoastAbility extends ActivatedAbilityImpl { this.addHint(BoastHint.instance); } - public BoastAbility(BoastAbility ability) { + private BoastAbility(BoastAbility ability) { super(ability); }