From 272f78e88aab7ccc37084c32f987482cb0303a4e Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 2 Apr 2020 15:10:56 -0400 Subject: [PATCH] Implemented Void Beckoner --- Mage.Sets/src/mage/cards/v/VoidBeckoner.java | 54 +++++++++++++++++++ .../src/mage/sets/IkoriaLairOfBehemoths.java | 1 + .../main/java/mage/counters/CounterType.java | 4 ++ 3 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/v/VoidBeckoner.java diff --git a/Mage.Sets/src/mage/cards/v/VoidBeckoner.java b/Mage.Sets/src/mage/cards/v/VoidBeckoner.java new file mode 100644 index 00000000000..e4ce9c7a2e2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/v/VoidBeckoner.java @@ -0,0 +1,54 @@ +package mage.cards.v; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CycleTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class VoidBeckoner extends CardImpl { + + public VoidBeckoner(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}{B}"); + + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); + this.power = new MageInt(8); + this.toughness = new MageInt(8); + + // Deathtouch + this.addAbility(DeathtouchAbility.getInstance()); + + // Cycling {2}{B} + this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{B}"))); + + // When you cycle Void Beckoner, put a deathtouch counter on target creature you control. + Ability ability = new CycleTriggeredAbility( + new AddCountersTargetEffect(CounterType.DEATHTOUCH.createInstance()) + ); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + } + + private VoidBeckoner(final VoidBeckoner card) { + super(card); + } + + @Override + public VoidBeckoner copy() { + return new VoidBeckoner(this); + } +} diff --git a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java index c7ca20868ac..bfdf2337af5 100644 --- a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java +++ b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java @@ -32,5 +32,6 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet { cards.add(new SetCardInfo("Gloom Pangolin", 89, Rarity.COMMON, mage.cards.g.GloomPangolin.class)); cards.add(new SetCardInfo("Mosscoat Goriak", 167, Rarity.COMMON, mage.cards.m.MosscoatGoriak.class)); cards.add(new SetCardInfo("Pacifism", 25, Rarity.COMMON, mage.cards.p.Pacifism.class)); + cards.add(new SetCardInfo("Void Beckoner", 373, Rarity.UNCOMMON, mage.cards.v.VoidBeckoner.class)); } } diff --git a/Mage/src/main/java/mage/counters/CounterType.java b/Mage/src/main/java/mage/counters/CounterType.java index 879be4e4f4c..1b4dd142e55 100644 --- a/Mage/src/main/java/mage/counters/CounterType.java +++ b/Mage/src/main/java/mage/counters/CounterType.java @@ -1,5 +1,6 @@ package mage.counters; +import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.TrampleAbility; /** @@ -30,6 +31,7 @@ public enum CounterType { CUBE("cube"), CURRENCY("currency"), DEATH("death"), + DEATHTOUCH("deathtouch"), DELAY("delay"), DEPLETION("depletion"), DESPAIR("despair"), @@ -195,6 +197,8 @@ public enum CounterType { return new BoostCounter(-2, -1, amount); case M2M2: return new BoostCounter(-2, -2, amount); + case DEATHTOUCH: + return new AbilityCounter(DeathtouchAbility.getInstance()); case TRAMPLE: return new AbilityCounter(TrampleAbility.getInstance()); default: