[BLB] Implement Harnesser of Storms

This commit is contained in:
theelk801 2024-07-12 10:04:08 -04:00
parent ddb0f9c847
commit 0e49d11e06
2 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,52 @@
package mage.cards.h;
import mage.MageInt;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HarnesserOfStorms extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature or Otter spell");
static {
filter.add(Predicates.or(
Predicates.not(CardType.CREATURE.getPredicate()),
SubType.OTTER.getPredicate()
));
}
public HarnesserOfStorms(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.OTTER);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(1);
this.toughness = new MageInt(4);
// Whenever you cast a noncreature or Otter spell, you may exile the top card of your library. Until end of turn, you may play that card. This ability triggers only once each turn.
this.addAbility(new SpellCastControllerTriggeredAbility(
new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn), filter, true
).setTriggersLimitEachTurn(1));
}
private HarnesserOfStorms(final HarnesserOfStorms card) {
super(card);
}
@Override
public HarnesserOfStorms copy() {
return new HarnesserOfStorms(this);
}
}

View file

@ -49,6 +49,7 @@ public final class Bloomburrow extends ExpansionSet {
cards.add(new SetCardInfo("Flowerfoot Swordmaster", 14, Rarity.UNCOMMON, mage.cards.f.FlowerfootSwordmaster.class));
cards.add(new SetCardInfo("Forest", 278, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Galewind Moose", 173, Rarity.UNCOMMON, mage.cards.g.GalewindMoose.class));
cards.add(new SetCardInfo("Harnesser of Storms", 137, Rarity.UNCOMMON, mage.cards.h.HarnesserOfStorms.class));
cards.add(new SetCardInfo("Head of the Homestead", 216, Rarity.COMMON, mage.cards.h.HeadOfTheHomestead.class));
cards.add(new SetCardInfo("Hop to It", 16, Rarity.UNCOMMON, mage.cards.h.HopToIt.class));
cards.add(new SetCardInfo("Hugs, Grisly Guardian", 218, Rarity.MYTHIC, mage.cards.h.HugsGrislyGuardian.class));