From 19ac1c74bf2e46a1c847003e5823df423d61f4b7 Mon Sep 17 00:00:00 2001 From: Muz Ali Date: Tue, 7 Apr 2026 20:09:02 -0500 Subject: [PATCH] [SOS] Implement Essenceknit Scholar --- .../src/mage/cards/e/EssenceknitScholar.java | 52 +++++++++++++++++++ .../mage/cards/l/LluwenExchangeStudent.java | 2 +- .../src/mage/sets/SecretsOfStrixhaven.java | 1 + Utils/mtg-cards-data.txt | 1 + 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/e/EssenceknitScholar.java diff --git a/Mage.Sets/src/mage/cards/e/EssenceknitScholar.java b/Mage.Sets/src/mage/cards/e/EssenceknitScholar.java new file mode 100644 index 000000000000..d98782368ce5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EssenceknitScholar.java @@ -0,0 +1,52 @@ +package mage.cards.e; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.CreatureDiedControlledCondition; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.game.permanent.token.PestBlackGreenAttacksToken; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author muz + */ +public final class EssenceknitScholar extends CardImpl { + + public EssenceknitScholar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B/G}{G}"); + + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.WARLOCK); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // When this creature enters, create a 1/1 black and green Pest creature token with "Whenever this token attacks, you gain 1 life." + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new PestBlackGreenAttacksToken()))); + + // At the beginning of your end step, if a creature died under your control this turn, draw a card. + this.addAbility(new BeginningOfEndStepTriggeredAbility( + TargetController.YOU, + new DrawCardSourceControllerEffect(1), + false, + CreatureDiedControlledCondition.instance + ).addHint(CreatureDiedControlledCondition.getHint())); + + } + + private EssenceknitScholar(final EssenceknitScholar card) { + super(card); + } + + @Override + public EssenceknitScholar copy() { + return new EssenceknitScholar(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LluwenExchangeStudent.java b/Mage.Sets/src/mage/cards/l/LluwenExchangeStudent.java index d8eb3fa58021..5ccc2c37a4c0 100644 --- a/Mage.Sets/src/mage/cards/l/LluwenExchangeStudent.java +++ b/Mage.Sets/src/mage/cards/l/LluwenExchangeStudent.java @@ -42,7 +42,7 @@ public LluwenExchangeStudent(UUID ownerId, CardSetInfo setInfo) { // Pest Friend // Sorcery {B/G} - // Create a 1/1 black and green Pest creature token with "Whenever ths creature attacks, you gain 1 life." + // Create a 1/1 black and green Pest creature token with "Whenever this creature attacks, you gain 1 life." this.getSpellCard().getSpellAbility().addEffect(new CreateTokenEffect(new PestBlackGreenAttacksToken())); } diff --git a/Mage.Sets/src/mage/sets/SecretsOfStrixhaven.java b/Mage.Sets/src/mage/sets/SecretsOfStrixhaven.java index e0937a12a8fc..b32e14bba310 100644 --- a/Mage.Sets/src/mage/sets/SecretsOfStrixhaven.java +++ b/Mage.Sets/src/mage/sets/SecretsOfStrixhaven.java @@ -58,6 +58,7 @@ private SecretsOfStrixhaven() { cards.add(new SetCardInfo("Emeritus of Ideation", 45, Rarity.MYTHIC, mage.cards.e.EmeritusOfIdeation.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Erode", 15, Rarity.RARE, mage.cards.e.Erode.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Erode", 310, Rarity.RARE, mage.cards.e.Erode.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Essenceknit Scholar", 167, Rarity.UNCOMMON, mage.cards.e.EssenceknitScholar.class)); cards.add(new SetCardInfo("Exhibition Tidecaller", 316, Rarity.RARE, mage.cards.e.ExhibitionTidecaller.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Exhibition Tidecaller", 48, Rarity.RARE, mage.cards.e.ExhibitionTidecaller.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Expressive Firedancer", 114, Rarity.COMMON, mage.cards.e.ExpressiveFiredancer.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index e504246a33cd..9e76d7b4a97f 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -62036,6 +62036,7 @@ Lumaret's Favor|Secrets of Strixhaven|153|U|{1}{G}|Instant|||Infusion -- When yo Oracle's Restoration|Secrets of Strixhaven|156|C|{G}|Sorcery|||Target creature you control gets +1/+1 until end of turn. You draw a card and gain 1 life.| Planar Engineering|Secrets of Strixhaven|158|R|{3}{G}|Sorcery|||Sacrifice two lands. Search your library for four basic land cards, put them onto the battlefield tapped, then shuffle.| Studious First-Year|Secrets of Strixhaven|162|C|{G}|Creature - Bear Wizard|1|1|This creature enters prepared.$Rampant Growth$Sorcery {1}{G}$Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle.| +Essenceknit Scholar|Secrets of Strixhaven|167|U|{B}{B/G}{G}|Creature - Dryad Warlock|3|1|When this creature enters, create a 1/1 black and green Pest creature token with "Whenever this token attacks, you gain 1 life."$At the beginning of your end step, if a creature died under your control this turn, draw a card.| Abigale, Poet Laureate|Secrets of Strixhaven|170|U|{1}{W}{B}|Legendary Creature - Bird Bard|2|3|Flying$Whenever you cast a creature spell, Abigale becomes prepared.$Heroic Stanza$Sorcery {1}{W/B}$Put a +1/+1 counter on target creature.| Ark of Hunger|Secrets of Strixhaven|173|R|{2}{R}{W}|Artifact|||Whenever one or more cards leave your graveyard, this artifact deals 1 damage to each opponent and you gain 1 life.${T}: Mill a card. You may play that card this turn.| Aziza, Mage Tower Captain|Secrets of Strixhaven|174|R|{R}{W}|Legendary Creature - Djinn Sorcerer|2|2|Whenever you cast an instant or sorcery spell, you may tap three untapped creatures you control. If you do, copy that spell. You may choose new targets for the copy.|