Implemented Teyo, the Shieldmage

This commit is contained in:
Evan Kranzler 2019-04-01 19:03:25 -04:00
parent 9c3fb3eb30
commit 86f651b871
4 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,45 @@
package mage.cards.t;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityControllerEffect;
import mage.abilities.keyword.HexproofAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.game.permanent.token.TeyoToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TeyoTheShieldmage extends CardImpl {
public TeyoTheShieldmage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.TEYO);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
// You have hexproof.
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(HexproofAbility.getInstance())));
// -2: Create a 0/3 white Wall creature token with defender.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new TeyoToken()), -2));
}
private TeyoTheShieldmage(final TeyoTheShieldmage card) {
super(card);
}
@Override
public TeyoTheShieldmage copy() {
return new TeyoTheShieldmage(this);
}
}

View file

@ -78,6 +78,7 @@ public final class WarOfTheSpark extends ExpansionSet {
cards.add(new SetCardInfo("Swamp", 258, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Teferi, Time Raveler", 221, Rarity.RARE, mage.cards.t.TeferiTimeRaveler.class));
cards.add(new SetCardInfo("Teyo's Lightshield", 33, Rarity.COMMON, mage.cards.t.TeyosLightshield.class));
cards.add(new SetCardInfo("Teyo, the Shieldmage", 32, Rarity.UNCOMMON, mage.cards.t.TeyoTheShieldmage.class));
cards.add(new SetCardInfo("Tezzeret, Master of the Bridge", 275, Rarity.MYTHIC, mage.cards.t.TezzeretMasterOfTheBridge.class));
cards.add(new SetCardInfo("The Wanderer", 37, Rarity.UNCOMMON, mage.cards.t.TheWanderer.class));
cards.add(new SetCardInfo("Tibalt's Rager", 147, Rarity.UNCOMMON, mage.cards.t.TibaltsRager.class));

View file

@ -411,6 +411,7 @@ public enum SubType {
SORIN("Sorin", SubTypeSet.PlaneswalkerType),
TAMIYO("Tamiyo", SubTypeSet.PlaneswalkerType),
TEFERI("Teferi", SubTypeSet.PlaneswalkerType),
TEYO("Teyo", SubTypeSet.PlaneswalkerType),
TEZZERET("Tezzeret", SubTypeSet.PlaneswalkerType),
TIBALT("Tibalt", SubTypeSet.PlaneswalkerType),
UGIN("Ugin", SubTypeSet.PlaneswalkerType),

View file

@ -0,0 +1,27 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.DefenderAbility;
import mage.constants.CardType;
import mage.constants.SubType;
public final class TeyoToken extends TokenImpl {
public TeyoToken() {
super("Wall", "0/3 white Wall creature token with defender");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add(SubType.WALL);
power = new MageInt(0);
toughness = new MageInt(3);
addAbility(DefenderAbility.getInstance());
}
public TeyoToken(final TeyoToken token) {
super(token);
}
public TeyoToken copy() {
return new TeyoToken(this);
}
}