[EOE] Implement Weapons Manufacturing

This commit is contained in:
theelk801 2025-07-10 18:34:51 -04:00
parent 8289e2573e
commit 9d7b8676b8
3 changed files with 73 additions and 0 deletions

View file

@ -0,0 +1,41 @@
package mage.cards.w;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.MunitionsToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class WeaponsManufacturing extends CardImpl {
private static final FilterPermanent filter = new FilterControlledArtifactPermanent("nontoken artifact you control");
static {
filter.add(TokenPredicate.FALSE);
}
public WeaponsManufacturing(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
// Whenever a nontoken artifact you control enters, create a colorless artifact token named Munitions with "When this token leaves the battlefield, it deals 2 damage to any target."
this.addAbility(new EntersBattlefieldAllTriggeredAbility(new CreateTokenEffect(new MunitionsToken()), filter));
}
private WeaponsManufacturing(final WeaponsManufacturing card) {
super(card);
}
@Override
public WeaponsManufacturing copy() {
return new WeaponsManufacturing(this);
}
}

View file

@ -202,6 +202,8 @@ public final class EdgeOfEternities extends ExpansionSet {
cards.add(new SetCardInfo("Watery Grave", 261, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Watery Grave", 286, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Watery Grave", 381, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Weapons Manufacturing", 168, Rarity.RARE, mage.cards.w.WeaponsManufacturing.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Weapons Manufacturing", 311, Rarity.RARE, mage.cards.w.WeaponsManufacturing.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Weftstalker Ardent", 169, Rarity.UNCOMMON, mage.cards.w.WeftstalkerArdent.class));
cards.add(new SetCardInfo("Wurmwall Sweeper", 249, Rarity.COMMON, mage.cards.w.WurmwallSweeper.class));

View file

@ -0,0 +1,30 @@
package mage.game.permanent.token;
import mage.abilities.Ability;
import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.constants.CardType;
import mage.target.common.TargetAnyTarget;
/**
* @author TheElk801
*/
public final class MunitionsToken extends TokenImpl {
public MunitionsToken() {
super("Munitions", "colorless artifact token named Munitions with \"When this token leaves the battlefield, it deals 2 damage to any target.\"");
cardType.add(CardType.ARTIFACT);
Ability ability = new LeavesBattlefieldTriggeredAbility(new DamageTargetEffect(2, "it"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
private MunitionsToken(final MunitionsToken token) {
super(token);
}
public MunitionsToken copy() {
return new MunitionsToken(this);
}
}