From f43e0a72f4f78e34fdb1d9da1ad8d2eb43437c91 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 29 Oct 2025 08:31:59 -0400 Subject: [PATCH] [TLA] Implement Azula, On the Hunt --- .../src/mage/cards/a/AzulaOnTheHunt.java | 49 +++++++++++++++++++ .../src/mage/sets/AvatarTheLastAirbender.java | 1 + 2 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java diff --git a/Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java b/Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java new file mode 100644 index 00000000000..ab9ae91c5ab --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java @@ -0,0 +1,49 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.keyword.FirebendingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.game.permanent.token.ClueArtifactToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AzulaOnTheHunt extends CardImpl { + + public AzulaOnTheHunt(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOBLE); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Firebending 2 + this.addAbility(new FirebendingAbility(2)); + + // Whenever Azula attacks, you lose 1 life and create a Clue token. + Ability ability = new AttacksTriggeredAbility(new LoseLifeSourceControllerEffect(1)); + ability.addEffect(new CreateTokenEffect(new ClueArtifactToken()).concatBy("and")); + this.addAbility(ability); + } + + private AzulaOnTheHunt(final AzulaOnTheHunt card) { + super(card); + } + + @Override + public AzulaOnTheHunt copy() { + return new AzulaOnTheHunt(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java b/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java index f3cdc7f2333..6ecc51ef58e 100644 --- a/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java +++ b/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java @@ -41,6 +41,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet { cards.add(new SetCardInfo("Avatar Aang", 363, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Avatar Enthusiasts", 11, Rarity.COMMON, mage.cards.a.AvatarEnthusiasts.class)); cards.add(new SetCardInfo("Azula Always Lies", 84, Rarity.COMMON, mage.cards.a.AzulaAlwaysLies.class)); + cards.add(new SetCardInfo("Azula, On the Hunt", 85, Rarity.UNCOMMON, mage.cards.a.AzulaOnTheHunt.class)); cards.add(new SetCardInfo("Badgermole", 166, Rarity.COMMON, mage.cards.b.Badgermole.class)); cards.add(new SetCardInfo("Barrels of Blasting Jelly", 254, Rarity.COMMON, mage.cards.b.BarrelsOfBlastingJelly.class)); cards.add(new SetCardInfo("Beetle-Headed Merchants", 86, Rarity.COMMON, mage.cards.b.BeetleHeadedMerchants.class));