From 8d6a9896bb8c6dafc02507e95886baf4f373758b Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 27 Mar 2024 08:48:08 -0400 Subject: [PATCH] [OTJ] Implement Armored Armadillo --- .../src/mage/cards/a/ArmoredArmadillo.java | 47 +++++++++++++++++++ .../mage/sets/OutlawsOfThunderJunction.java | 1 + .../src/main/java/mage/constants/SubType.java | 3 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/a/ArmoredArmadillo.java diff --git a/Mage.Sets/src/mage/cards/a/ArmoredArmadillo.java b/Mage.Sets/src/mage/cards/a/ArmoredArmadillo.java new file mode 100644 index 00000000000..7fee71e977e --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArmoredArmadillo.java @@ -0,0 +1,47 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.SourcePermanentToughnessValue; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.WardAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ArmoredArmadillo extends CardImpl { + + public ArmoredArmadillo(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); + + this.subtype.add(SubType.ARMADILLO); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Ward {1} + this.addAbility(new WardAbility(new ManaCostsImpl<>("{1}"))); + + // {3}{W}: Armored Armadillo gets +X/+0 until end of turn, where X is its toughness. + this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect( + SourcePermanentToughnessValue.getInstance(), StaticValue.get(0), Duration.EndOfTurn + ), new ManaCostsImpl<>("{3}{W}"))); + } + + private ArmoredArmadillo(final ArmoredArmadillo card) { + super(card); + } + + @Override + public ArmoredArmadillo copy() { + return new ArmoredArmadillo(this); + } +} diff --git a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java index b20257b0bbf..207131de27d 100644 --- a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java +++ b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java @@ -26,6 +26,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet { this.hasBoosters = false; // temporary cards.add(new SetCardInfo("Abraded Bluffs", 251, Rarity.COMMON, mage.cards.a.AbradedBluffs.class)); + cards.add(new SetCardInfo("Armored Armadillo", 3, Rarity.COMMON, mage.cards.a.ArmoredArmadillo.class)); cards.add(new SetCardInfo("Blooming Marsh", 266, Rarity.RARE, mage.cards.b.BloomingMarsh.class)); cards.add(new SetCardInfo("Botanical Sanctum", 267, Rarity.RARE, mage.cards.b.BotanicalSanctum.class)); cards.add(new SetCardInfo("Bristling Backwoods", 253, Rarity.COMMON, mage.cards.b.BristlingBackwoods.class)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 488c659a2db..be26c7cd3b2 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -76,8 +76,9 @@ public enum SubType { ARCONA("Arcona", SubTypeSet.CreatureType, true), ARCHER("Archer", SubTypeSet.CreatureType), ARCHON("Archon", SubTypeSet.CreatureType), - ARTIFICER("Artificer", SubTypeSet.CreatureType), + ARMADILLO("Armadillo", SubTypeSet.CreatureType), ARMY("Army", SubTypeSet.CreatureType), + ARTIFICER("Artificer", SubTypeSet.CreatureType), ASSASSIN("Assassin", SubTypeSet.CreatureType), ASSEMBLY_WORKER("Assembly-Worker", SubTypeSet.CreatureType), ASTARTES("Astartes", SubTypeSet.CreatureType),