mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[TMC] Implement Splinter, the Mentor
This commit is contained in:
parent
60addceff9
commit
41c5076755
4 changed files with 99 additions and 0 deletions
57
Mage.Sets/src/mage/cards/s/SplinterTheMentor.java
Normal file
57
Mage.Sets/src/mage/cards/s/SplinterTheMentor.java
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.LeavesBattlefieldAllTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.keyword.MenaceAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.PartnerVariantType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.FilterPermanentThisOrAnother;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.MutagenToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SplinterTheMentor extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterPermanentThisOrAnother(
|
||||
StaticFilters.FILTER_CONTROLLED_CREATURE_NON_TOKEN, false
|
||||
);
|
||||
|
||||
public SplinterTheMentor(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.MUTANT);
|
||||
this.subtype.add(SubType.NINJA);
|
||||
this.subtype.add(SubType.RAT);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
|
||||
// Whenever Splinter or another nontoken creature you control leaves the battlefield, create a Mutagen token.
|
||||
this.addAbility(new LeavesBattlefieldAllTriggeredAbility(new CreateTokenEffect(new MutagenToken()), filter));
|
||||
|
||||
// Partner--Character select
|
||||
this.addAbility(PartnerVariantType.CHARACTER_SELECT.makeAbility());
|
||||
}
|
||||
|
||||
private SplinterTheMentor(final SplinterTheMentor card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SplinterTheMentor copy() {
|
||||
return new SplinterTheMentor(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,5 +22,6 @@ public final class TeenageMutantNinjaTurtlesEternal extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Dark Ritual", 131, Rarity.MYTHIC, mage.cards.d.DarkRitual.class));
|
||||
cards.add(new SetCardInfo("Donatello, Rad Scientist", 109, Rarity.MYTHIC, mage.cards.d.DonatelloRadScientist.class));
|
||||
cards.add(new SetCardInfo("Leonardo, the Balance", 1, Rarity.MYTHIC, mage.cards.l.LeonardoTheBalance.class));
|
||||
cards.add(new SetCardInfo("Splinter, the Mentor", 3, Rarity.MYTHIC, mage.cards.s.SplinterTheMentor.class));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public enum SubType {
|
|||
JUNK("Junk", SubTypeSet.ArtifactType),
|
||||
LANDER("Lander", SubTypeSet.ArtifactType),
|
||||
MAP("Map", SubTypeSet.ArtifactType),
|
||||
MUTAGEN("Mutagen", SubTypeSet.ArtifactType),
|
||||
POWERSTONE("Powerstone", SubTypeSet.ArtifactType),
|
||||
SPACECRAFT("Spacecraft", SubTypeSet.ArtifactType),
|
||||
TREASURE("Treasure", SubTypeSet.ArtifactType),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class MutagenToken extends TokenImpl {
|
||||
|
||||
public MutagenToken() {
|
||||
super("Mutagen Token", "Mutagen token");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
subtype.add(SubType.MUTAGEN);
|
||||
|
||||
Ability ability = new ActivateAsSorceryActivatedAbility(
|
||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(1)
|
||||
);
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost().setText("sacrifice this token"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private MutagenToken(final MutagenToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public MutagenToken copy() {
|
||||
return new MutagenToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue