From 2e5d0b76e8afc1ac5c1748f470596b1bd62237be Mon Sep 17 00:00:00 2001 From: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com> Date: Wed, 21 Feb 2024 03:19:24 +0000 Subject: [PATCH] [MKC] Implement Copy Catchers --- Mage.Sets/src/mage/cards/c/CopyCatchers.java | 44 +++++++++++++++++++ .../sets/MurdersAtKarlovManorCommander.java | 1 + 2 files changed, 45 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CopyCatchers.java diff --git a/Mage.Sets/src/mage/cards/c/CopyCatchers.java b/Mage.Sets/src/mage/cards/c/CopyCatchers.java new file mode 100644 index 00000000000..81025973da4 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CopyCatchers.java @@ -0,0 +1,44 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.SurveilTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.CreateTokenCopySourceEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author PurpleCrowbar + */ +public final class CopyCatchers extends CardImpl { + + public CopyCatchers(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + this.subtype.add(SubType.FAERIE); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever you surveil, you may pay {1}{U}. If you do, create a token that’s a copy of Copy Catchers. + this.addAbility(new SurveilTriggeredAbility(new DoIfCostPaid( + new CreateTokenCopySourceEffect(), new ManaCostsImpl<>("{1}{U}") + ))); + } + + private CopyCatchers(final CopyCatchers card) { + super(card); + } + + @Override + public CopyCatchers copy() { + return new CopyCatchers(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java b/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java index 2c891ffbc15..8018492d5f9 100644 --- a/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java +++ b/Mage.Sets/src/mage/sets/MurdersAtKarlovManorCommander.java @@ -60,6 +60,7 @@ public final class MurdersAtKarlovManorCommander extends ExpansionSet { cards.add(new SetCardInfo("Confirm Suspicions", 97, Rarity.RARE, mage.cards.c.ConfirmSuspicions.class)); cards.add(new SetCardInfo("Connive // Concoct", 203, Rarity.RARE, mage.cards.c.ConniveConcoct.class)); cards.add(new SetCardInfo("Consider", 98, Rarity.COMMON, mage.cards.c.Consider.class)); + cards.add(new SetCardInfo("Copy Catchers", 20, Rarity.RARE, mage.cards.c.CopyCatchers.class)); cards.add(new SetCardInfo("Curate", 99, Rarity.COMMON, mage.cards.c.Curate.class)); cards.add(new SetCardInfo("Curse of Opulence", 150, Rarity.UNCOMMON, mage.cards.c.CurseOfOpulence.class)); cards.add(new SetCardInfo("Darien, King of Kjeldor", 59, Rarity.RARE, mage.cards.d.DarienKingOfKjeldor.class));