Implemented Tajic, Legion's Edge

This commit is contained in:
Evan Kranzler 2018-09-18 19:49:19 -04:00
parent a1baf7d5b4
commit f4b39a4b44
2 changed files with 78 additions and 0 deletions

View file

@ -0,0 +1,77 @@
package mage.cards.t;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.PreventAllNonCombatDamageToAllEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.MentorAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.AnotherPredicate;
/**
*
* @author TheElk801
*/
public final class TajicLegionsEdge extends CardImpl {
private static final FilterPermanent filter = new FilterControlledCreaturePermanent("other creatures you control");
static {
filter.add(new AnotherPredicate());
}
public TajicLegionsEdge(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Haste
this.addAbility(HasteAbility.getInstance());
// Mentor
this.addAbility(new MentorAbility());
// Prevent all noncombat damage that would be dealt to other creatures you control.
this.addAbility(new SimpleStaticAbility(
Zone.BATTLEFIELD,
new PreventAllNonCombatDamageToAllEffect(
Duration.WhileOnBattlefield, filter
)
));
// {R}{W}: Tajic, Legion's Edge gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new GainAbilitySourceEffect(
FirstStrikeAbility.getInstance(),
Duration.EndOfTurn
), new ManaCostsImpl("{R}{W}")
));
}
public TajicLegionsEdge(final TajicLegionsEdge card) {
super(card);
}
@Override
public TajicLegionsEdge copy() {
return new TajicLegionsEdge(this);
}
}

View file

@ -189,6 +189,7 @@ public final class GuildsOfRavnica extends ExpansionSet {
cards.add(new SetCardInfo("Swarm Guildmage", 201, Rarity.UNCOMMON, mage.cards.s.SwarmGuildmage.class));
cards.add(new SetCardInfo("Swathcutter Giant", 202, Rarity.UNCOMMON, mage.cards.s.SwathcutterGiant.class));
cards.add(new SetCardInfo("Swiftblade Vindicator", 203, Rarity.RARE, mage.cards.s.SwiftbladeVindicator.class));
cards.add(new SetCardInfo("Tajic, Legion's Edge", 204, Rarity.RARE, mage.cards.t.TajicLegionsEdge.class));
cards.add(new SetCardInfo("Temple Garden", 258, Rarity.RARE, mage.cards.t.TempleGarden.class));
cards.add(new SetCardInfo("Thought Erasure", 206, Rarity.UNCOMMON, mage.cards.t.ThoughtErasure.class));
cards.add(new SetCardInfo("Thoughtbound Phantasm", 55, Rarity.UNCOMMON, mage.cards.t.ThoughtboundPhantasm.class));