From f3ed594715a5c70a72a22e268e6a33e8cd72b7de Mon Sep 17 00:00:00 2001 From: theelk801 Date: Thu, 24 Jul 2025 14:06:23 -0400 Subject: [PATCH] [SPE] Implement Rampaging Classmate --- .../src/mage/cards/r/RampagingClassmate.java | 47 +++++++++++++++++++ .../mage/sets/MarvelsSpiderManEternal.java | 1 + 2 files changed, 48 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RampagingClassmate.java diff --git a/Mage.Sets/src/mage/cards/r/RampagingClassmate.java b/Mage.Sets/src/mage/cards/r/RampagingClassmate.java new file mode 100644 index 00000000000..4f6e97b8695 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RampagingClassmate.java @@ -0,0 +1,47 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RampagingClassmate extends CardImpl { + + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(StaticFilters.FILTER_ATTACKING_CREATURE, 1); + + public RampagingClassmate(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Whenever this creature attacks, it gets +1/+0 until end of turn for each other attacking creature. + this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect( + xValue, StaticValue.get(0), Duration.EndOfTurn, "it" + ))); + } + + private RampagingClassmate(final RampagingClassmate card) { + super(card); + } + + @Override + public RampagingClassmate copy() { + return new RampagingClassmate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarvelsSpiderManEternal.java b/Mage.Sets/src/mage/sets/MarvelsSpiderManEternal.java index fb65b10f564..b98ea6de79c 100644 --- a/Mage.Sets/src/mage/sets/MarvelsSpiderManEternal.java +++ b/Mage.Sets/src/mage/sets/MarvelsSpiderManEternal.java @@ -35,6 +35,7 @@ public final class MarvelsSpiderManEternal extends ExpansionSet { cards.add(new SetCardInfo("MJ, Rising Star", 3, Rarity.UNCOMMON, mage.cards.m.MJRisingStar.class)); cards.add(new SetCardInfo("Prowler, Misguided Mentor", 17, Rarity.UNCOMMON, mage.cards.p.ProwlerMisguidedMentor.class)); cards.add(new SetCardInfo("Pumpkin Bombs", 26, Rarity.RARE, mage.cards.p.PumpkinBombs.class)); + cards.add(new SetCardInfo("Rampaging Classmate", 16, Rarity.COMMON, mage.cards.r.RampagingClassmate.class)); cards.add(new SetCardInfo("Sensational Spider-Man", 25, Rarity.RARE, mage.cards.s.SensationalSpiderMan.class)); cards.add(new SetCardInfo("Spider-Man, Miles Morales", 18, Rarity.MYTHIC, mage.cards.s.SpiderManMilesMorales.class)); cards.add(new SetCardInfo("Spider-Man, Peter Parker", 4, Rarity.MYTHIC, mage.cards.s.SpiderManPeterParker.class));