From a2334c3f9a961f84db59f4d760dfad516b4161a7 Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Mon, 8 Nov 2021 08:38:29 -0600 Subject: [PATCH] [VOW] Implemented Witness the Future --- .../src/mage/cards/w/WitnessTheFuture.java | 44 +++++++++++++++++++ .../src/mage/sets/InnistradCrimsonVow.java | 1 + 2 files changed, 45 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/w/WitnessTheFuture.java diff --git a/Mage.Sets/src/mage/cards/w/WitnessTheFuture.java b/Mage.Sets/src/mage/cards/w/WitnessTheFuture.java new file mode 100644 index 00000000000..c5d103a3730 --- /dev/null +++ b/Mage.Sets/src/mage/cards/w/WitnessTheFuture.java @@ -0,0 +1,44 @@ +package mage.cards.w; + +import java.util.UUID; + +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.effects.common.TargetPlayerShufflesTargetCardsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.StaticFilters; +import mage.target.TargetPlayer; +import mage.target.common.TargetCardInTargetPlayersGraveyard; + +/** + * + * @author weirddan455 + */ +public final class WitnessTheFuture extends CardImpl { + + public WitnessTheFuture(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}"); + + // Target player shuffles up to four target cards from their graveyard into their library. + // You look at the top four cards of your library, then put one of those cards into your hand and the rest on the bottom of your library in a random order. + this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetCardInTargetPlayersGraveyard(4)); + this.getSpellAbility().addEffect(new TargetPlayerShufflesTargetCardsEffect()); + this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( + StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, + Zone.LIBRARY, false, false, false, Zone.HAND, false, false, false + ).setBackInRandomOrder(true)); + } + + private WitnessTheFuture(final WitnessTheFuture card) { + super(card); + } + + @Override + public WitnessTheFuture copy() { + return new WitnessTheFuture(this); + } +} diff --git a/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java index 57928f60076..21499af6d0b 100644 --- a/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java +++ b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java @@ -309,6 +309,7 @@ public final class InnistradCrimsonVow extends ExpansionSet { cards.add(new SetCardInfo("Whispering Wizard", 88, Rarity.UNCOMMON, mage.cards.w.WhisperingWizard.class)); cards.add(new SetCardInfo("Winged Portent", 89, Rarity.RARE, mage.cards.w.WingedPortent.class)); cards.add(new SetCardInfo("Witch's Web", 227, Rarity.COMMON, mage.cards.w.WitchsWeb.class)); + cards.add(new SetCardInfo("Witness the Future", 90, Rarity.UNCOMMON, mage.cards.w.WitnessTheFuture.class)); cards.add(new SetCardInfo("Wolf Strike", 228, Rarity.COMMON, mage.cards.w.WolfStrike.class)); cards.add(new SetCardInfo("Wolfkin Outcast", 229, Rarity.UNCOMMON, mage.cards.w.WolfkinOutcast.class)); cards.add(new SetCardInfo("Wrathful Jailbreaker", 184, Rarity.COMMON, mage.cards.w.WrathfulJailbreaker.class));