[WHO] Implement Auton Soldier

This commit is contained in:
theelk801 2023-10-14 18:37:46 -04:00
parent 816cc3ac07
commit 8eaee40584
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,63 @@
package mage.cards.a;
import mage.MageInt;
import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.EntersBattlefieldEffect;
import mage.abilities.effects.common.CopyPermanentEffect;
import mage.abilities.keyword.MyriadAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.util.functions.CopyApplier;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class AutonSoldier extends CardImpl {
private static final CopyApplier applier = new CopyApplier() {
@Override
public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) {
blueprint.removeSuperType(SuperType.LEGENDARY);
blueprint.addCardType(CardType.ARTIFACT);
blueprint.getAbilities().add(new MyriadAbility());
return true;
}
};
public AutonSoldier(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{U}");
this.subtype.add(SubType.ALIEN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(0);
this.toughness = new MageInt(0);
// You may have Auton Soldier enter the battlefield as a copy of any creature on the battlefield, except it isn't legendary, is an artifact in addition to its other types, and has myriad.
this.addAbility(new SimpleStaticAbility(
Zone.ALL,
new EntersBattlefieldEffect(new CopyPermanentEffect(
StaticFilters.FILTER_PERMANENT_CREATURE, applier
).setText("You may have {this} enter the battlefield as a copy of any creature on the battlefield, " +
"except it isn't legendary, is an artifact in addition to its other types, and has myriad"), "", true))
);
}
private AutonSoldier(final AutonSoldier card) {
super(card);
}
@Override
public AutonSoldier copy() {
return new AutonSoldier(this);
}
}

View file

@ -27,6 +27,7 @@ public final class DoctorWho extends ExpansionSet {
cards.add(new SetCardInfo("Ash Barrens", 257, Rarity.UNCOMMON, mage.cards.a.AshBarrens.class));
cards.add(new SetCardInfo("Astrid Peth", 11, Rarity.RARE, mage.cards.a.AstridPeth.class));
cards.add(new SetCardInfo("Atraxi Warden", 12, Rarity.UNCOMMON, mage.cards.a.AtraxiWarden.class));
cards.add(new SetCardInfo("Auton Soldier", 36, Rarity.RARE, mage.cards.a.AutonSoldier.class));
cards.add(new SetCardInfo("Banish to Another Universe", 13, Rarity.UNCOMMON, mage.cards.b.BanishToAnotherUniverse.class));
cards.add(new SetCardInfo("Beast Within", 228, Rarity.UNCOMMON, mage.cards.b.BeastWithin.class));
cards.add(new SetCardInfo("Become the Pilot", 37, Rarity.RARE, mage.cards.b.BecomeThePilot.class));