[SPM] Implement Damage Control Crew

This commit is contained in:
theelk801 2025-09-03 14:21:25 -04:00
parent edad932077
commit e26c094b26
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,62 @@
package mage.cards.d;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class DamageControlCrew extends CardImpl {
private static final FilterCard filter = new FilterCard("card with mana value 4 or greater from your graveyard");
static {
filter.add(new ManaValuePredicate(ComparisonType.MORE_THAN, 3));
}
public DamageControlCrew(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.CITIZEN);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// When this creature enters, choose one --
// * Repair -- Return target card with mana value 4 or greater from your graveyard to your hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect());
ability.addTarget(new TargetCardInYourGraveyard(filter));
ability.withFirstModeFlavorWord("Repair");
// * Impound -- Exile target artifact or enchantment.
ability.addMode(new Mode(new ExileTargetEffect())
.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT))
.withFlavorWord("Impound"));
this.addAbility(ability);
}
private DamageControlCrew(final DamageControlCrew card) {
super(card);
}
@Override
public DamageControlCrew copy() {
return new DamageControlCrew(this);
}
}

View file

@ -44,6 +44,7 @@ public final class MarvelsSpiderMan extends ExpansionSet {
cards.add(new SetCardInfo("Costume Closet", 5, Rarity.UNCOMMON, mage.cards.c.CostumeCloset.class));
cards.add(new SetCardInfo("Daily Bugle Building", 179, Rarity.UNCOMMON, mage.cards.d.DailyBugleBuilding.class));
cards.add(new SetCardInfo("Daily Bugle Reporters", 6, Rarity.COMMON, mage.cards.d.DailyBugleReporters.class));
cards.add(new SetCardInfo("Damage Control Crew", 99, Rarity.UNCOMMON, mage.cards.d.DamageControlCrew.class));
cards.add(new SetCardInfo("Doc Ock's Henchmen", 30, Rarity.COMMON, mage.cards.d.DocOcksHenchmen.class));
cards.add(new SetCardInfo("Doc Ock, Sinister Scientist", 29, Rarity.COMMON, mage.cards.d.DocOckSinisterScientist.class));
cards.add(new SetCardInfo("Doctor Octopus, Master Planner", 128, Rarity.MYTHIC, mage.cards.d.DoctorOctopusMasterPlanner.class, NON_FULL_USE_VARIOUS));