From 789ecdd9b7044316f87cc12d60fe36fd46e3e2cb Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 2 Feb 2022 17:32:30 -0500 Subject: [PATCH] [NEO] Implemented Reality Heist --- Mage.Sets/src/mage/cards/r/RealityHeist.java | 51 +++++++++++++++++++ .../src/mage/sets/KamigawaNeonDynasty.java | 1 + 2 files changed, 52 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RealityHeist.java diff --git a/Mage.Sets/src/mage/cards/r/RealityHeist.java b/Mage.Sets/src/mage/cards/r/RealityHeist.java new file mode 100644 index 00000000000..5df4ca20370 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RealityHeist.java @@ -0,0 +1,51 @@ +package mage.cards.r; + +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.ArtifactYouControlCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect; +import mage.abilities.hint.common.ArtifactYouControlHint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RealityHeist extends CardImpl { + + public RealityHeist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}{U}{U}"); + + // This spell costs {1} less to cast for each artifact you control. + this.addAbility(new SimpleStaticAbility(Zone.ALL, + new SpellCostReductionForEachSourceEffect(1, ArtifactYouControlCount.instance) + ).addHint(ArtifactYouControlHint.instance)); + + // Look at the top seven cards of your library. You may reveal up to two artifact cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. + this.getSpellAbility().addEffect( + new LookLibraryAndPickControllerEffect( + StaticValue.get(5), false, StaticValue.get(1), + StaticFilters.FILTER_CARD_ARTIFACT, Zone.LIBRARY, false, true, + false, Zone.HAND, true, false, false + ).setBackInRandomOrder(true) + .setText("look at the top seven cards of your library. You may reveal up to " + + "two artifact cards from among them and put them into your hand. " + + "Put the rest on the bottom of your library in a random order") + ); + } + + private RealityHeist(final RealityHeist card) { + super(card); + } + + @Override + public RealityHeist copy() { + return new RealityHeist(this); + } +} diff --git a/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java b/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java index d07e2e5528a..88104bb3a34 100644 --- a/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java +++ b/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java @@ -101,6 +101,7 @@ public final class KamigawaNeonDynasty extends ExpansionSet { cards.add(new SetCardInfo("Portrait of Michiko", 29, Rarity.UNCOMMON, mage.cards.p.PortraitOfMichiko.class)); cards.add(new SetCardInfo("Prodigy's Prototype", 231, Rarity.UNCOMMON, mage.cards.p.ProdigysPrototype.class)); cards.add(new SetCardInfo("Raiyuu, Storm's Edge", 232, Rarity.RARE, mage.cards.r.RaiyuuStormsEdge.class)); + cards.add(new SetCardInfo("Reality Heist", 75, Rarity.UNCOMMON, mage.cards.r.RealityHeist.class)); cards.add(new SetCardInfo("Reckoner Bankbuster", 255, Rarity.RARE, mage.cards.r.ReckonerBankbuster.class)); cards.add(new SetCardInfo("Satoru Umezawa", 234, Rarity.RARE, mage.cards.s.SatoruUmezawa.class)); cards.add(new SetCardInfo("Satsuki, the Living Lore", 235, Rarity.RARE, mage.cards.s.SatsukiTheLivingLore.class));