forked from External/mage
[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("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("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("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),
|
JUNK("Junk", SubTypeSet.ArtifactType),
|
||||||
LANDER("Lander", SubTypeSet.ArtifactType),
|
LANDER("Lander", SubTypeSet.ArtifactType),
|
||||||
MAP("Map", SubTypeSet.ArtifactType),
|
MAP("Map", SubTypeSet.ArtifactType),
|
||||||
|
MUTAGEN("Mutagen", SubTypeSet.ArtifactType),
|
||||||
POWERSTONE("Powerstone", SubTypeSet.ArtifactType),
|
POWERSTONE("Powerstone", SubTypeSet.ArtifactType),
|
||||||
SPACECRAFT("Spacecraft", SubTypeSet.ArtifactType),
|
SPACECRAFT("Spacecraft", SubTypeSet.ArtifactType),
|
||||||
TREASURE("Treasure", 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