[MH3] Implement Null Elemental Blast

This commit is contained in:
theelk801 2024-04-30 16:03:45 -04:00
parent 4149eeaa32
commit 32ea5e9cd0
3 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,48 @@
package mage.cards.n;
import mage.abilities.Mode;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
import mage.target.TargetPermanent;
import mage.target.TargetSpell;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class NullElementalBlast extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("multicolored permanent");
static {
filter.add(MulticoloredPredicate.instance);
}
public NullElementalBlast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{C}");
// Choose one --
// * Counter target multicolored spell.
this.getSpellAbility().addEffect(new CounterTargetEffect());
this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_MULTICOLORED));
// * Destroy target multicolored permanent.
this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect()).addTarget(new TargetPermanent(filter)));
}
private NullElementalBlast(final NullElementalBlast card) {
super(card);
}
@Override
public NullElementalBlast copy() {
return new NullElementalBlast(this);
}
}

View file

@ -34,6 +34,7 @@ public final class ModernHorizons3 extends ExpansionSet {
cards.add(new SetCardInfo("Laelia, the Blade Reforged", 281, Rarity.RARE, mage.cards.l.LaeliaTheBladeReforged.class));
cards.add(new SetCardInfo("Meltdown", 282, Rarity.UNCOMMON, mage.cards.m.Meltdown.class));
cards.add(new SetCardInfo("Mountain", 307, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Null Elemental Blast", 12, Rarity.UNCOMMON, mage.cards.n.NullElementalBlast.class));
cards.add(new SetCardInfo("Orim's Chant", 265, Rarity.RARE, mage.cards.o.OrimsChant.class));
cards.add(new SetCardInfo("Plains", 304, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Polluted Delta", 224, Rarity.RARE, mage.cards.p.PollutedDelta.class));

View file

@ -906,6 +906,13 @@ public final class StaticFilters {
FILTER_SPELL_A.setLockedFilter(true);
}
public static final FilterSpell FILTER_SPELL_MULTICOLORED = new FilterSpell("multicolored spell");
static {
FILTER_SPELL_MULTICOLORED.add(MulticoloredPredicate.instance);
FILTER_SPELL_MULTICOLORED.setLockedFilter(true);
}
public static final FilterSpell FILTER_SPELL_A_MULTICOLORED = new FilterSpell("a multicolored spell");
static {