[SPM] implement Passenger Ferry

This commit is contained in:
jmlundeen 2025-09-04 07:57:11 -05:00
parent 0df165604b
commit c952311df0
3 changed files with 65 additions and 2 deletions

View file

@ -0,0 +1,64 @@
package mage.cards.p;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DoWhenCostPaid;
import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
import mage.abilities.keyword.CrewAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author Jmlundeen
*/
public final class PassengerFerry extends CardImpl {
static final FilterAttackingCreature filter = new FilterAttackingCreature("another target attacking creature");
static {
filter.add(AnotherPredicate.instance);
}
public PassengerFerry(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
this.subtype.add(SubType.VEHICLE);
this.power = new MageInt(4);
this.toughness = new MageInt(3);
// Whenever this Vehicle attacks, you may pay {U}. When you do, another target attacking creature can't be blocked this turn.
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(
new CantBeBlockedTargetEffect(), false
);
ability.addTarget(new TargetPermanent(filter));
Ability triggeredAbility = new AttacksTriggeredAbility(
new DoWhenCostPaid(ability, new ManaCostsImpl<>("{U}"),
"Make another attacking creature unblockable this turn?"), false);
this.addAbility(triggeredAbility);
// Crew 2
this.addAbility(new CrewAbility(2));
}
private PassengerFerry(final PassengerFerry card) {
super(card);
}
@Override
public PassengerFerry copy() {
return new PassengerFerry(this);
}
}

View file

@ -136,6 +136,7 @@ public final class MarvelsSpiderMan extends ExpansionSet {
cards.add(new SetCardInfo("Oscorp Research Team", 40, Rarity.COMMON, mage.cards.o.OscorpResearchTeam.class));
cards.add(new SetCardInfo("Parker Luck", 258, Rarity.RARE, mage.cards.p.ParkerLuck.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Parker Luck", 60, Rarity.RARE, mage.cards.p.ParkerLuck.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Passenger Ferry", 170, Rarity.COMMON, mage.cards.p.PassengerFerry.class));
cards.add(new SetCardInfo("Peter Parker", 10, Rarity.MYTHIC, mage.cards.p.PeterParker.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Peter Parker", 208, Rarity.MYTHIC, mage.cards.p.PeterParker.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Peter Parker", 232, Rarity.MYTHIC, mage.cards.p.PeterParker.class, NON_FULL_USE_VARIOUS));

View file

@ -8,8 +8,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.util.CardUtil;
import java.util.Locale;
/**
* @author TheElk801
*/