[ONE] Implement Magmatic Sprinter

This commit is contained in:
theelk801 2023-01-29 15:17:56 -05:00
parent 34379e6680
commit da37efdf3c
2 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,64 @@
package mage.cards.m;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.effects.common.DoUnlessControllerPaysEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MagmaticSprinter extends CardImpl {
public MagmaticSprinter(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.PHYREXIAN);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Haste
this.addAbility(HasteAbility.getInstance());
// When Magmatic Sprinter enters the battlefield, put two oil counters on target artifact or creature you control.
Ability ability = new EntersBattlefieldTriggeredAbility(
new AddCountersTargetEffect(CounterType.OIL.createInstance(2))
);
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_OR_CREATURE));
this.addAbility(ability);
// At the beginning of your end step, return Magmatic Sprinter to its owner's hand unless you remove two oil counters from it.
this.addAbility(new BeginningOfEndStepTriggeredAbility(
new DoUnlessControllerPaysEffect(
new ReturnToHandSourceEffect(true),
new RemoveCountersSourceCost(CounterType.OIL.createInstance(2))
).setText("return {this} to its owner's hand unless you remove two oil counters from it"),
TargetController.YOU, false
));
}
private MagmaticSprinter(final MagmaticSprinter card) {
super(card);
}
@Override
public MagmaticSprinter copy() {
return new MagmaticSprinter(this);
}
}

View file

@ -110,6 +110,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
cards.add(new SetCardInfo("Kuldotha Cackler", 139, Rarity.COMMON, mage.cards.k.KuldothaCackler.class));
cards.add(new SetCardInfo("Lattice-Blade Mantis", 173, Rarity.COMMON, mage.cards.l.LatticeBladeMantis.class));
cards.add(new SetCardInfo("Leonin Lightbringer", 20, Rarity.COMMON, mage.cards.l.LeoninLightbringer.class));
cards.add(new SetCardInfo("Magmatic Sprinter", 140, Rarity.UNCOMMON, mage.cards.m.MagmaticSprinter.class));
cards.add(new SetCardInfo("Malcator's Watcher", 58, Rarity.COMMON, mage.cards.m.MalcatorsWatcher.class));
cards.add(new SetCardInfo("Malcator, Purity Overseer", 208, Rarity.RARE, mage.cards.m.MalcatorPurityOverseer.class));
cards.add(new SetCardInfo("Mandible Justiciar", 21, Rarity.COMMON, mage.cards.m.MandibleJusticiar.class));