From be84dbaa0f9c008db7b51604c1a0d6d1dd5c464e Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 13 Aug 2024 11:45:27 -0400 Subject: [PATCH] [YMID] Implement Toralf's Disciple --- .../src/mage/cards/t/ToralfsDisciple.java | 49 +++++++++++++++++++ Mage.Sets/src/mage/sets/AlchemyInnistrad.java | 1 + Mage.Sets/src/mage/sets/MysteryBooster2.java | 1 + .../effects/common/ConjureCardEffect.java | 1 + 4 files changed, 52 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/ToralfsDisciple.java diff --git a/Mage.Sets/src/mage/cards/t/ToralfsDisciple.java b/Mage.Sets/src/mage/cards/t/ToralfsDisciple.java new file mode 100644 index 00000000000..4abd1881537 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/ToralfsDisciple.java @@ -0,0 +1,49 @@ +package mage.cards.t; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.ConjureCardEffect; +import mage.abilities.effects.common.ShuffleLibrarySourceEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ToralfsDisciple extends CardImpl { + + public ToralfsDisciple(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // Whenever Toralf's Disciple attacks, conjure four cards named Lightning Bolt into your library, then shuffle. + Ability ability = new AttacksTriggeredAbility(new ConjureCardEffect( + "Lightning Bolt", Zone.LIBRARY, 4 + )); + ability.addEffect(new ShuffleLibrarySourceEffect().setText(", then shuffle")); + this.addAbility(ability); + } + + private ToralfsDisciple(final ToralfsDisciple card) { + super(card); + } + + @Override + public ToralfsDisciple copy() { + return new ToralfsDisciple(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AlchemyInnistrad.java b/Mage.Sets/src/mage/sets/AlchemyInnistrad.java index c0d36a9114d..e3029577041 100644 --- a/Mage.Sets/src/mage/sets/AlchemyInnistrad.java +++ b/Mage.Sets/src/mage/sets/AlchemyInnistrad.java @@ -32,5 +32,6 @@ public final class AlchemyInnistrad extends ExpansionSet { cards.add(new SetCardInfo("Soulstealer Axe", 60, Rarity.UNCOMMON, mage.cards.s.SoulstealerAxe.class)); cards.add(new SetCardInfo("Suntail Squadron", 11, Rarity.RARE, mage.cards.s.SuntailSquadron.class)); cards.add(new SetCardInfo("Tireless Angler", 23, Rarity.RARE, mage.cards.t.TirelessAngler.class)); + cards.add(new SetCardInfo("Toralf's Disciple", 44, Rarity.RARE, mage.cards.t.ToralfsDisciple.class)); } } diff --git a/Mage.Sets/src/mage/sets/MysteryBooster2.java b/Mage.Sets/src/mage/sets/MysteryBooster2.java index b768441ffc4..4ea3784639f 100644 --- a/Mage.Sets/src/mage/sets/MysteryBooster2.java +++ b/Mage.Sets/src/mage/sets/MysteryBooster2.java @@ -249,6 +249,7 @@ public class MysteryBooster2 extends ExpansionSet { cards.add(new SetCardInfo("Tinder Wall", 215, Rarity.COMMON, mage.cards.t.TinderWall.class)); cards.add(new SetCardInfo("Tinker", 176, Rarity.UNCOMMON, mage.cards.t.Tinker.class)); cards.add(new SetCardInfo("Titania, Protector of Argoth", 249, Rarity.MYTHIC, mage.cards.t.TitaniaProtectorOfArgoth.class)); + cards.add(new SetCardInfo("Toralf's Disciple", 261, Rarity.UNCOMMON, mage.cards.t.ToralfsDisciple.class)); cards.add(new SetCardInfo("Tormod's Crypt", 235, Rarity.UNCOMMON, mage.cards.t.TormodsCrypt.class)); cards.add(new SetCardInfo("Torpor Orb", 236, Rarity.RARE, mage.cards.t.TorporOrb.class)); cards.add(new SetCardInfo("Tower of the Magistrate", 242, Rarity.RARE, mage.cards.t.TowerOfTheMagistrate.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/ConjureCardEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ConjureCardEffect.java index a21fecfd441..67fbca016af 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ConjureCardEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ConjureCardEffect.java @@ -88,6 +88,7 @@ public class ConjureCardEffect extends OneShotEffect { switch (zone) { case HAND: case GRAVEYARD: + case LIBRARY: sb.append("into your"); break; case BATTLEFIELD: