From 987d49520a4d9b57494f4098f74d3f45ea172a60 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sat, 4 Nov 2023 00:14:53 -0400 Subject: [PATCH] implement [LCI] Sage of Days --- Mage.Sets/src/mage/cards/s/SageOfDays.java | 42 +++++++++++++++++++ .../src/mage/sets/TheLostCavernsOfIxalan.java | 1 + .../LookLibraryAndPickControllerEffect.java | 2 + 3 files changed, 45 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SageOfDays.java diff --git a/Mage.Sets/src/mage/cards/s/SageOfDays.java b/Mage.Sets/src/mage/cards/s/SageOfDays.java new file mode 100644 index 00000000000..fbaead20b34 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SageOfDays.java @@ -0,0 +1,42 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PutCards; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author xenohedron + */ +public final class SageOfDays extends CardImpl { + + public SageOfDays(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Sage of Days enters the battlefield, look at the top three cards of your library. You may put one of those cards back on top of your library. Put the rest into your graveyard. + this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect( + 3, 1, PutCards.TOP_ANY, PutCards.GRAVEYARD, true + ))); + + } + + private SageOfDays(final SageOfDays card) { + super(card); + } + + @Override + public SageOfDays copy() { + return new SageOfDays(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index 4ae18728cd3..c2060f7d17d 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -199,6 +199,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("Ruin-Lurker Bat", 33, Rarity.UNCOMMON, mage.cards.r.RuinLurkerBat.class)); cards.add(new SetCardInfo("Rumbling Rockslide", 163, Rarity.COMMON, mage.cards.r.RumblingRockslide.class)); cards.add(new SetCardInfo("Runaway Boulder", 259, Rarity.COMMON, mage.cards.r.RunawayBoulder.class)); + cards.add(new SetCardInfo("Sage of Days", 73, Rarity.COMMON, mage.cards.s.SageOfDays.class)); cards.add(new SetCardInfo("Saheeli's Lattice", 164, Rarity.UNCOMMON, mage.cards.s.SaheelisLattice.class)); cards.add(new SetCardInfo("Saheeli, the Sun's Brilliance", 239, Rarity.MYTHIC, mage.cards.s.SaheeliTheSunsBrilliance.class)); cards.add(new SetCardInfo("Sanguine Evangelist", 34, Rarity.RARE, mage.cards.s.SanguineEvangelist.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java index 8a3244bfe9c..1fc2a693a34 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java @@ -201,6 +201,8 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff if (revealPickedCards) { sb.append("and put "); sb.append(plural ? "them " : "it "); + } else if (putPickedCards == PutCards.TOP_ANY) { + sb.append("back "); } sb.append(putPickedCards.getMessage(false, plural));