From 48fa39256e7e8632e703b56c54bf17e7fb669243 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 31 Oct 2025 12:01:37 -0400 Subject: [PATCH] [TLA] Implement Origin of Metalbending --- .../mage/cards/o/OriginOfMetalbending.java | 49 +++++++++++++++++++ .../src/mage/sets/AvatarTheLastAirbender.java | 1 + 2 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/o/OriginOfMetalbending.java diff --git a/Mage.Sets/src/mage/cards/o/OriginOfMetalbending.java b/Mage.Sets/src/mage/cards/o/OriginOfMetalbending.java new file mode 100644 index 00000000000..9db58f9068a --- /dev/null +++ b/Mage.Sets/src/mage/cards/o/OriginOfMetalbending.java @@ -0,0 +1,49 @@ +package mage.cards.o; + +import mage.abilities.Mode; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class OriginOfMetalbending extends CardImpl { + + public OriginOfMetalbending(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); + + this.subtype.add(SubType.LESSON); + + // Choose one -- + // * Destroy target artifact or enchantment. + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); + + // * Put a +1/+1 counter on target creature you control. It gains indestructible until end of turn. + this.getSpellAbility().addMode(new Mode(new AddCountersTargetEffect(CounterType.P1P1.createInstance())) + .addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance()) + .setText("It gains indestructible until end of turn")) + .addTarget(new TargetControlledCreaturePermanent())); + } + + private OriginOfMetalbending(final OriginOfMetalbending card) { + super(card); + } + + @Override + public OriginOfMetalbending copy() { + return new OriginOfMetalbending(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java b/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java index d86f62598cd..1ed6f8ac599 100644 --- a/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java +++ b/Mage.Sets/src/mage/sets/AvatarTheLastAirbender.java @@ -137,6 +137,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet { cards.add(new SetCardInfo("Mountain", 295, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("North Pole Patrol", 65, Rarity.UNCOMMON, mage.cards.n.NorthPolePatrol.class)); cards.add(new SetCardInfo("Octopus Form", 66, Rarity.COMMON, mage.cards.o.OctopusForm.class)); + cards.add(new SetCardInfo("Origin of Metalbending", 187, Rarity.COMMON, mage.cards.o.OriginOfMetalbending.class)); cards.add(new SetCardInfo("Ostrich-Horse", 188, Rarity.COMMON, mage.cards.o.OstrichHorse.class)); cards.add(new SetCardInfo("Otter-Penguin", 67, Rarity.COMMON, mage.cards.o.OtterPenguin.class)); cards.add(new SetCardInfo("Ozai's Cruelty", 113, Rarity.UNCOMMON, mage.cards.o.OzaisCruelty.class));