[40K] Implemented Herald of Slaanesh

This commit is contained in:
Evan Kranzler 2022-09-15 08:20:13 -04:00
parent 405a3b405e
commit b09a0ccc34
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,56 @@
package mage.cards.h;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HeraldOfSlaanesh extends CardImpl {
private static final FilterCard filter = new FilterCard("Demon spells");
private static final FilterPermanent filter2 = new FilterPermanent(SubType.DEMON, "Demons");
static {
filter.add(SubType.DEMON.getPredicate());
}
public HeraldOfSlaanesh(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.DEMON);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// Locus of Slaanesh -- Demon spells you cast cost {2} less to cast.
this.addAbility(new SimpleStaticAbility(
new SpellsCostReductionControllerEffect(filter, 2)
).withFlavorWord("Locus of Slaanesh"));
// Other Demons you control have haste.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter2, true
)));
}
private HeraldOfSlaanesh(final HeraldOfSlaanesh card) {
super(card);
}
@Override
public HeraldOfSlaanesh copy() {
return new HeraldOfSlaanesh(this);
}
}

View file

@ -63,6 +63,7 @@ public final class Warhammer40000 extends ExpansionSet {
cards.add(new SetCardInfo("Game Trail", 282, Rarity.RARE, mage.cards.g.GameTrail.class));
cards.add(new SetCardInfo("Hardened Scales", 215, Rarity.RARE, mage.cards.h.HardenedScales.class));
cards.add(new SetCardInfo("Harrow", 216, Rarity.COMMON, mage.cards.h.Harrow.class));
cards.add(new SetCardInfo("Herald of Slaanesh", 77, Rarity.UNCOMMON, mage.cards.h.HeraldOfSlaanesh.class));
cards.add(new SetCardInfo("Herald's Horn", 241, Rarity.UNCOMMON, mage.cards.h.HeraldsHorn.class));
cards.add(new SetCardInfo("Heralds of Tzeentch", 23, Rarity.UNCOMMON, mage.cards.h.HeraldsOfTzeentch.class));
cards.add(new SetCardInfo("Hormagaunt Horde", 93, Rarity.RARE, mage.cards.h.HormagauntHorde.class));