From 993cc44f69d30d6b4291b2457a5964eee15cfef7 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 24 Oct 2023 20:39:08 -0400 Subject: [PATCH] [LCI] Implement Waterwind Scout --- .../src/mage/cards/w/WaterwindScout.java | 43 +++++++++++++++++++ .../src/mage/sets/TheLostCavernsOfIxalan.java | 1 + .../mage/game/permanent/token/MapToken.java | 2 +- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/w/WaterwindScout.java diff --git a/Mage.Sets/src/mage/cards/w/WaterwindScout.java b/Mage.Sets/src/mage/cards/w/WaterwindScout.java new file mode 100644 index 00000000000..92edf7f059b --- /dev/null +++ b/Mage.Sets/src/mage/cards/w/WaterwindScout.java @@ -0,0 +1,43 @@ +package mage.cards.w; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.MapToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class WaterwindScout extends CardImpl { + + public WaterwindScout(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Waterwind Scout enters the battlefield, create a Map token. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new MapToken()))); + } + + private WaterwindScout(final WaterwindScout card) { + super(card); + } + + @Override + public WaterwindScout copy() { + return new WaterwindScout(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index 3d7afb6b627..e3146fecdb7 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -50,5 +50,6 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("The Skullspore Nexus", 212, Rarity.MYTHIC, mage.cards.t.TheSkullsporeNexus.class)); cards.add(new SetCardInfo("Treasure Cove", 261, Rarity.RARE, mage.cards.t.TreasureCove.class)); cards.add(new SetCardInfo("Treasure Map", 261, Rarity.RARE, mage.cards.t.TreasureMap.class)); + cards.add(new SetCardInfo("Waterwind Scout", 84, Rarity.COMMON, mage.cards.w.WaterwindScout.class)); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/MapToken.java b/Mage/src/main/java/mage/game/permanent/token/MapToken.java index 960c36ec932..51eaa921c55 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MapToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MapToken.java @@ -26,7 +26,7 @@ public final class MapToken extends TokenImpl { new GenericManaCost(1) ); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); + ability.addCost(new SacrificeSourceCost().setText("sacrifice this artifact")); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); }