From 5a94341e24e8d65e942f67fc08b2cd1e9021e4a2 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 9 Apr 2024 15:02:31 -0400 Subject: [PATCH] [OTC] Implement Acquired Mutation --- .../src/mage/cards/a/AcquiredMutation.java | 57 +++++++++++++++++++ Mage.Sets/src/mage/sets/Fallout.java | 1 + 2 files changed, 58 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/AcquiredMutation.java diff --git a/Mage.Sets/src/mage/cards/a/AcquiredMutation.java b/Mage.Sets/src/mage/cards/a/AcquiredMutation.java new file mode 100644 index 00000000000..7afa6356dff --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AcquiredMutation.java @@ -0,0 +1,57 @@ +package mage.cards.a; + +import mage.abilities.Ability; +import mage.abilities.common.AttacksAttachedTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.combat.GoadAttachedEffect; +import mage.abilities.effects.common.continuous.BoostEnchantedEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.counters.CounterType; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AcquiredMutation extends CardImpl { + + public AcquiredMutation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.addAbility(new EnchantAbility(auraTarget)); + + // Enchanted creature gets +2/+2 and is goaded. + Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2)); + ability.addEffect(new GoadAttachedEffect()); + this.addAbility(ability); + + // Whenever enchanted creature attacks, defending player gets two rad counters. + this.addAbility(new AttacksAttachedTriggeredAbility( + new AddCountersTargetEffect(CounterType.RAD.createInstance(2)) + .setText("defending player gets two rad counters"), + AttachmentType.AURA, false, SetTargetPointer.PLAYER + )); + } + + private AcquiredMutation(final AcquiredMutation card) { + super(card); + } + + @Override + public AcquiredMutation copy() { + return new AcquiredMutation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Fallout.java b/Mage.Sets/src/mage/sets/Fallout.java index bc8e91beaa3..8d72f943307 100644 --- a/Mage.Sets/src/mage/sets/Fallout.java +++ b/Mage.Sets/src/mage/sets/Fallout.java @@ -24,6 +24,7 @@ public final class Fallout extends ExpansionSet { super("Fallout", "PIP", ExpansionSet.buildDate(2024, 3, 8), SetType.SUPPLEMENTAL); cards.add(new SetCardInfo("Abundant Growth", 194, Rarity.COMMON, mage.cards.a.AbundantGrowth.class)); + cards.add(new SetCardInfo("Acquired Mutation", 53, Rarity.UNCOMMON, mage.cards.a.AcquiredMutation.class)); cards.add(new SetCardInfo("Agent Frank Horrigan", 89, Rarity.RARE, mage.cards.a.AgentFrankHorrigan.class)); cards.add(new SetCardInfo("All That Glitters", 155, Rarity.COMMON, mage.cards.a.AllThatGlitters.class)); cards.add(new SetCardInfo("Almost Perfect", 90, Rarity.RARE, mage.cards.a.AlmostPerfect.class));