From 279733f6cc00611a6ba1c1b03491915722de5063 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 1 Apr 2023 09:41:11 -0400 Subject: [PATCH] [MOM] Implement Captive Weird / Compleated Conjurer --- Mage.Sets/src/mage/cards/c/CaptiveWeird.java | 45 +++++++++++++++++++ .../src/mage/cards/c/CompleatedConjurer.java | 41 +++++++++++++++++ .../src/mage/sets/MarchOfTheMachine.java | 2 + Utils/mtg-cards-data.txt | 2 +- 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/c/CaptiveWeird.java create mode 100644 Mage.Sets/src/mage/cards/c/CompleatedConjurer.java diff --git a/Mage.Sets/src/mage/cards/c/CaptiveWeird.java b/Mage.Sets/src/mage/cards/c/CaptiveWeird.java new file mode 100644 index 0000000000..80fd4e2217 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CaptiveWeird.java @@ -0,0 +1,45 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.TransformSourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.TransformAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CaptiveWeird extends CardImpl { + + public CaptiveWeird(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); + + this.subtype.add(SubType.WEIRD); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + this.secondSideCardClazz = mage.cards.c.CompleatedConjurer.class; + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // {3}{R/P}: Transform Captive Weird. Activate only as a sorcery. + this.addAbility(new TransformAbility()); + this.addAbility(new ActivateAsSorceryActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{3}{R/P}"))); + } + + private CaptiveWeird(final CaptiveWeird card) { + super(card); + } + + @Override + public CaptiveWeird copy() { + return new CaptiveWeird(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CompleatedConjurer.java b/Mage.Sets/src/mage/cards/c/CompleatedConjurer.java new file mode 100644 index 0000000000..a55613596d --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CompleatedConjurer.java @@ -0,0 +1,41 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.TransformIntoSourceTriggeredAbility; +import mage.abilities.effects.common.ExileTopXMayPlayUntilEndOfTurnEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CompleatedConjurer extends CardImpl { + + public CompleatedConjurer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.WEIRD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + this.color.setBlue(true); + this.color.setRed(true); + this.nightCard = true; + + // When this creature transforms into Compleated Conjurer, exile the top card of your library. Until the end of your next turn, you may play that card. + this.addAbility(new TransformIntoSourceTriggeredAbility(new ExileTopXMayPlayUntilEndOfTurnEffect(1))); + } + + private CompleatedConjurer(final CompleatedConjurer card) { + super(card); + } + + @Override + public CompleatedConjurer copy() { + return new CompleatedConjurer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java index 463519cd0c..8287c45a5d 100644 --- a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java +++ b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java @@ -26,10 +26,12 @@ public final class MarchOfTheMachine extends ExpansionSet { cards.add(new SetCardInfo("Bloodfell Caves", 267, Rarity.COMMON, mage.cards.b.BloodfellCaves.class)); cards.add(new SetCardInfo("Blossoming Sands", 268, Rarity.COMMON, mage.cards.b.BlossomingSands.class)); cards.add(new SetCardInfo("Boon-Bringer Valkyrie", 9, Rarity.RARE, mage.cards.b.BoonBringerValkyrie.class)); + cards.add(new SetCardInfo("Captive Weird", 49, Rarity.UNCOMMON, mage.cards.c.CaptiveWeird.class)); cards.add(new SetCardInfo("Chandra, Hope's Beacon", 134, Rarity.MYTHIC, mage.cards.c.ChandraHopesBeacon.class)); cards.add(new SetCardInfo("Change the Equation", 50, Rarity.UNCOMMON, mage.cards.c.ChangeTheEquation.class)); cards.add(new SetCardInfo("Chrome Host Hulk", 188, Rarity.UNCOMMON, mage.cards.c.ChromeHostHulk.class)); cards.add(new SetCardInfo("City on Fire", 135, Rarity.RARE, mage.cards.c.CityOnFire.class)); + cards.add(new SetCardInfo("Compleated Conjurer", 49, Rarity.UNCOMMON, mage.cards.c.CompleatedConjurer.class)); cards.add(new SetCardInfo("Copper Host Crusher", 181, Rarity.UNCOMMON, mage.cards.c.CopperHostCrusher.class)); cards.add(new SetCardInfo("Cragsmasher Yeti", 333, Rarity.COMMON, mage.cards.c.CragsmasherYeti.class)); cards.add(new SetCardInfo("Deadly Derision", 99, Rarity.COMMON, mage.cards.d.DeadlyDerision.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index e3b7a27cd7..984627a1a3 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -48096,7 +48096,7 @@ Tiller of Flesh|March of the Machine|44|U|{3}{W}|Creature - Phyrexian Knight|2|4 Zhalfirin Lancer|March of the Machine|45|U|{2}{W}|Creature - Human Knight|3|3|Whenever another Knight enters the battlefield under your control, Zhalfirin Lancer gets +1/+1 and gains vigilance until end of turn.| Astral Wingspan|March of the Machine|48|U|{4}{U}|Enchantment - Aura|||Convoke$Enchant creature$When Astral Wingspan enters the battlefield, draw a card.$Astral Wingspan gets +2/+2 and has flying.| Captive Weird|March of the Machine|49|U|{U}|Creature - Weird|1|3|Defender${3}{R/P}: Transform Captive Weird. Activate only as a sorcery.| -Completed Conjurer|March of the Machine|49|U||Creature - Phyrexian Weird|3|3|When this creature transforms into Completed Conjurer, exile the top card of your library. Until the end of your next turn, you may play that$card.| +Compleated Conjurer|March of the Machine|49|U||Creature - Phyrexian Weird|3|3|When this creature transforms into Compleated Conjurer, exile the top card of your library. Until the end of your next turn, you may play that$card.| Change the Equation|March of the Machine|50|U|{1}{U}|Instant|||Choose one --$* Counter target spell with mana value 2 or less.$* Counter target red or green spell with mana value 6 or less.| Chrome Host Seedshark|March of the Machine|51|R|{2}{U}|Creature - Phyrexian Shark|2|4|Flying$Whenever you cast a noncreature spell, incubate X, where X is that spell's mana value.| Faerie Mastermind|March of the Machine|58|R|{1}{U}|Creature - Faerie Rogue|2|1|Flash$Flying$Whenever an opponent draws their second card each turn, you draw a card.${3}{U}: Each player draws a card.|