From d30cd2520a94276f53a124137beed089375d4144 Mon Sep 17 00:00:00 2001 From: Grath <1895280+Grath@users.noreply.github.com> Date: Sun, 1 Sep 2024 21:48:54 -0400 Subject: [PATCH] [BLC] Implement The Odd Acorn Gang (#12779) --- .../src/mage/cards/t/TheOddAcornGang.java | 78 +++++++++++++++++++ .../src/mage/sets/BloomburrowCommander.java | 1 + 2 files changed, 79 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TheOddAcornGang.java diff --git a/Mage.Sets/src/mage/cards/t/TheOddAcornGang.java b/Mage.Sets/src/mage/cards/t/TheOddAcornGang.java new file mode 100644 index 00000000000..2f5bd5ba214 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TheOddAcornGang.java @@ -0,0 +1,78 @@ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.DealCombatDamageControlledTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.constants.*; +import mage.abilities.keyword.MenaceAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.keyword.ReachAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.TargetPermanent; + +/** + * + * @author Grath + */ +public final class TheOddAcornGang extends CardImpl { + + public static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.SQUIRREL, "Squirrels you control"); + public static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent(SubType.SQUIRREL, "Squirrel"); + + static { + filter.add(TargetController.YOU.getControllerPredicate()); + } + + public TheOddAcornGang(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.SQUIRREL); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Menace + this.addAbility(new MenaceAbility(false)); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Reach + this.addAbility(ReachAbility.getInstance()); + + // Squirrels you control have "{T}: Target Squirrel gets +2/+2 and gains trample until end of turn. Activate only as a sorcery." + Ability ability = new ActivateAsSorceryActivatedAbility(new BoostTargetEffect(2, 2), new TapSourceCost()); + ability.addEffect( + new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains trample until end of turn") + ); + ability.addTarget(new TargetPermanent(filter2)); + this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( + ability, Duration.WhileOnBattlefield, filter + ))); + + // Whenever one or more Squirrels you control deal combat damage to a player, draw a card. + this.addAbility(new DealCombatDamageControlledTriggeredAbility(Zone.BATTLEFIELD, + new DrawCardSourceControllerEffect(1), filter, SetTargetPointer.NONE, false)); + } + + private TheOddAcornGang(final TheOddAcornGang card) { + super(card); + } + + @Override + public TheOddAcornGang copy() { + return new TheOddAcornGang(this); + } +} diff --git a/Mage.Sets/src/mage/sets/BloomburrowCommander.java b/Mage.Sets/src/mage/sets/BloomburrowCommander.java index 22d3726ac4c..eefd1c01443 100644 --- a/Mage.Sets/src/mage/sets/BloomburrowCommander.java +++ b/Mage.Sets/src/mage/sets/BloomburrowCommander.java @@ -296,6 +296,7 @@ public final class BloomburrowCommander extends ExpansionSet { cards.add(new SetCardInfo("Terramorphic Expanse", 345, Rarity.COMMON, mage.cards.t.TerramorphicExpanse.class)); cards.add(new SetCardInfo("Tetsuko Umezawa, Fugitive", 177, Rarity.UNCOMMON, mage.cards.t.TetsukoUmezawaFugitive.class)); cards.add(new SetCardInfo("The Gitrog Monster", 88, Rarity.MYTHIC, mage.cards.t.TheGitrogMonster.class)); + cards.add(new SetCardInfo("The Odd Acorn Gang", 7, Rarity.MYTHIC, mage.cards.t.TheOddAcornGang.class)); cards.add(new SetCardInfo("Thopter Engineer", 204, Rarity.UNCOMMON, mage.cards.t.ThopterEngineer.class)); cards.add(new SetCardInfo("Thought Vessel", 289, Rarity.COMMON, mage.cards.t.ThoughtVessel.class)); cards.add(new SetCardInfo("Thran Dynamo", 290, Rarity.UNCOMMON, mage.cards.t.ThranDynamo.class));