mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[TMT] Implement Dark Leo and Shredder
This commit is contained in:
parent
6f1afc88ae
commit
3c55e1006d
3 changed files with 113 additions and 0 deletions
84
Mage.Sets/src/mage/cards/d/DarkLeoAndShredder.java
Normal file
84
Mage.Sets/src/mage/cards/d/DarkLeoAndShredder.java
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
package mage.cards.d;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.LoseHalfLifeTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
import mage.abilities.keyword.SneakAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterAttackingCreature;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.game.permanent.token.NinjaToken3;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class DarkLeoAndShredder extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterAttackingCreature("attacking Ninjas");
|
||||
|
||||
static {
|
||||
filter.add(SubType.NINJA.getPredicate());
|
||||
}
|
||||
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterControlledPermanent(SubType.NINJA), ComparisonType.OR_GREATER, 5
|
||||
);
|
||||
private static final Hint hint = new ValueHint(
|
||||
"Ninjas you control", new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.NINJA))
|
||||
);
|
||||
|
||||
public DarkLeoAndShredder(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.MUTANT);
|
||||
this.subtype.add(SubType.NINJA);
|
||||
this.subtype.add(SubType.TURTLE);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Sneak {W}{B}
|
||||
this.addAbility(new SneakAbility(this, "{W}{B}"));
|
||||
|
||||
// Attacking Ninjas you control have deathtouch.
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||
DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter
|
||||
)));
|
||||
|
||||
// Whenever Dark Leo & Shredder deal combat damage to a player, create a 1/1 black Ninja creature token. Then if you control five or more Ninjas, that player loses half their life, rounded up.
|
||||
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
new CreateTokenEffect(new NinjaToken3()), false, true
|
||||
).setTriggerPhrase("Whenever {this} deal combat damage to a player, ");
|
||||
ability.addEffect(new ConditionalOneShotEffect(
|
||||
new LoseHalfLifeTargetEffect(), condition, "Then if you control " +
|
||||
"five or more Ninjas, that player loses half their life, rounded up"
|
||||
));
|
||||
this.addAbility(ability.addHint(hint));
|
||||
}
|
||||
|
||||
private DarkLeoAndShredder(final DarkLeoAndShredder card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DarkLeoAndShredder copy() {
|
||||
return new DarkLeoAndShredder(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -29,6 +29,7 @@ public final class TeenageMutantNinjaTurtles extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Casey Jones, Vigilante", 88, Rarity.RARE, mage.cards.c.CaseyJonesVigilante.class));
|
||||
cards.add(new SetCardInfo("Chrome Dome", 172, Rarity.RARE, mage.cards.c.ChromeDome.class));
|
||||
cards.add(new SetCardInfo("Cool but Rude", 89, Rarity.RARE, mage.cards.c.CoolButRude.class));
|
||||
cards.add(new SetCardInfo("Dark Leo & Shredder", 142, Rarity.MYTHIC, mage.cards.d.DarkLeoAndShredder.class));
|
||||
cards.add(new SetCardInfo("Does Machines", 34, Rarity.RARE, mage.cards.d.DoesMachines.class));
|
||||
cards.add(new SetCardInfo("Donatello, Gadget Master", 35, Rarity.RARE, mage.cards.d.DonatelloGadgetMaster.class));
|
||||
cards.add(new SetCardInfo("Forest", 257, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class NinjaToken3 extends TokenImpl {
|
||||
|
||||
public NinjaToken3() {
|
||||
super("Ninja Token", "1/1 black Ninja creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.NINJA);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
private NinjaToken3(final NinjaToken3 token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public NinjaToken3 copy() {
|
||||
return new NinjaToken3(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue