From b7654c395c98d7ff212b48cd4f0b087ba85d93fe Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 8 Sep 2021 08:34:56 -0400 Subject: [PATCH] [MID] Implemented Arcane Infusion --- .../src/mage/cards/a/ArcaneInfusion.java | 46 +++++++++++++++++++ .../src/mage/sets/InnistradMidnightHunt.java | 1 + 2 files changed, 47 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/ArcaneInfusion.java diff --git a/Mage.Sets/src/mage/cards/a/ArcaneInfusion.java b/Mage.Sets/src/mage/cards/a/ArcaneInfusion.java new file mode 100644 index 0000000000..5bdc4825d7 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArcaneInfusion.java @@ -0,0 +1,46 @@ +package mage.cards.a; + +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.keyword.FlashbackAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TimingRule; +import mage.constants.Zone; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ArcaneInfusion extends CardImpl { + + public ArcaneInfusion(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}{R}"); + + // Look at the top four cards of your library. You may reveal an instant or sorcery card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. + this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( + StaticValue.get(4), false, StaticValue.get(1), + StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY, Zone.LIBRARY, + false, true, false, Zone.HAND, + true, false, false + ).setBackInRandomOrder(true).setText("Look at the top four cards of your library. " + + "You may reveal an instant or sorcery card from among them and put it into your hand. " + + "Put the rest on the bottom of your library in a random order.")); + + // Flashback {3}{U}{R} + this.addAbility(new FlashbackAbility(new ManaCostsImpl<>("{3}{U}{R}"), TimingRule.INSTANT)); + } + + private ArcaneInfusion(final ArcaneInfusion card) { + super(card); + } + + @Override + public ArcaneInfusion copy() { + return new ArcaneInfusion(this); + } +} diff --git a/Mage.Sets/src/mage/sets/InnistradMidnightHunt.java b/Mage.Sets/src/mage/sets/InnistradMidnightHunt.java index 49203aaa4b..d5de161675 100644 --- a/Mage.Sets/src/mage/sets/InnistradMidnightHunt.java +++ b/Mage.Sets/src/mage/sets/InnistradMidnightHunt.java @@ -31,6 +31,7 @@ public final class InnistradMidnightHunt extends ExpansionSet { this.ratioBoosterMythic = 8; this.numBoosterDoubleFaced = 1; + cards.add(new SetCardInfo("Arcane Infusion", 210, Rarity.UNCOMMON, mage.cards.a.ArcaneInfusion.class)); cards.add(new SetCardInfo("Arrogant Outlaw", 84, Rarity.COMMON, mage.cards.a.ArrogantOutlaw.class)); cards.add(new SetCardInfo("Augur of Autumn", 168, Rarity.RARE, mage.cards.a.AugurOfAutumn.class)); cards.add(new SetCardInfo("Bladestitched Skaab", 212, Rarity.UNCOMMON, mage.cards.b.BladestitchedSkaab.class));