[LCI] Implement Scytheclaw Raptor

This commit is contained in:
Susucre 2023-11-02 15:33:31 +01:00
parent 3f23292ab2
commit 11681f96b9
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.SpellCastAllTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SetTargetPointer;
import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import java.util.UUID;
/**
* @author Susucr
*/
public final class ScytheclawRaptor extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a spell, if it's not their turn");
static {
filter.add(ScytheclawRaptorPredicate.instance);
}
public ScytheclawRaptor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.DINOSAUR);
this.power = new MageInt(4);
this.toughness = new MageInt(3);
// Whenever a player casts a spell, if it's not their turn, Scytheclaw Raptor deals 4 damage to them.
this.addAbility(new SpellCastAllTriggeredAbility(
new DamageTargetEffect(4).setText("{this} deals 4 damage to them"),
filter, false, SetTargetPointer.PLAYER
));
}
private ScytheclawRaptor(final ScytheclawRaptor card) {
super(card);
}
@Override
public ScytheclawRaptor copy() {
return new ScytheclawRaptor(this);
}
}
/**
* This is a little weird of a setup, but it's working.
* Inspired by {@link mage.cards.g.Glademuse}
*/
enum ScytheclawRaptorPredicate implements Predicate<StackObject> {
instance;
@Override
public boolean apply(StackObject spell, Game game) {
return spell != null && !spell.getControllerId().equals(game.getActivePlayerId());
}
}

View file

@ -148,6 +148,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet {
cards.add(new SetCardInfo("Ruin-Lurker Bat", 33, Rarity.UNCOMMON, mage.cards.r.RuinLurkerBat.class)); cards.add(new SetCardInfo("Ruin-Lurker Bat", 33, Rarity.UNCOMMON, mage.cards.r.RuinLurkerBat.class));
cards.add(new SetCardInfo("Saheeli, the Sun's Brilliance", 239, Rarity.MYTHIC, mage.cards.s.SaheeliTheSunsBrilliance.class)); cards.add(new SetCardInfo("Saheeli, the Sun's Brilliance", 239, Rarity.MYTHIC, mage.cards.s.SaheeliTheSunsBrilliance.class));
cards.add(new SetCardInfo("Sanguine Evangelist", 34, Rarity.RARE, mage.cards.s.SanguineEvangelist.class)); cards.add(new SetCardInfo("Sanguine Evangelist", 34, Rarity.RARE, mage.cards.s.SanguineEvangelist.class));
cards.add(new SetCardInfo("Scytheclaw Raptor", 165, Rarity.UNCOMMON, mage.cards.s.ScytheclawRaptor.class));
cards.add(new SetCardInfo("Self-Reflection", 74, Rarity.UNCOMMON, mage.cards.s.SelfReflection.class)); cards.add(new SetCardInfo("Self-Reflection", 74, Rarity.UNCOMMON, mage.cards.s.SelfReflection.class));
cards.add(new SetCardInfo("Sentinel of the Nameless City", 211, Rarity.RARE, mage.cards.s.SentinelOfTheNamelessCity.class)); cards.add(new SetCardInfo("Sentinel of the Nameless City", 211, Rarity.RARE, mage.cards.s.SentinelOfTheNamelessCity.class));
cards.add(new SetCardInfo("Sinuous Benthisaur", 76, Rarity.UNCOMMON, mage.cards.s.SinuousBenthisaur.class)); cards.add(new SetCardInfo("Sinuous Benthisaur", 76, Rarity.UNCOMMON, mage.cards.s.SinuousBenthisaur.class));