[40K] Implemented Exterminatus

This commit is contained in:
Evan Kranzler 2022-09-17 23:01:42 -04:00
parent dc8a2ad400
commit 10909c6694
2 changed files with 52 additions and 0 deletions

View file

@ -0,0 +1,51 @@
package mage.cards.e;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.continuous.LoseAbilityAllEffect;
import mage.abilities.keyword.IndestructibleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterNonlandPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class Exterminatus extends CardImpl {
private static final FilterPermanent filter
= new FilterNonlandPermanent("nonland permanents your opponents control");
static {
filter.add(TargetController.OPPONENT.getControllerPredicate());
}
public Exterminatus(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{W}{B}");
// Nonland permanents your opponents control lose indestructible until end of turn.
this.getSpellAbility().addEffect(new LoseAbilityAllEffect(
IndestructibleAbility.getInstance(), Duration.EndOfTurn, filter
));
// Destroy all nonland permanents.
this.getSpellAbility().addEffect(new DestroyAllEffect(
StaticFilters.FILTER_PERMANENTS_NON_LAND
).concatBy("<br>"));
}
private Exterminatus(final Exterminatus card) {
super(card);
}
@Override
public Exterminatus copy() {
return new Exterminatus(this);
}
}

View file

@ -87,6 +87,7 @@ public final class Warhammer40000 extends ExpansionSet {
cards.add(new SetCardInfo("Exocrine", 76, Rarity.RARE, mage.cards.e.Exocrine.class));
cards.add(new SetCardInfo("Exotic Orchard", 278, Rarity.RARE, mage.cards.e.ExoticOrchard.class));
cards.add(new SetCardInfo("Explore", 213, Rarity.COMMON, mage.cards.e.Explore.class));
cards.add(new SetCardInfo("Exterminatus", 120, Rarity.RARE, mage.cards.e.Exterminatus.class));
cards.add(new SetCardInfo("Fabricate", 181, Rarity.RARE, mage.cards.f.Fabricate.class));
cards.add(new SetCardInfo("Farseek", 214, Rarity.COMMON, mage.cards.f.Farseek.class));
cards.add(new SetCardInfo("Fell the Mighty", 186, Rarity.RARE, mage.cards.f.FellTheMighty.class));