[KHC] Implemented Elderfang Venom

This commit is contained in:
Evan Kranzler 2021-01-22 09:51:46 -05:00
parent 6e88c745a8
commit 36c52c0ece
3 changed files with 60 additions and 1 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.e;
import mage.abilities.Ability;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.AttackingPredicate;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ElderfangVenom extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.ELF, "attacking elves");
static {
filter.add(AttackingPredicate.instance);
}
private static final FilterPermanent filter2 = new FilterControlledPermanent(SubType.ELF, "an Elf you control");
public ElderfangVenom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{G}");
// Attacking Elves you control have deathtouch.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter
)));
// Whenever an Elf you control dies, each opponent loses 1 life and you gain 1 life.
Ability ability = new DiesCreatureTriggeredAbility(
new LoseLifeOpponentsEffect(1), false, filter2
);
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
this.addAbility(ability);
}
private ElderfangVenom(final ElderfangVenom card) {
super(card);
}
@Override
public ElderfangVenom copy() {
return new ElderfangVenom(this);
}
}

View file

@ -32,6 +32,7 @@ public final class KaldheimCommander extends ExpansionSet {
super("Kaldheim Commander", "KHC", ExpansionSet.buildDate(2021, 2, 5), SetType.SUPPLEMENTAL);
this.hasBasicLands = false;
cards.add(new SetCardInfo("Elderfang Venom", 15, Rarity.RARE, mage.cards.e.ElderfangVenom.class));
cards.add(new SetCardInfo("Inspired Sphinx", 40, Rarity.MYTHIC, mage.cards.i.InspiredSphinx.class));
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanic is fully implemented

View file

@ -118,7 +118,7 @@ Judgment|Judgment|
Jumpstart|Jumpstart|
Kaladesh|Kaladesh|
Kaldheim|Kaldheim|
Kaldheimm Commander|KaldheimCommander|
Kaldheim Commander|KaldheimCommander|
Khans of Tarkir|KhansOfTarkir|
Launch Party|LaunchParty|
Legends|Legends|