From 2dc53bba18cb25ab172db63b9b6b1e4bebe1af2d Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 19 Jan 2021 08:48:43 -0500 Subject: [PATCH] [KHM] Implemented Reflections of Littjara --- .../mage/cards/r/ReflectionsOfLittjara.java | 47 +++++++++++++++++++ Mage.Sets/src/mage/sets/Kaldheim.java | 1 + 2 files changed, 48 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/ReflectionsOfLittjara.java diff --git a/Mage.Sets/src/mage/cards/r/ReflectionsOfLittjara.java b/Mage.Sets/src/mage/cards/r/ReflectionsOfLittjara.java new file mode 100644 index 00000000000..0a9ea9dfda5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/ReflectionsOfLittjara.java @@ -0,0 +1,47 @@ +package mage.cards.r; + +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.ChooseCreatureTypeEffect; +import mage.abilities.effects.common.CopyTargetSpellEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.ChosenSubtypePredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ReflectionsOfLittjara extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("a spell of the chosen type"); + + static { + filter.add(ChosenSubtypePredicate.instance); + } + + public ReflectionsOfLittjara(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{U}"); + + // As Reflections of Littjara enters the battlefield, choose a creature type. + this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.Neutral))); + + // Whenever you cast a spell of the chosen type, copy that spell. + this.addAbility(new SpellCastControllerTriggeredAbility(new CopyTargetSpellEffect( + false, true, false + ).setText("copy that spell"), filter, false, true)); + } + + private ReflectionsOfLittjara(final ReflectionsOfLittjara card) { + super(card); + } + + @Override + public ReflectionsOfLittjara copy() { + return new ReflectionsOfLittjara(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index 8ba62c6ba36..ba4ce1264b9 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -234,6 +234,7 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Ravenous Lindwurm", 187, Rarity.COMMON, mage.cards.r.RavenousLindwurm.class)); cards.add(new SetCardInfo("Realmwalker", 188, Rarity.RARE, mage.cards.r.Realmwalker.class)); cards.add(new SetCardInfo("Reckless Crew", 148, Rarity.RARE, mage.cards.r.RecklessCrew.class)); + cards.add(new SetCardInfo("Reflections of Littjara", 73, Rarity.RARE, mage.cards.r.ReflectionsOfLittjara.class)); cards.add(new SetCardInfo("Renegade Reaper", 386, Rarity.UNCOMMON, mage.cards.r.RenegadeReaper.class)); cards.add(new SetCardInfo("Replicating Ring", 244, Rarity.UNCOMMON, mage.cards.r.ReplicatingRing.class)); cards.add(new SetCardInfo("Return Upon the Tide", 106, Rarity.UNCOMMON, mage.cards.r.ReturnUponTheTide.class));