[STX] Implemented Frostboil Snarl

This commit is contained in:
Evan Kranzler 2021-03-25 20:25:03 -04:00
parent 1e6709f737
commit 1d16dbe642
3 changed files with 61 additions and 2 deletions

View file

@ -0,0 +1,56 @@
package mage.cards.f;
import mage.abilities.common.AsEntersBattlefieldAbility;
import mage.abilities.costs.common.RevealTargetFromHandCost;
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
import mage.target.common.TargetCardInHand;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class FrostboilSnarl extends CardImpl {
private static final FilterCard filter = new FilterCard("an Island or Mountain card from your hand");
static {
filter.add(Predicates.or(
SubType.ISLAND.getPredicate(),
SubType.MOUNTAIN.getPredicate()
));
}
public FrostboilSnarl(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// As Frostboil Snarl enters the battlefield, you may reveal an Island or Mountain card from your hand. If you don't, Frostboil Snarl enters the battlefield tapped.
this.addAbility(new AsEntersBattlefieldAbility(
new TapSourceUnlessPaysEffect(
new RevealTargetFromHandCost(new TargetCardInHand(filter))
), "you may reveal an Island or Mountain card from your hand. " +
"If you don't, {this} enters the battlefield tapped"
));
// {T}: Add {U} or {R}.
this.addAbility(new BlueManaAbility());
this.addAbility(new RedManaAbility());
}
private FrostboilSnarl(final FrostboilSnarl card) {
super(card);
}
@Override
public FrostboilSnarl copy() {
return new FrostboilSnarl(this);
}
}

View file

@ -34,8 +34,10 @@ public final class ShineshadowSnarl extends CardImpl {
// As Shineshadow Snarl enters the battlefield, you may reveal a Plains or Swamp card from your hand. If you don't, Shineshadow Snarl enters the battlefield tapped.
this.addAbility(new AsEntersBattlefieldAbility(
new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))),
"you may reveal a Plains or Swamp card from your hand. If you don't, {this} enters the battlefield tapped"
new TapSourceUnlessPaysEffect(
new RevealTargetFromHandCost(new TargetCardInHand(filter))
), "you may reveal a Plains or Swamp card from your hand. " +
"If you don't, {this} enters the battlefield tapped"
));
// {T}: Add {W} or {B}.

View file

@ -29,6 +29,7 @@ public final class StrixhavenSchoolOfMages extends ExpansionSet {
cards.add(new SetCardInfo("Archmage Emeritus", 37, Rarity.RARE, mage.cards.a.ArchmageEmeritus.class));
cards.add(new SetCardInfo("Eager First-Year", 16, Rarity.COMMON, mage.cards.e.EagerFirstYear.class));
cards.add(new SetCardInfo("Frostboil Snarl", 265, Rarity.RARE, mage.cards.f.FrostboilSnarl.class));
cards.add(new SetCardInfo("Kasmina, Enigma Sage", 196, Rarity.MYTHIC, mage.cards.k.KasminaEnigmaSage.class));
cards.add(new SetCardInfo("Lorehold Command", 199, Rarity.RARE, mage.cards.l.LoreholdCommand.class));
cards.add(new SetCardInfo("Pest Summoning", 211, Rarity.COMMON, mage.cards.p.PestSummoning.class));