From 82a2aeb333fe18c30b591b77d5a228f6bdaecca9 Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Fri, 15 Jan 2021 21:36:22 -0600 Subject: [PATCH] [KHM] Implemented Arni Slays the Troll --- .../src/mage/cards/a/ArniSlaysTheTroll.java | 72 +++++++++++++++++++ Mage.Sets/src/mage/sets/Kaldheim.java | 1 + 2 files changed, 73 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/ArniSlaysTheTroll.java diff --git a/Mage.Sets/src/mage/cards/a/ArniSlaysTheTroll.java b/Mage.Sets/src/mage/cards/a/ArniSlaysTheTroll.java new file mode 100644 index 00000000000..cac74adb05e --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArniSlaysTheTroll.java @@ -0,0 +1,72 @@ +package mage.cards.a; + +import java.util.UUID; + +import mage.Mana; +import mage.abilities.common.SagaAbility; +import mage.abilities.dynamicvalue.common.GreatestPowerAmongControlledCreaturesValue; +import mage.abilities.effects.Effects; +import mage.abilities.effects.common.FightTargetsEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.effects.mana.BasicManaEffect; +import mage.constants.SagaChapter; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; +import mage.target.Targets; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author weirddan455 + */ +public final class ArniSlaysTheTroll extends CardImpl { + + public ArniSlaysTheTroll(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}{G}"); + + this.subtype.add(SubType.SAGA); + + // (As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) + SagaAbility sagaAbility = new SagaAbility(this, SagaChapter.CHAPTER_III); + + // I — Target creature you control fights up to one target creature you don't control. + sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_I, + new Effects(new FightTargetsEffect( + "Target creature you control fights up to one target creature you don't control" + )), new Targets( + new TargetControlledCreaturePermanent(), + new TargetPermanent(0, 1, StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL, false) + ) + ); + + // II — Add {R}. Put two +1/+1 counters on up to one target creature you control. + sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II, SagaChapter.CHAPTER_II, + new Effects(new BasicManaEffect(Mana.RedMana(1)), + new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)) + ), new Targets(new TargetControlledCreaturePermanent(0, 1)) + ); + + // III — You gain life equal to the greatest power among creatures you control. + sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, + new GainLifeEffect(GreatestPowerAmongControlledCreaturesValue.instance, + "You gain life equal to the greatest power among creatures you control" + ) + ); + this.addAbility(sagaAbility); + } + + private ArniSlaysTheTroll(final ArniSlaysTheTroll card) { + super(card); + } + + @Override + public ArniSlaysTheTroll copy() { + return new ArniSlaysTheTroll(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index aa669b57cd2..09dde4030f6 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -70,6 +70,7 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Arachnoform", 159, Rarity.COMMON, mage.cards.a.Arachnoform.class)); cards.add(new SetCardInfo("Arctic Treeline", 249, Rarity.COMMON, mage.cards.a.ArcticTreeline.class)); cards.add(new SetCardInfo("Armed and Armored", 379, Rarity.UNCOMMON, mage.cards.a.ArmedAndArmored.class)); + cards.add(new SetCardInfo("Arni Slays the Troll", 201, Rarity.UNCOMMON, mage.cards.a.ArniSlaysTheTroll.class)); cards.add(new SetCardInfo("Augury Raven", 44, Rarity.COMMON, mage.cards.a.AuguryRaven.class)); cards.add(new SetCardInfo("Avalanche Caller", 45, Rarity.UNCOMMON, mage.cards.a.AvalancheCaller.class)); cards.add(new SetCardInfo("Axgard Armory", 250, Rarity.UNCOMMON, mage.cards.a.AxgardArmory.class));