[C21] Implemented Triplicate Titan

This commit is contained in:
Evan Kranzler 2021-04-12 09:32:44 -04:00
parent d0d152ec44
commit c8e21a8c6a
5 changed files with 149 additions and 0 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.t;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DiesSourceTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.GolemFlyingToken;
import mage.game.permanent.token.GolemTrampleToken;
import mage.game.permanent.token.GolemVigilanceToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TriplicateTitan extends CardImpl {
public TriplicateTitan(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{9}");
this.subtype.add(SubType.GOLEM);
this.power = new MageInt(9);
this.toughness = new MageInt(9);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
// Trample
this.addAbility(TrampleAbility.getInstance());
// When Triplicate Titan dies, create a 3/3 colorless Golem artifact creature token with flying, a 3/3 colorless Golem artifact creature token with vigilance, and a 3/3 colorless Golem artifact creature token with trample.
Ability ability = new DiesSourceTriggeredAbility(new CreateTokenEffect(new GolemFlyingToken()));
ability.addEffect(new CreateTokenEffect(new GolemVigilanceToken())
.setText(", a 3/3 colorless Golem artifact creature token with vigilance"));
ability.addEffect(new CreateTokenEffect(new GolemTrampleToken())
.setText(", and a 3/3 colorless Golem artifact creature token with trample"));
this.addAbility(ability);
}
private TriplicateTitan(final TriplicateTitan card) {
super(card);
}
@Override
public TriplicateTitan copy() {
return new TriplicateTitan(this);
}
}

View file

@ -230,6 +230,7 @@ public final class Commander2021Edition extends ExpansionSet {
cards.add(new SetCardInfo("Tranquil Thicket", 408, Rarity.COMMON, mage.cards.t.TranquilThicket.class));
cards.add(new SetCardInfo("Traumatic Visions", 132, Rarity.COMMON, mage.cards.t.TraumaticVisions.class));
cards.add(new SetCardInfo("Treasure Cruise", 133, Rarity.COMMON, mage.cards.t.TreasureCruise.class));
cards.add(new SetCardInfo("Triplicate Titan", 79, Rarity.RARE, mage.cards.t.TriplicateTitan.class));
cards.add(new SetCardInfo("Trudge Garden", 69, Rarity.RARE, mage.cards.t.TrudgeGarden.class));
cards.add(new SetCardInfo("Trygon Predator", 231, Rarity.UNCOMMON, mage.cards.t.TrygonPredator.class));
cards.add(new SetCardInfo("Unstable Obelisk", 272, Rarity.UNCOMMON, mage.cards.u.UnstableObelisk.class));

View file

@ -0,0 +1,30 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class GolemFlyingToken extends TokenImpl {
public GolemFlyingToken() {
super("Golem", "3/3 colorless Golem artifact creature token with flying");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add(SubType.GOLEM);
power = new MageInt(3);
toughness = new MageInt(3);
addAbility(FlyingAbility.getInstance());
}
private GolemFlyingToken(final GolemFlyingToken token) {
super(token);
}
public GolemFlyingToken copy() {
return new GolemFlyingToken(this);
}
}

View file

@ -0,0 +1,30 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.TrampleAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class GolemTrampleToken extends TokenImpl {
public GolemTrampleToken() {
super("Golem", "3/3 colorless Golem artifact creature token with trample");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add(SubType.GOLEM);
power = new MageInt(3);
toughness = new MageInt(3);
addAbility(TrampleAbility.getInstance());
}
private GolemTrampleToken(final GolemTrampleToken token) {
super(token);
}
public GolemTrampleToken copy() {
return new GolemTrampleToken(this);
}
}

View file

@ -0,0 +1,30 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.VigilanceAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class GolemVigilanceToken extends TokenImpl {
public GolemVigilanceToken() {
super("Golem", "3/3 colorless Golem artifact creature token with vigilance");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add(SubType.GOLEM);
power = new MageInt(3);
toughness = new MageInt(3);
addAbility(VigilanceAbility.getInstance());
}
private GolemVigilanceToken(final GolemVigilanceToken token) {
super(token);
}
public GolemVigilanceToken copy() {
return new GolemVigilanceToken(this);
}
}