From f44c572e28707b93a27a615f33d68a6216a0b8b1 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 8 Feb 2022 21:16:03 -0500 Subject: [PATCH] [NEC] Implemented Research Thief --- Mage.Sets/src/mage/cards/r/ResearchThief.java | 60 +++++++++++++++++++ .../src/mage/sets/NeonDynastyCommander.java | 1 + 2 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/ResearchThief.java diff --git a/Mage.Sets/src/mage/cards/r/ResearchThief.java b/Mage.Sets/src/mage/cards/r/ResearchThief.java new file mode 100644 index 00000000000..b9d96c11c7f --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/ResearchThief.java @@ -0,0 +1,60 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.keyword.FlashAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SetTargetPointer; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterArtifactCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ResearchThief extends CardImpl { + + private static final FilterPermanent filter + = new FilterArtifactCreaturePermanent("an artifact creature you control"); + + static { + filter.add(TargetController.YOU.getControllerPredicate()); + } + + public ResearchThief(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}"); + + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever an artifact creature you control deals combat damage to a player, draw a card. + this.addAbility(new DealsDamageToAPlayerAllTriggeredAbility( + new DrawCardSourceControllerEffect(1), + filter, false, SetTargetPointer.NONE, true + )); + } + + private ResearchThief(final ResearchThief card) { + super(card); + } + + @Override + public ResearchThief copy() { + return new ResearchThief(this); + } +} diff --git a/Mage.Sets/src/mage/sets/NeonDynastyCommander.java b/Mage.Sets/src/mage/sets/NeonDynastyCommander.java index 594478c1e60..23ba5e0d34b 100644 --- a/Mage.Sets/src/mage/sets/NeonDynastyCommander.java +++ b/Mage.Sets/src/mage/sets/NeonDynastyCommander.java @@ -97,6 +97,7 @@ public final class NeonDynastyCommander extends ExpansionSet { cards.add(new SetCardInfo("Rampant Growth", 125, Rarity.COMMON, mage.cards.r.RampantGrowth.class)); cards.add(new SetCardInfo("Reality Shift", 95, Rarity.UNCOMMON, mage.cards.r.RealityShift.class)); cards.add(new SetCardInfo("Release to Memory", 9, Rarity.RARE, mage.cards.r.ReleaseToMemory.class)); + cards.add(new SetCardInfo("Research Thief", 16, Rarity.RARE, mage.cards.r.ResearchThief.class)); cards.add(new SetCardInfo("Rhythm of the Wild", 142, Rarity.UNCOMMON, mage.cards.r.RhythmOfTheWild.class)); cards.add(new SetCardInfo("Riddlesmith", 96, Rarity.UNCOMMON, mage.cards.r.Riddlesmith.class)); cards.add(new SetCardInfo("Rishkar's Expertise", 127, Rarity.RARE, mage.cards.r.RishkarsExpertise.class));