[VOW] Implemented Bloodvial Purveyor

This commit is contained in:
Daniel Bomar 2021-11-03 12:23:09 -05:00
parent a16f247611
commit 0ee9d901d1
No known key found for this signature in database
GPG key ID: C86C8658F4023918
2 changed files with 71 additions and 0 deletions

View file

@ -0,0 +1,70 @@
package mage.cards.b;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.dynamicvalue.common.PermanentsTargetOpponentControlsCount;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.common.CreateTokenTargetEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.BloodToken;
/**
*
* @author weirddan455
*/
public final class BloodvialPurveyor extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Blood token");
static {
filter.add(SubType.BLOOD.getPredicate());
filter.add(TokenPredicate.TRUE);
}
public BloodvialPurveyor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}");
this.subtype.add(SubType.VAMPIRE);
this.power = new MageInt(5);
this.toughness = new MageInt(6);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Trample
this.addAbility(TrampleAbility.getInstance());
// Whenever an opponent casts a spell, that player creates a Blood token.
this.addAbility(new SpellCastOpponentTriggeredAbility(
Zone.BATTLEFIELD, new CreateTokenTargetEffect(new BloodToken()),
StaticFilters.FILTER_SPELL_A, false,
SetTargetPointer.PLAYER
));
// Whenever Bloodvial Purveyor attacks, it gets +1/+0 until end of turn for each Blood token defending player controls.
this.addAbility(new AttacksTriggeredAbility(
new BoostSourceEffect(new PermanentsTargetOpponentControlsCount(filter), StaticValue.get(0), Duration.EndOfTurn, true)
.setText("it gets +1/+0 until end of turn for each Blood token defending player controls"),
false, null, SetTargetPointer.PLAYER
));
}
private BloodvialPurveyor(final BloodvialPurveyor card) {
super(card);
}
@Override
public BloodvialPurveyor copy() {
return new BloodvialPurveyor(this);
}
}

View file

@ -43,6 +43,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
cards.add(new SetCardInfo("Blood Hypnotist", 145, Rarity.UNCOMMON, mage.cards.b.BloodHypnotist.class));
cards.add(new SetCardInfo("Bloodsworn Knight", 97, Rarity.UNCOMMON, mage.cards.b.BloodswornKnight.class));
cards.add(new SetCardInfo("Bloodsworn Squire", 97, Rarity.UNCOMMON, mage.cards.b.BloodswornSquire.class));
cards.add(new SetCardInfo("Bloodvial Purveyor", 98, Rarity.RARE, mage.cards.b.BloodvialPurveyor.class));
cards.add(new SetCardInfo("Blossom-Clad Werewolf", 226, Rarity.COMMON, mage.cards.b.BlossomCladWerewolf.class));
cards.add(new SetCardInfo("Bramble Wurm", 189, Rarity.UNCOMMON, mage.cards.b.BrambleWurm.class));
cards.add(new SetCardInfo("By Invitation Only", 5, Rarity.RARE, mage.cards.b.ByInvitationOnly.class));