[BRO] Implement Shoot Down

This commit is contained in:
Evan Kranzler 2022-11-04 10:03:11 -04:00
parent 2dccc34d79
commit 086b43ef73
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,50 @@
package mage.cards.s;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ShootDown extends CardImpl {
private static final FilterPermanent filter
= new FilterPermanent("artifact, enchantment, or creature with flying");
static {
filter.add(Predicates.or(
CardType.ARTIFACT.getPredicate(),
CardType.ENCHANTMENT.getPredicate(),
Predicates.and(
CardType.CREATURE.getPredicate(),
new AbilityPredicate(FlyingAbility.class)
)
));
}
public ShootDown(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}");
// Exile target artifact, enchantment, or creature with flying.
this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter));
}
private ShootDown(final ShootDown card) {
super(card);
}
@Override
public ShootDown copy() {
return new ShootDown(this);
}
}

View file

@ -147,6 +147,7 @@ public final class TheBrothersWar extends ExpansionSet {
cards.add(new SetCardInfo("Scrapwork Cohort", 37, Rarity.COMMON, mage.cards.s.ScrapworkCohort.class));
cards.add(new SetCardInfo("Scrapwork Mutt", 164, Rarity.COMMON, mage.cards.s.ScrapworkMutt.class));
cards.add(new SetCardInfo("Scrapwork Rager", 123, Rarity.COMMON, mage.cards.s.ScrapworkRager.class));
cards.add(new SetCardInfo("Shoot Down", 190, Rarity.COMMON, mage.cards.s.ShootDown.class));
cards.add(new SetCardInfo("Sibling Rivalry", 152, Rarity.COMMON, mage.cards.s.SiblingRivalry.class));
cards.add(new SetCardInfo("Siege Veteran", 25, Rarity.RARE, mage.cards.s.SiegeVeteran.class));
cards.add(new SetCardInfo("Simian Simulacrum", 205, Rarity.RARE, mage.cards.s.SimianSimulacrum.class));