From 8a77a71c2f9e668356e3f864444473a92f2e933d Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Thu, 17 Aug 2023 15:32:15 +0200 Subject: [PATCH] [WOE] Implement Farsight Ritual (#10840) --- .../src/mage/cards/f/FarsightRitual.java | 48 +++++++++++++++++++ Mage.Sets/src/mage/sets/WildsOfEldraine.java | 1 + 2 files changed, 49 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/f/FarsightRitual.java diff --git a/Mage.Sets/src/mage/cards/f/FarsightRitual.java b/Mage.Sets/src/mage/cards/f/FarsightRitual.java new file mode 100644 index 00000000000..46c1ef9b226 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FarsightRitual.java @@ -0,0 +1,48 @@ +package mage.cards.f; + +import mage.abilities.condition.common.BargainedCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.keyword.BargainAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PutCards; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class FarsightRitual extends CardImpl { + + public FarsightRitual(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{U}"); + + // Bargain + this.addAbility(new BargainAbility()); + + // Look at the top four cards of your library. If this spell was bargained, look at the top eight cards of your library instead. Put two of them into your hand and the rest on the bottom of your library in a random order. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new LookLibraryAndPickControllerEffect( + 8, 2, + PutCards.HAND, PutCards.BOTTOM_RANDOM), + new LookLibraryAndPickControllerEffect( + 4, 2, + PutCards.HAND, PutCards.BOTTOM_RANDOM), + BargainedCondition.instance, + "Look at the top four cards of your library. If this spell was bargained, " + + "look at the top eight cards of your library instead. Put two of them into " + + "your hand and the rest on the bottom of your library in a random order." + )); + } + + private FarsightRitual(final FarsightRitual card) { + super(card); + } + + @Override + public FarsightRitual copy() { + return new FarsightRitual(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index b2ae3668fc4..a34b6685bdb 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -27,6 +27,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Elvish Archivist", 168, Rarity.RARE, mage.cards.e.ElvishArchivist.class)); cards.add(new SetCardInfo("Evolving Wilds", 256, Rarity.COMMON, mage.cards.e.EvolvingWilds.class)); cards.add(new SetCardInfo("Faerie Dreamthief", 89, Rarity.UNCOMMON, mage.cards.f.FaerieDreamthief.class)); + cards.add(new SetCardInfo("Farsight Ritual", 49, Rarity.RARE, mage.cards.f.FarsightRitual.class)); cards.add(new SetCardInfo("Forest", 266, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Frolicking Familiar", 226, Rarity.UNCOMMON, mage.cards.f.FrolickingFamiliar.class)); cards.add(new SetCardInfo("Gallant Pie-Wielder", 15, Rarity.UNCOMMON, mage.cards.g.GallantPieWielder.class));