[VOW] Implemented Falkenrath Forebear

This commit is contained in:
Daniel Bomar 2021-11-04 16:09:27 -05:00
parent 318a690379
commit 5ae774a501
No known key found for this signature in database
GPG key ID: C86C8658F4023918
2 changed files with 68 additions and 0 deletions

View file

@ -0,0 +1,67 @@
package mage.cards.f;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.CantBlockAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
import mage.constants.SubType;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.BloodToken;
import mage.target.common.TargetControlledPermanent;
/**
*
* @author weirddan455
*/
public final class FalkenrathForebear extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Blood tokens");
static {
filter.add(SubType.BLOOD.getPredicate());
filter.add(TokenPredicate.TRUE);
}
public FalkenrathForebear(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
this.subtype.add(SubType.VAMPIRE);
this.power = new MageInt(3);
this.toughness = new MageInt(1);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Falkenrath Forebear can't block.
this.addAbility(new CantBlockAbility());
// Whenever Falkenrath Forebear deals combat damage to a player, create a Blood token.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new CreateTokenEffect(new BloodToken()), false));
// {B}, Sacrifice two Blood tokens: Return Falkenrath Forebear from your graveyard to the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(2, filter)));
this.addAbility(ability);
}
private FalkenrathForebear(final FalkenrathForebear card) {
super(card);
}
@Override
public FalkenrathForebear copy() {
return new FalkenrathForebear(this);
}
}

View file

@ -77,6 +77,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
cards.add(new SetCardInfo("Drogskol Armaments", 10, Rarity.COMMON, mage.cards.d.DrogskolArmaments.class));
cards.add(new SetCardInfo("Drogskol Infantry", 10, Rarity.COMMON, mage.cards.d.DrogskolInfantry.class));
cards.add(new SetCardInfo("Dying to Serve", 109, Rarity.RARE, mage.cards.d.DyingToServe.class));
cards.add(new SetCardInfo("Falkenrath Forebear", 111, Rarity.RARE, mage.cards.f.FalkenrathForebear.class));
cards.add(new SetCardInfo("Fearful Villager", 157, Rarity.COMMON, mage.cards.f.FearfulVillager.class));
cards.add(new SetCardInfo("Fearsome Werewolf", 157, Rarity.COMMON, mage.cards.f.FearsomeWerewolf.class));
cards.add(new SetCardInfo("Fell Stinger", 112, Rarity.UNCOMMON, mage.cards.f.FellStinger.class));