From 53d40587ff637df80b4142928ed5e47f4f5d0c04 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 3 Sep 2020 13:38:59 -0400 Subject: [PATCH] [ZNR] Implemented Cascade Seer --- Mage.Sets/src/mage/cards/c/CascadeSeer.java | 71 +++++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + 2 files changed, 72 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CascadeSeer.java diff --git a/Mage.Sets/src/mage/cards/c/CascadeSeer.java b/Mage.Sets/src/mage/cards/c/CascadeSeer.java new file mode 100644 index 00000000000..d3e48215d5c --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CascadeSeer.java @@ -0,0 +1,71 @@ +package mage.cards.c; + +import java.util.UUID; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.PartyCount; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.hint.common.PartyCountHint; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.Game; +import mage.players.Player; + +/** + * @author TheElk801 + */ +public final class CascadeSeer extends CardImpl { + + public CascadeSeer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); + + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Cascade Seer enters the battlefield, scry X, where X is the number of creatures in your party. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CascadeSeerEffect()).addHint(PartyCountHint.instance)); + } + + private CascadeSeer(final CascadeSeer card) { + super(card); + } + + @Override + public CascadeSeer copy() { + return new CascadeSeer(this); + } +} + +class CascadeSeerEffect extends OneShotEffect { + + CascadeSeerEffect() { + super(Outcome.Benefit); + staticText = "scry X, where X is the number of creatures in your party"; + } + + private CascadeSeerEffect(final CascadeSeerEffect effect) { + super(effect); + } + + @Override + public CascadeSeerEffect copy() { + return new CascadeSeerEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player == null) { + return false; + } + int partyCount = PartyCount.instance.calculate(game, source, this); + return partyCount > 0 && player.scry(partyCount, source, game); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index a7a2de81949..461e07c9597 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -92,6 +92,7 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Boulderloft Pathway", 258, Rarity.RARE, mage.cards.b.BoulderloftPathway.class)); cards.add(new SetCardInfo("Branchloft Pathway", 258, Rarity.RARE, mage.cards.b.BranchloftPathway.class)); cards.add(new SetCardInfo("Brightclimb Pathway", 259, Rarity.RARE, mage.cards.b.BrightclimbPathway.class)); + cards.add(new SetCardInfo("Cascade Seer", 48, Rarity.COMMON, mage.cards.c.CascadeSeer.class)); cards.add(new SetCardInfo("Clearwater Pathway", 260, Rarity.RARE, mage.cards.c.ClearwaterPathway.class)); cards.add(new SetCardInfo("Cleric of Life's Bond", 222, Rarity.UNCOMMON, mage.cards.c.ClericOfLifesBond.class)); cards.add(new SetCardInfo("Cliffhaven Sell-Sword", 8, Rarity.COMMON, mage.cards.c.CliffhavenSellSword.class));