[SPM] Implement Rocket-Powered Goblin Glider

This commit is contained in:
theelk801 2025-09-03 10:27:05 -04:00
parent 28174827df
commit f5c3d01d70
2 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,59 @@
package mage.cards.r;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAttachToTarget;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CastFromGraveyardSourceCondition;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.MayhemAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RocketPoweredGoblinGlider extends CardImpl {
public RocketPoweredGoblinGlider(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
this.subtype.add(SubType.EQUIPMENT);
// When this Equipment enters, if it was cast from your graveyard, attach it to target creature you control.
this.addAbility(new EntersBattlefieldAttachToTarget().withInterveningIf(CastFromGraveyardSourceCondition.instance));
// Equipped creature gets +2/+0 and has flying and haste.
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 0));
ability.addEffect(new GainAbilityAttachedEffect(
FlyingAbility.getInstance(), AttachmentType.EQUIPMENT
).setText("and has flying"));
ability.addEffect(new GainAbilityAttachedEffect(
HasteAbility.getInstance(), AttachmentType.EQUIPMENT
).setText("and haste"));
this.addAbility(ability);
// Equip {2}
this.addAbility(new EquipAbility(2));
// Mayhem {2}
this.addAbility(new MayhemAbility(this, "{2}"));
}
private RocketPoweredGoblinGlider(final RocketPoweredGoblinGlider card) {
super(card);
}
@Override
public RocketPoweredGoblinGlider copy() {
return new RocketPoweredGoblinGlider(this);
}
}

View file

@ -121,6 +121,7 @@ public final class MarvelsSpiderMan extends ExpansionSet {
cards.add(new SetCardInfo("Rent Is Due", 247, Rarity.RARE, mage.cards.r.RentIsDue.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Rhino, Barreling Brute", 140, Rarity.UNCOMMON, mage.cards.r.RhinoBarrelingBrute.class));
cards.add(new SetCardInfo("Risky Research", 62, Rarity.COMMON, mage.cards.r.RiskyResearch.class));
cards.add(new SetCardInfo("Rocket-Powered Goblin Glider", 172, Rarity.RARE, mage.cards.r.RocketPoweredGoblinGlider.class));
cards.add(new SetCardInfo("Romantic Rendezvous", 86, Rarity.COMMON, mage.cards.r.RomanticRendezvous.class));
cards.add(new SetCardInfo("Sandman, Shifting Scoundrel", 112, Rarity.RARE, mage.cards.s.SandmanShiftingScoundrel.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Sandman, Shifting Scoundrel", 266, Rarity.RARE, mage.cards.s.SandmanShiftingScoundrel.class, NON_FULL_USE_VARIOUS));