[VOW] Implemented Whispering Wizard

This commit is contained in:
Evan Kranzler 2021-11-02 09:29:21 -04:00
parent 02efb0c1dc
commit 5bb9cf37ab
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,43 @@
package mage.cards.w;
import mage.MageInt;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.game.permanent.token.SpiritWhiteToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class WhisperingWizard extends CardImpl {
public WhisperingWizard(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Whenever you cast a noncreature spell, create a 1/1 white Spirit creature token with flying. This ability triggers only once each turn.
this.addAbility(new SpellCastControllerTriggeredAbility(
new CreateTokenEffect(new SpiritWhiteToken()),
StaticFilters.FILTER_SPELL_A_NON_CREATURE, false
).setTriggersOnce(true));
}
private WhisperingWizard(final WhisperingWizard card) {
super(card);
}
@Override
public WhisperingWizard copy() {
return new WhisperingWizard(this);
}
}

View file

@ -106,6 +106,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
cards.add(new SetCardInfo("Wedding Festivity", 45, Rarity.RARE, mage.cards.w.WeddingFestivity.class));
cards.add(new SetCardInfo("Wedding Invitation", 260, Rarity.COMMON, mage.cards.w.WeddingInvitation.class));
cards.add(new SetCardInfo("Wedding Security", 138, Rarity.UNCOMMON, mage.cards.w.WeddingSecurity.class));
cards.add(new SetCardInfo("Whispering Wizard", 68, Rarity.UNCOMMON, mage.cards.w.WhisperingWizard.class));
cards.add(new SetCardInfo("Wrathful Jailbreaker", 184, Rarity.COMMON, mage.cards.w.WrathfulJailbreaker.class));
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanic is fully implemented