Implemented Tezzeret, Artifice Master

This commit is contained in:
Evan Kranzler 2018-06-21 22:59:29 -04:00
parent 4dca0c2650
commit 592362a258
3 changed files with 85 additions and 0 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.t;
import java.util.UUID;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
import mage.abilities.condition.common.MetalcraftCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.GetEmblemEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.game.command.emblems.TezzeretArtificeMasterEmblem;
import mage.game.permanent.token.ThopterColorlessToken;
/**
*
* @author TheElk801
*/
public final class TezzeretArtificeMaster extends CardImpl {
public TezzeretArtificeMaster(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.TEZZERET);
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
// +1: Create a colorless Thopter artifact creature token with flying.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new ThopterColorlessToken()), 1));
// 0: Draw a card. If you control three or more artifacts, draw two cards instead.
this.addAbility(new LoyaltyAbility(new ConditionalOneShotEffect(
new DrawCardSourceControllerEffect(2),
new DrawCardSourceControllerEffect(1),
MetalcraftCondition.instance,
"Draw a card. If you control three or "
+ "more artifacts, draw two cards instead"
), 0));
// 9: You get an emblem with "At the beginning of your end step, search your library for a permanent card, put it into the battlefield, then shuffle your library."
this.addAbility(new LoyaltyAbility(
new GetEmblemEffect(new TezzeretArtificeMasterEmblem()), -9
));
}
public TezzeretArtificeMaster(final TezzeretArtificeMaster card) {
super(card);
}
@Override
public TezzeretArtificeMaster copy() {
return new TezzeretArtificeMaster(this);
}
}

View file

@ -245,6 +245,7 @@ public final class CoreSet2019 extends ExpansionSet {
cards.add(new SetCardInfo("Tattered Mummy", 295, Rarity.COMMON, mage.cards.t.TatteredMummy.class));
cards.add(new SetCardInfo("Tezzeret's Gatebreaker", 289, Rarity.RARE, mage.cards.t.TezzeretsGatebreaker.class));
cards.add(new SetCardInfo("Tezzeret's Strider", 290, Rarity.UNCOMMON, mage.cards.t.TezzeretsStrider.class));
cards.add(new SetCardInfo("Tezzeret, Artifice Master", 79, Rarity.MYTHIC, mage.cards.t.TezzeretArtificeMaster.class));
cards.add(new SetCardInfo("Tezzeret, Cruel Machinist", 286, Rarity.MYTHIC, mage.cards.t.TezzeretCruelMachinist.class));
cards.add(new SetCardInfo("Thorn Lieutenant", 203, Rarity.RARE, mage.cards.t.ThornLieutenant.class));
cards.add(new SetCardInfo("Thornhide Wolves", 204, Rarity.COMMON, mage.cards.t.ThornhideWolves.class));

View file

@ -0,0 +1,26 @@
package mage.game.command.emblems;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.constants.TargetController;
import mage.filter.common.FilterPermanentCard;
import mage.game.command.Emblem;
import mage.target.common.TargetCardInLibrary;
/**
*
* @author spjspj
*/
public class TezzeretArtificeMasterEmblem extends Emblem {
// 9: You get an emblem with "At the beginning of your end step, search your library for a permanent card, put it into the battlefield, then shuffle your library."
public TezzeretArtificeMasterEmblem() {
this.setName("Emblem Tezzeret");
this.setExpansionSetCodeForImage("M19");
this.getAbilities().add(new BeginningOfEndStepTriggeredAbility(
new SearchLibraryPutInPlayEffect(
new TargetCardInLibrary(new FilterPermanentCard())
), TargetController.YOU, false
));
}
}