From a5651339f9e64472bd9013af942d904bc11d96c4 Mon Sep 17 00:00:00 2001 From: Muz Date: Thu, 22 Jan 2026 16:39:15 -0600 Subject: [PATCH] [TMT] Implement Improvised Arsenal (#14290) * [TMT] Implement Improvised Arsenal * Use ArtifactYouControlCount over PermanentsOnBattlefieldCount --- .../src/mage/cards/i/ImprovisedArsenal.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/i/ImprovisedArsenal.java diff --git a/Mage.Sets/src/mage/cards/i/ImprovisedArsenal.java b/Mage.Sets/src/mage/cards/i/ImprovisedArsenal.java new file mode 100644 index 00000000000..185a6e9518f --- /dev/null +++ b/Mage.Sets/src/mage/cards/i/ImprovisedArsenal.java @@ -0,0 +1,52 @@ +package mage.cards.i; + +import java.util.UUID; +import mage.constants.SubType; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.ArtifactYouControlCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.CreateTokenCopySourceEffect; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.hint.common.ArtifactYouControlHint; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; + +/** + * + * @author muz + */ +public final class ImprovisedArsenal extends CardImpl { + + public ImprovisedArsenal(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{R}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +1/+0 for each artifact you control. + this.addAbility(new SimpleStaticAbility( + new BoostEquippedEffect(ArtifactYouControlCount.instance, StaticValue.get(0)) + ).addHint(ArtifactYouControlHint.instance)); + + // {4}{R}: Create a token that's a copy of this Equipment. + this.addAbility(new SimpleActivatedAbility( + new CreateTokenCopySourceEffect(), new ManaCostsImpl<>("{4}{R}") + )); + + // Equip {R} + this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{R}"), false)); + } + + private ImprovisedArsenal(final ImprovisedArsenal card) { + super(card); + } + + @Override + public ImprovisedArsenal copy() { + return new ImprovisedArsenal(this); + } +}