[WHO] Implement Exterminate!

This commit is contained in:
theelk801 2023-07-21 08:58:53 -04:00
parent 30966564cb
commit daebfe6748
3 changed files with 53 additions and 1 deletions

View file

@ -0,0 +1,50 @@
package mage.cards.e;
import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.LoseLifeTargetControllerEffect;
import mage.abilities.keyword.ReplicateAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class Exterminate extends CardImpl {
private static final FilterControlledPermanent filter
= new FilterControlledPermanent(SubType.DALEK, "untapped Dalek you control");
static {
filter.add(TappedPredicate.UNTAPPED);
}
public Exterminate(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}");
// Replicate--Tap an untapped Dalek you control.
this.addAbility(new ReplicateAbility(new TapTargetCost(new TargetControlledPermanent(filter))));
// Destroy target creature. Its controller loses 3 life.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addEffect(new LoseLifeTargetControllerEffect(3));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
private Exterminate(final Exterminate card) {
super(card);
}
@Override
public Exterminate copy() {
return new Exterminate(this);
}
}

View file

@ -18,6 +18,7 @@ public final class DoctorWho extends ExpansionSet {
private DoctorWho() {
super("Doctor Who", "WHO", ExpansionSet.buildDate(2023, 10, 13), SetType.SUPPLEMENTAL);
cards.add(new SetCardInfo("Exterminate!", 68, Rarity.UNCOMMON, mage.cards.e.Exterminate.class));
cards.add(new SetCardInfo("Forest", 205, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Island", 199, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mountain", 203, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));

View file

@ -128,7 +128,8 @@ public enum SubType {
CYBORG("Cyborg", SubTypeSet.CreatureType, true), // Star Wars
CYCLOPS("Cyclops", SubTypeSet.CreatureType),
// D
DATHOMIRIAN("Dathomirian", SubTypeSet.CreatureType, true), // Star Wars
DALEK("Dalek", SubTypeSet.CreatureType),
DATHOMIRIAN("Dathomirian", SubTypeSet.CreatureType, true), // Star Wars,
DAUTHI("Dauthi", SubTypeSet.CreatureType),
DEMIGOD("Demigod", SubTypeSet.CreatureType),
DEMON("Demon", SubTypeSet.CreatureType),