mirror of
https://github.com/correl/mage.git
synced 2025-04-10 01:01:05 -09:00
Added Legendary supertype to all planeswalker cards.
This commit is contained in:
parent
2968734dd2
commit
ff22a75f34
98 changed files with 615 additions and 431 deletions
Mage.Sets/src/mage/cards
a
AjaniCallerOfThePride.javaAjaniGoldmane.javaAjaniMentorOfHeroes.javaAjaniSteadfast.javaAjaniUnyielding.javaAjaniValiantProtector.javaAjaniVengeant.javaArlinnEmbracedByTheMoon.javaArlinnKord.javaAshiokNightmareWeaver.java
c
ChandraAblaze.javaChandraFlamecaller.javaChandraNalaar.javaChandraPyrogenius.javaChandraPyromaster.javaChandraRoaringFlame.javaChandraTheFirebrand.javaChandraTorchOfDefiance.java
d
e
f
g
GarrukApexPredator.javaGarrukCallerOfBeasts.javaGarrukPrimalHunter.javaGarrukRelentless.javaGarrukTheVeilCursed.javaGarrukWildspeaker.javaGideonAllyOfZendikar.javaGideonBattleForged.javaGideonChampionOfJustice.javaGideonJura.javaGideonMartialParagon.javaGideonOfTheTrials.java
j
JaceArchitectOfThought.javaJaceBeleren.javaJaceMemoryAdept.javaJaceTelepathUnbound.javaJaceTheLivingGuildpact.javaJaceTheMindSculptor.javaJaceUnravelerOfSecrets.java
k
KarnLiberated.javaKayaGhostAssassin.javaKioraMasterOfTheDepths.javaKioraTheCrashingWave.javaKothOfTheHammer.java
l
LilianaDeathWielder.javaLilianaDeathsMajesty.javaLilianaDefiantNecromancer.javaLilianaOfTheDarkRealms.javaLilianaOfTheVeil.javaLilianaTheLastHope.javaLilianaVess.java
n
NahiriTheHarbinger.javaNahiriTheLithomancer.javaNarsetTranscendent.javaNicolBolasGodPharaoh.javaNicolBolasPlaneswalker.javaNicolBolasTheDeceiver.javaNissaGenesisMage.javaNissaNaturesArtisan.javaNissaRevane.javaNissaSageAnimist.javaNissaStewardOfElements.javaNissaVitalForce.javaNissaVoiceOfZendikar.javaNissaWorldwaker.java
o
r
s
SaheeliRai.javaSamutTheTested.javaSarkhanTheDragonspeaker.javaSarkhanTheMad.javaSarkhanUnbroken.javaSarkhanVol.javaSorinGrimNemesis.javaSorinLordOfInnistrad.javaSorinMarkov.javaSorinSolemnVisitor.java
t
TamiyoFieldResearcher.javaTamiyoTheMoonSage.javaTeferiTemporalArchmage.javaTezzeretAgentOfBolas.javaTezzeretMasterOfMetal.javaTezzeretTheSchemer.javaTezzeretTheSeeker.javaTibaltTheFiendBlooded.java
u
v
x
Utils
|
@ -44,6 +44,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.permanent.token.CatToken;
|
import mage.game.permanent.token.CatToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
@ -56,6 +57,7 @@ public class AjaniCallerOfThePride extends CardImpl {
|
||||||
|
|
||||||
public AjaniCallerOfThePride(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniCallerOfThePride(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{W}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -58,6 +58,7 @@ public class AjaniGoldmane extends CardImpl {
|
||||||
|
|
||||||
public AjaniGoldmane(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniGoldmane(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
@ -68,6 +69,7 @@ public class AjaniMentorOfHeroes extends CardImpl {
|
||||||
|
|
||||||
public AjaniMentorOfHeroes(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniMentorOfHeroes(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
@ -67,6 +68,7 @@ public class AjaniSteadfast extends CardImpl {
|
||||||
|
|
||||||
public AjaniSteadfast(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniSteadfast(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -37,6 +37,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
@ -65,6 +66,7 @@ public class AjaniUnyielding extends CardImpl {
|
||||||
|
|
||||||
public AjaniUnyielding(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniUnyielding(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
|
@ -55,6 +56,7 @@ public class AjaniValiantProtector extends CardImpl {
|
||||||
|
|
||||||
public AjaniValiantProtector(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniValiantProtector(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
@ -59,6 +60,7 @@ public class AjaniVengeant extends CardImpl {
|
||||||
|
|
||||||
public AjaniVengeant(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniVengeant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.AJANI);
|
this.subtype.add(SubType.AJANI);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.command.emblems.ArlinnEmbracedByTheMoonEmblem;
|
import mage.game.command.emblems.ArlinnEmbracedByTheMoonEmblem;
|
||||||
import mage.target.common.TargetCreatureOrPlayer;
|
import mage.target.common.TargetCreatureOrPlayer;
|
||||||
|
@ -56,6 +57,7 @@ public class ArlinnEmbracedByTheMoon extends CardImpl {
|
||||||
|
|
||||||
public ArlinnEmbracedByTheMoon(UUID ownerId, CardSetInfo setInfo) {
|
public ArlinnEmbracedByTheMoon(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.ARLINN);
|
this.subtype.add(SubType.ARLINN);
|
||||||
this.color.setRed(true);
|
this.color.setRed(true);
|
||||||
this.color.setGreen(true);
|
this.color.setGreen(true);
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.permanent.token.WolfToken;
|
import mage.game.permanent.token.WolfToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
@ -54,6 +55,7 @@ public class ArlinnKord extends CardImpl {
|
||||||
|
|
||||||
public ArlinnKord(UUID ownerId, CardSetInfo setInfo) {
|
public ArlinnKord(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.ARLINN);
|
this.subtype.add(SubType.ARLINN);
|
||||||
|
|
||||||
this.transformable = true;
|
this.transformable = true;
|
||||||
|
|
|
@ -58,6 +58,7 @@ public class AshiokNightmareWeaver extends CardImpl {
|
||||||
|
|
||||||
public AshiokNightmareWeaver(UUID ownerId, CardSetInfo setInfo) {
|
public AshiokNightmareWeaver(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add(SubType.ASHIOK);
|
this.subtype.add(SubType.ASHIOK);
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
|
@ -61,6 +62,7 @@ public class ChandraAblaze extends CardImpl {
|
||||||
|
|
||||||
public ChandraAblaze(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraAblaze(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.ElementalToken;
|
import mage.game.permanent.token.ElementalToken;
|
||||||
|
@ -57,6 +58,7 @@ public class ChandraFlamecaller extends CardImpl {
|
||||||
|
|
||||||
public ChandraFlamecaller(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraFlamecaller(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
@ -54,6 +55,7 @@ public class ChandraNalaar extends CardImpl {
|
||||||
|
|
||||||
public ChandraNalaar(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraNalaar(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
@ -52,6 +53,7 @@ public class ChandraPyrogenius extends CardImpl {
|
||||||
|
|
||||||
public ChandraPyrogenius(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraPyrogenius(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -61,6 +61,7 @@ public class ChandraPyromaster extends CardImpl {
|
||||||
|
|
||||||
public ChandraPyromaster(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraPyromaster(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.command.emblems.ChandraRoaringFlameEmblem;
|
import mage.game.command.emblems.ChandraRoaringFlameEmblem;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -53,6 +54,7 @@ public class ChandraRoaringFlame extends CardImpl {
|
||||||
|
|
||||||
public ChandraRoaringFlame(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraRoaringFlame(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
this.color.setRed(true);
|
this.color.setRed(true);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.events.GameEvent.EventType;
|
import mage.game.events.GameEvent.EventType;
|
||||||
|
@ -54,6 +55,7 @@ public class ChandraTheFirebrand extends CardImpl {
|
||||||
|
|
||||||
public ChandraTheFirebrand(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraTheFirebrand(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -59,6 +60,7 @@ public class ChandraTorchOfDefiance extends CardImpl {
|
||||||
|
|
||||||
public ChandraTorchOfDefiance(UUID ownerId, CardSetInfo setInfo) {
|
public ChandraTorchOfDefiance(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Chandra");
|
this.subtype.add("Chandra");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -50,6 +50,7 @@ public class DackFayden extends CardImpl {
|
||||||
|
|
||||||
public DackFayden(UUID ownerId, CardSetInfo setInfo) {
|
public DackFayden(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Dack");
|
this.subtype.add("Dack");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterArtifactCard;
|
import mage.filter.common.FilterArtifactCard;
|
||||||
import mage.filter.common.FilterControlledArtifactPermanent;
|
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
|
@ -68,6 +69,7 @@ public class DarettiIngeniousIconoclast extends CardImpl {
|
||||||
|
|
||||||
public DarettiIngeniousIconoclast(UUID ownerId, CardSetInfo setInfo) {
|
public DarettiIngeniousIconoclast(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Daretti");
|
this.subtype.add("Daretti");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
|
@ -65,6 +66,7 @@ public class DarettiScrapSavant extends CardImpl {
|
||||||
|
|
||||||
public DarettiScrapSavant(UUID ownerId, CardSetInfo setInfo) {
|
public DarettiScrapSavant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Daretti");
|
this.subtype.add("Daretti");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
|
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
|
||||||
|
@ -58,6 +59,7 @@ public class DomriRade extends CardImpl {
|
||||||
|
|
||||||
public DomriRade(UUID ownerId, CardSetInfo setInfo) {
|
public DomriRade(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{R}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{R}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Domri");
|
this.subtype.add("Domri");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.command.emblems.DovinBaanEmblem;
|
import mage.game.command.emblems.DovinBaanEmblem;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
|
@ -56,6 +57,7 @@ public class DovinBaan extends CardImpl {
|
||||||
|
|
||||||
public DovinBaan(UUID ownerId, CardSetInfo setInfo) {
|
public DovinBaan(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Dovin");
|
this.subtype.add("Dovin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.command.emblems.ElspethKnightErrantEmblem;
|
import mage.game.command.emblems.ElspethKnightErrantEmblem;
|
||||||
import mage.game.permanent.token.SoldierToken;
|
import mage.game.permanent.token.SoldierToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
|
@ -54,6 +55,7 @@ public class ElspethKnightErrant extends CardImpl {
|
||||||
|
|
||||||
public ElspethKnightErrant(UUID ownerId, CardSetInfo setInfo) {
|
public ElspethKnightErrant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Elspeth");
|
this.subtype.add("Elspeth");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -37,6 +37,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.ComparisonType;
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.PowerPredicate;
|
import mage.filter.predicate.mageobject.PowerPredicate;
|
||||||
import mage.game.command.emblems.ElspethSunsChampionEmblem;
|
import mage.game.command.emblems.ElspethSunsChampionEmblem;
|
||||||
|
@ -56,6 +57,7 @@ public class ElspethSunsChampion extends CardImpl {
|
||||||
|
|
||||||
public ElspethSunsChampion(UUID ownerId, CardSetInfo setInfo) {
|
public ElspethSunsChampion(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Elspeth");
|
this.subtype.add("Elspeth");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -37,6 +37,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
@ -52,6 +53,7 @@ public class ElspethTirel extends CardImpl {
|
||||||
|
|
||||||
public ElspethTirel(UUID ownerId, CardSetInfo setInfo) {
|
public ElspethTirel(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Elspeth");
|
this.subtype.add("Elspeth");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -45,6 +45,7 @@ import mage.game.permanent.token.FreyaliseLlanowarsFuryToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.constants.SuperType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -60,6 +61,7 @@ public class FreyaliseLlanowarsFury extends CardImpl {
|
||||||
|
|
||||||
public FreyaliseLlanowarsFury(UUID ownerId, CardSetInfo setInfo) {
|
public FreyaliseLlanowarsFury(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Freyalise");
|
this.subtype.add("Freyalise");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -66,6 +66,7 @@ public class GarrukApexPredator extends CardImpl {
|
||||||
|
|
||||||
public GarrukApexPredator(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukApexPredator(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -37,6 +37,7 @@ import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
|
@ -56,6 +57,7 @@ public class GarrukCallerOfBeasts extends CardImpl {
|
||||||
|
|
||||||
public GarrukCallerOfBeasts(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukCallerOfBeasts(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
|
@ -57,6 +58,7 @@ public class GarrukPrimalHunter extends CardImpl {
|
||||||
|
|
||||||
public GarrukPrimalHunter(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukPrimalHunter(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -56,6 +57,7 @@ public class GarrukRelentless extends CardImpl {
|
||||||
|
|
||||||
public GarrukRelentless(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukRelentless(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
this.transformable = true;
|
this.transformable = true;
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.*;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
|
@ -61,6 +62,7 @@ public class GarrukTheVeilCursed extends CardImpl {
|
||||||
|
|
||||||
public GarrukTheVeilCursed(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukTheVeilCursed(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
// this card is the second face of double-faced card
|
// this card is the second face of double-faced card
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.permanent.token.BeastToken;
|
import mage.game.permanent.token.BeastToken;
|
||||||
import mage.target.common.TargetLandPermanent;
|
import mage.target.common.TargetLandPermanent;
|
||||||
|
@ -55,6 +56,7 @@ public class GarrukWildspeaker extends CardImpl {
|
||||||
|
|
||||||
public GarrukWildspeaker(UUID ownerId, CardSetInfo setInfo) {
|
public GarrukWildspeaker(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.command.emblems.GideonAllyOfZendikarEmblem;
|
import mage.game.command.emblems.GideonAllyOfZendikarEmblem;
|
||||||
import mage.game.permanent.token.KnightAllyToken;
|
import mage.game.permanent.token.KnightAllyToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
|
@ -53,6 +54,7 @@ public class GideonAllyOfZendikar extends CardImpl {
|
||||||
|
|
||||||
public GideonAllyOfZendikar(UUID ownerId, CardSetInfo setInfo) {
|
public GideonAllyOfZendikar(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.TurnPhase;
|
import mage.constants.TurnPhase;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
|
@ -67,6 +68,7 @@ public class GideonBattleForged extends CardImpl {
|
||||||
|
|
||||||
public GideonBattleForged(UUID ownerId, CardSetInfo setInfo) {
|
public GideonBattleForged(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
this.color.setWhite(true);
|
this.color.setWhite(true);
|
||||||
|
|
|
@ -45,6 +45,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -60,6 +61,7 @@ public class GideonChampionOfJustice extends CardImpl {
|
||||||
|
|
||||||
public GideonChampionOfJustice(UUID ownerId, CardSetInfo setInfo) {
|
public GideonChampionOfJustice(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TurnPhase;
|
import mage.constants.TurnPhase;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.permanent.TappedPredicate;
|
import mage.filter.predicate.permanent.TappedPredicate;
|
||||||
|
@ -65,6 +66,7 @@ public class GideonJura extends CardImpl {
|
||||||
|
|
||||||
public GideonJura(UUID ownerId, CardSetInfo setInfo) {
|
public GideonJura(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{W}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterOpponentsCreaturePermanent;
|
import mage.filter.common.FilterOpponentsCreaturePermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
|
@ -54,6 +55,7 @@ public class GideonMartialParagon extends CardImpl {
|
||||||
|
|
||||||
public GideonMartialParagon(UUID ownerId, CardSetInfo setInfo) {
|
public GideonMartialParagon(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.command.emblems.GideonOfTheTrialsEmblem;
|
import mage.game.command.emblems.GideonOfTheTrialsEmblem;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
@ -53,7 +54,7 @@ public class GideonOfTheTrials extends CardImpl {
|
||||||
|
|
||||||
public GideonOfTheTrials(UUID ownerId, CardSetInfo setInfo) {
|
public GideonOfTheTrials(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Gideon");
|
this.subtype.add("Gideon");
|
||||||
|
|
||||||
//Starting Loyalty: 3
|
//Starting Loyalty: 3
|
||||||
|
|
|
@ -46,6 +46,7 @@ import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterNonlandCard;
|
import mage.filter.common.FilterNonlandCard;
|
||||||
|
@ -71,6 +72,7 @@ public class JaceArchitectOfThought extends CardImpl {
|
||||||
|
|
||||||
public JaceArchitectOfThought(UUID ownerId, CardSetInfo setInfo) {
|
public JaceArchitectOfThought(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,6 +47,7 @@ public class JaceBeleren extends CardImpl {
|
||||||
|
|
||||||
public JaceBeleren(UUID ownerId, CardSetInfo setInfo) {
|
public JaceBeleren(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
@ -49,6 +50,7 @@ public class JaceMemoryAdept extends CardImpl {
|
||||||
|
|
||||||
public JaceMemoryAdept(UUID ownerId, CardSetInfo setInfo) {
|
public JaceMemoryAdept(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{U}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -45,6 +45,7 @@ import mage.constants.AsThoughEffectType;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterInstantOrSorceryCard;
|
import mage.filter.common.FilterInstantOrSorceryCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -64,6 +65,7 @@ public class JaceTelepathUnbound extends CardImpl {
|
||||||
|
|
||||||
public JaceTelepathUnbound(UUID ownerId, CardSetInfo setInfo) {
|
public JaceTelepathUnbound(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.color.setBlue(true);
|
this.color.setBlue(true);
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
|
@ -64,6 +65,7 @@ public class JaceTheLivingGuildpact extends CardImpl {
|
||||||
|
|
||||||
public JaceTheLivingGuildpact(UUID ownerId, CardSetInfo setInfo) {
|
public JaceTheLivingGuildpact(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -54,6 +55,7 @@ public class JaceTheMindSculptor extends CardImpl {
|
||||||
|
|
||||||
public JaceTheMindSculptor(UUID ownerId, CardSetInfo setInfo) {
|
public JaceTheMindSculptor(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.effects.keyword.ScryEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.command.emblems.JaceUnravelerOfSecretsEmblem;
|
import mage.game.command.emblems.JaceUnravelerOfSecretsEmblem;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.watchers.common.SpellsCastWatcher;
|
import mage.watchers.common.SpellsCastWatcher;
|
||||||
|
@ -52,6 +53,7 @@ public class JaceUnravelerOfSecrets extends CardImpl {
|
||||||
|
|
||||||
public JaceUnravelerOfSecrets(UUID ownerId, CardSetInfo setInfo) {
|
public JaceUnravelerOfSecrets(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Jace");
|
this.subtype.add("Jace");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -45,6 +45,7 @@ import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.game.ExileZone;
|
import mage.game.ExileZone;
|
||||||
|
@ -68,6 +69,7 @@ public class KarnLiberated extends CardImpl {
|
||||||
|
|
||||||
public KarnLiberated(UUID ownerId, CardSetInfo setInfo) {
|
public KarnLiberated(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{7}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{7}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Karn");
|
this.subtype.add("Karn");
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
|
@ -62,6 +63,7 @@ public class KayaGhostAssassin extends CardImpl {
|
||||||
|
|
||||||
public KayaGhostAssassin(UUID ownerId, CardSetInfo setInfo) {
|
public KayaGhostAssassin(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{B}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Kaya");
|
this.subtype.add("Kaya");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
|
@ -65,6 +66,7 @@ public class KioraMasterOfTheDepths extends CardImpl {
|
||||||
|
|
||||||
public KioraMasterOfTheDepths(UUID ownerId, CardSetInfo setInfo) {
|
public KioraMasterOfTheDepths(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Kiora");
|
this.subtype.add("Kiora");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
@ -64,6 +65,7 @@ public class KioraTheCrashingWave extends CardImpl {
|
||||||
|
|
||||||
public KioraTheCrashingWave(UUID ownerId, CardSetInfo setInfo) {
|
public KioraTheCrashingWave(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Kiora");
|
this.subtype.add("Kiora");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
|
@ -67,6 +68,7 @@ public class KothOfTheHammer extends CardImpl {
|
||||||
|
|
||||||
public KothOfTheHammer(UUID ownerId, CardSetInfo setInfo) {
|
public KothOfTheHammer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Koth");
|
this.subtype.add("Koth");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
|
@ -62,7 +63,7 @@ public class LilianaDeathWielder extends CardImpl {
|
||||||
|
|
||||||
public LilianaDeathWielder(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaDeathWielder(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
|
@ -60,7 +61,7 @@ public class LilianaDeathsMajesty extends CardImpl {
|
||||||
|
|
||||||
public LilianaDeathsMajesty(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaDeathsMajesty(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
//Starting Loyalty: 5
|
//Starting Loyalty: 5
|
||||||
|
|
|
@ -64,6 +64,7 @@ public class LilianaDefiantNecromancer extends CardImpl {
|
||||||
|
|
||||||
public LilianaDefiantNecromancer(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaDefiantNecromancer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
this.color.setBlack(true);
|
this.color.setBlack(true);
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class LilianaOfTheDarkRealms extends CardImpl {
|
||||||
|
|
||||||
public LilianaOfTheDarkRealms(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaOfTheDarkRealms(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -56,6 +57,7 @@ public class LilianaOfTheVeil extends CardImpl {
|
||||||
|
|
||||||
public LilianaOfTheVeil(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaOfTheVeil(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -58,6 +59,7 @@ public class LilianaTheLastHope extends CardImpl {
|
||||||
|
|
||||||
public LilianaTheLastHope(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaTheLastHope(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -56,6 +57,7 @@ public class LilianaVess extends CardImpl {
|
||||||
|
|
||||||
public LilianaVess(UUID ownerId, CardSetInfo setInfo) {
|
public LilianaVess(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Liliana");
|
this.subtype.add("Liliana");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -49,6 +49,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
|
@ -80,6 +81,7 @@ public class NahiriTheHarbinger extends CardImpl {
|
||||||
|
|
||||||
public NahiriTheHarbinger(UUID ownerId, CardSetInfo setInfo) {
|
public NahiriTheHarbinger(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nahiri");
|
this.subtype.add("Nahiri");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
|
@ -64,6 +65,7 @@ public class NahiriTheLithomancer extends CardImpl {
|
||||||
|
|
||||||
public NahiriTheLithomancer(UUID ownerId, CardSetInfo setInfo) {
|
public NahiriTheLithomancer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nahiri");
|
this.subtype.add("Nahiri");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -48,6 +48,7 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Layer;
|
import mage.constants.Layer;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubLayer;
|
import mage.constants.SubLayer;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.command.emblems.NarsetTranscendentEmblem;
|
import mage.game.command.emblems.NarsetTranscendentEmblem;
|
||||||
|
@ -64,6 +65,7 @@ public class NarsetTranscendent extends CardImpl {
|
||||||
|
|
||||||
public NarsetTranscendent(UUID ownerId, CardSetInfo setInfo) {
|
public NarsetTranscendent(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Narset");
|
this.subtype.add("Narset");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
||||||
|
|
|
@ -69,6 +69,7 @@ public class NicolBolasGodPharaoh extends CardImpl {
|
||||||
|
|
||||||
public NicolBolasGodPharaoh(UUID ownerId, CardSetInfo setInfo) {
|
public NicolBolasGodPharaoh(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Bolas");
|
this.subtype.add("Bolas");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
|
@ -60,6 +61,7 @@ public class NicolBolasPlaneswalker extends CardImpl {
|
||||||
|
|
||||||
public NicolBolasPlaneswalker(UUID ownerId, CardSetInfo setInfo) {
|
public NicolBolasPlaneswalker(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{U}{B}{B}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{U}{B}{B}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Bolas");
|
this.subtype.add("Bolas");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -1,137 +1,138 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification, are
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
* permitted provided that the following conditions are met:
|
* permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
* conditions and the following disclaimer.
|
* conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
* provided with the distribution.
|
* provided with the distribution.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* The views and conclusions contained in the software and documentation are those of the
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
* authors and should not be interpreted as representing official policies, either expressed
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
* or implied, of BetaSteward_at_googlemail.com.
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
*/
|
*/
|
||||||
package mage.cards.n;
|
package mage.cards.n;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.LoyaltyAbility;
|
import mage.abilities.LoyaltyAbility;
|
||||||
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.constants.TargetController;
|
||||||
import mage.game.Game;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.Target;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
/**
|
|
||||||
*
|
/**
|
||||||
* @author LevelX2
|
*
|
||||||
*/
|
* @author LevelX2
|
||||||
public class NicolBolasTheDeceiver extends CardImpl {
|
*/
|
||||||
|
public class NicolBolasTheDeceiver extends CardImpl {
|
||||||
public NicolBolasTheDeceiver(UUID ownerId, CardSetInfo setInfo) {
|
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{U}{B}{R}");
|
public NicolBolasTheDeceiver(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{U}{B}{R}");
|
||||||
this.subtype.add("Bolas");
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.subtype.add("Bolas");
|
||||||
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
// +3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card.
|
|
||||||
this.addAbility(new LoyaltyAbility(new NicolBolasTheDeceiverFirstEffect(), 3));
|
// +3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card.
|
||||||
// -3: Destroy target creature. Draw a card.
|
this.addAbility(new LoyaltyAbility(new NicolBolasTheDeceiverFirstEffect(), 3));
|
||||||
Ability ability = new LoyaltyAbility(new DestroyTargetEffect(), -3);
|
// -3: Destroy target creature. Draw a card.
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
Ability ability = new LoyaltyAbility(new DestroyTargetEffect(), -3);
|
||||||
ability.addEffect(new DrawCardSourceControllerEffect(1));
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
ability.addEffect(new DrawCardSourceControllerEffect(1));
|
||||||
// -11: Nicol Bolas, the Deceiver deals 7 damage to each opponent. You draw 7 cards.
|
this.addAbility(ability);
|
||||||
ability = new LoyaltyAbility(new DamagePlayersEffect(7, TargetController.OPPONENT), -11);
|
// -11: Nicol Bolas, the Deceiver deals 7 damage to each opponent. You draw 7 cards.
|
||||||
ability.addEffect(new DrawCardSourceControllerEffect(7));
|
ability = new LoyaltyAbility(new DamagePlayersEffect(7, TargetController.OPPONENT), -11);
|
||||||
this.addAbility(ability);
|
ability.addEffect(new DrawCardSourceControllerEffect(7));
|
||||||
|
this.addAbility(ability);
|
||||||
}
|
|
||||||
|
}
|
||||||
public NicolBolasTheDeceiver(final NicolBolasTheDeceiver card) {
|
|
||||||
super(card);
|
public NicolBolasTheDeceiver(final NicolBolasTheDeceiver card) {
|
||||||
}
|
super(card);
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public NicolBolasTheDeceiver copy() {
|
@Override
|
||||||
return new NicolBolasTheDeceiver(this);
|
public NicolBolasTheDeceiver copy() {
|
||||||
}
|
return new NicolBolasTheDeceiver(this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
class NicolBolasTheDeceiverFirstEffect extends OneShotEffect {
|
|
||||||
|
class NicolBolasTheDeceiverFirstEffect extends OneShotEffect {
|
||||||
public NicolBolasTheDeceiverFirstEffect() {
|
|
||||||
super(Outcome.Damage);
|
public NicolBolasTheDeceiverFirstEffect() {
|
||||||
staticText = "Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card";
|
super(Outcome.Damage);
|
||||||
}
|
staticText = "Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card";
|
||||||
|
}
|
||||||
public NicolBolasTheDeceiverFirstEffect(final NicolBolasTheDeceiverFirstEffect effect) {
|
|
||||||
super(effect);
|
public NicolBolasTheDeceiverFirstEffect(final NicolBolasTheDeceiverFirstEffect effect) {
|
||||||
}
|
super(effect);
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public NicolBolasTheDeceiverFirstEffect copy() {
|
@Override
|
||||||
return new NicolBolasTheDeceiverFirstEffect(this);
|
public NicolBolasTheDeceiverFirstEffect copy() {
|
||||||
}
|
return new NicolBolasTheDeceiverFirstEffect(this);
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public boolean apply(Game game, Ability source) {
|
@Override
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
public boolean apply(Game game, Ability source) {
|
||||||
if (controller != null) {
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
for (UUID opponentId : game.getOpponents(controller.getId())) {
|
if (controller != null) {
|
||||||
Player opponent = game.getPlayer(opponentId);
|
for (UUID opponentId : game.getOpponents(controller.getId())) {
|
||||||
if (opponent != null) {
|
Player opponent = game.getPlayer(opponentId);
|
||||||
int permanents = game.getBattlefield().countAll(StaticFilters.FILTER_PERMANENT_NON_LAND, opponent.getId(), game);
|
if (opponent != null) {
|
||||||
if (permanents > 0 && opponent.chooseUse(outcome, "Sacrifices a nonland permanent?",
|
int permanents = game.getBattlefield().countAll(StaticFilters.FILTER_PERMANENT_NON_LAND, opponent.getId(), game);
|
||||||
"Otherwise you have to discard a card or lose 3 life.", "Sacrifice", "Discard or life loss", source, game)) {
|
if (permanents > 0 && opponent.chooseUse(outcome, "Sacrifices a nonland permanent?",
|
||||||
Target target = new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_NON_LAND);
|
"Otherwise you have to discard a card or lose 3 life.", "Sacrifice", "Discard or life loss", source, game)) {
|
||||||
if (opponent.choose(outcome, target, source.getSourceId(), game)) {
|
Target target = new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_NON_LAND);
|
||||||
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
if (opponent.choose(outcome, target, source.getSourceId(), game)) {
|
||||||
if (permanent != null) {
|
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
||||||
permanent.sacrifice(source.getSourceId(), game);
|
if (permanent != null) {
|
||||||
return true;
|
permanent.sacrifice(source.getSourceId(), game);
|
||||||
}
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!opponent.getHand().isEmpty() && opponent.chooseUse(outcome, "Discard a card?",
|
}
|
||||||
"Otherwise you lose 3 life.", "Discard", "Lose 3 life", source, game)) {
|
if (!opponent.getHand().isEmpty() && opponent.chooseUse(outcome, "Discard a card?",
|
||||||
opponent.discardOne(false, source, game);
|
"Otherwise you lose 3 life.", "Discard", "Lose 3 life", source, game)) {
|
||||||
return true;
|
opponent.discardOne(false, source, game);
|
||||||
}
|
return true;
|
||||||
opponent.loseLife(3, game, false);
|
}
|
||||||
|
opponent.loseLife(3, game, false);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
}
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
return false;
|
|
||||||
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,89 +1,91 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification, are
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
* permitted provided that the following conditions are met:
|
* permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
* conditions and the following disclaimer.
|
* conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
* provided with the distribution.
|
* provided with the distribution.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* The views and conclusions contained in the software and documentation are those of the
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
* authors and should not be interpreted as representing official policies, either expressed
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
* or implied, of BetaSteward_at_googlemail.com.
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
*/
|
*/
|
||||||
package mage.cards.n;
|
package mage.cards.n;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.LoyaltyAbility;
|
import mage.abilities.LoyaltyAbility;
|
||||||
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
||||||
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||||
import mage.abilities.effects.common.UntapTargetEffect;
|
import mage.abilities.effects.common.UntapTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.target.common.TargetLandPermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
import mage.target.common.TargetLandPermanent;
|
||||||
/**
|
|
||||||
*
|
/**
|
||||||
* @author LevelX2
|
*
|
||||||
*/
|
* @author LevelX2
|
||||||
public class NissaGenesisMage extends CardImpl {
|
*/
|
||||||
|
public class NissaGenesisMage extends CardImpl {
|
||||||
public NissaGenesisMage(UUID ownerId, CardSetInfo setInfo) {
|
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{G}{G}");
|
public NissaGenesisMage(UUID ownerId, CardSetInfo setInfo) {
|
||||||
this.subtype.add("Nissa");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
//+2: Untap up to two target creatures and up to two target lands.
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
Ability ability = new LoyaltyAbility(new UntapTargetEffect().setText("Untap up to two target creatures and up to two target lands"), +2);
|
|
||||||
ability.addTarget(new TargetCreaturePermanent(0, 2, new FilterCreaturePermanent("target creatures"), false));
|
//+2: Untap up to two target creatures and up to two target lands.
|
||||||
ability.addTarget(new TargetLandPermanent(0, 2, new FilterLandPermanent("target land"), false));
|
Ability ability = new LoyaltyAbility(new UntapTargetEffect().setText("Untap up to two target creatures and up to two target lands"), +2);
|
||||||
this.addAbility(ability);
|
ability.addTarget(new TargetCreaturePermanent(0, 2, new FilterCreaturePermanent("target creatures"), false));
|
||||||
|
ability.addTarget(new TargetLandPermanent(0, 2, new FilterLandPermanent("target land"), false));
|
||||||
//-3: Target creature gets +5/+5 until end of turn.
|
this.addAbility(ability);
|
||||||
ability = new LoyaltyAbility(new BoostTargetEffect(5, 5, Duration.EndOfTurn), -3);
|
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
//-3: Target creature gets +5/+5 until end of turn.
|
||||||
this.addAbility(ability);
|
ability = new LoyaltyAbility(new BoostTargetEffect(5, 5, Duration.EndOfTurn), -3);
|
||||||
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
//-10: Look at the top ten cards of your library. You may put any number of creature and/or land cards from among them onto the battlefield. Put the rest on the bottom of your library in a random order.);
|
this.addAbility(ability);
|
||||||
FilterCard filter = new FilterCard("creature and/or land cards");
|
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
|
//-10: Look at the top ten cards of your library. You may put any number of creature and/or land cards from among them onto the battlefield. Put the rest on the bottom of your library in a random order.);
|
||||||
this.addAbility(new LoyaltyAbility(
|
FilterCard filter = new FilterCard("creature and/or land cards");
|
||||||
new LookLibraryAndPickControllerEffect(10, 10, filter, false, false, Zone.BATTLEFIELD, true).setBackInRandomOrder(true),
|
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
|
||||||
-10));
|
this.addAbility(new LoyaltyAbility(
|
||||||
}
|
new LookLibraryAndPickControllerEffect(10, 10, filter, false, false, Zone.BATTLEFIELD, true).setBackInRandomOrder(true),
|
||||||
|
-10));
|
||||||
public NissaGenesisMage(final NissaGenesisMage card) {
|
}
|
||||||
super(card);
|
|
||||||
}
|
public NissaGenesisMage(final NissaGenesisMage card) {
|
||||||
|
super(card);
|
||||||
@Override
|
}
|
||||||
public NissaGenesisMage copy() {
|
|
||||||
return new NissaGenesisMage(this);
|
@Override
|
||||||
}
|
public NissaGenesisMage copy() {
|
||||||
}
|
return new NissaGenesisMage(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -48,6 +48,7 @@ import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterLandCard;
|
import mage.filter.common.FilterLandCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -61,6 +62,7 @@ public class NissaNaturesArtisan extends CardImpl {
|
||||||
|
|
||||||
public NissaNaturesArtisan(UUID ownerId, CardSetInfo setInfo) {
|
public NissaNaturesArtisan(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.NamePredicate;
|
import mage.filter.predicate.mageobject.NamePredicate;
|
||||||
|
@ -62,6 +63,7 @@ public class NissaRevane extends CardImpl {
|
||||||
|
|
||||||
public NissaRevane(UUID ownerId, CardSetInfo setInfo) {
|
public NissaRevane(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ public class NissaSageAnimist extends CardImpl {
|
||||||
|
|
||||||
public NissaSageAnimist(UUID ownerId, CardSetInfo setInfo) {
|
public NissaSageAnimist(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
this.color.setGreen(true);
|
this.color.setGreen(true);
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class NissaStewardOfElements extends CardImpl {
|
||||||
|
|
||||||
public NissaStewardOfElements(UUID ownerId, CardSetInfo setInfo) {
|
public NissaStewardOfElements(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{X}{G}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{X}{G}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
Ability abilityETB = new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.LOYALTY.createInstance()));
|
Ability abilityETB = new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.LOYALTY.createInstance()));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.filter.common.FilterPermanentCard;
|
import mage.filter.common.FilterPermanentCard;
|
||||||
|
@ -63,6 +64,7 @@ public class NissaVitalForce extends CardImpl {
|
||||||
|
|
||||||
public NissaVitalForce(UUID ownerId, CardSetInfo setInfo) {
|
public NissaVitalForce(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
@ -51,7 +52,7 @@ import mage.game.permanent.token.PlantToken;
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
*/
|
*/
|
||||||
public class NissaVoiceOfZendikar extends CardImpl {
|
public class NissaVoiceOfZendikar extends CardImpl {
|
||||||
|
|
||||||
private static final FilterLandPermanent filter = new FilterLandPermanent("lands you control");
|
private static final FilterLandPermanent filter = new FilterLandPermanent("lands you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
@ -60,16 +61,17 @@ public class NissaVoiceOfZendikar extends CardImpl {
|
||||||
|
|
||||||
public NissaVoiceOfZendikar(UUID ownerId, CardSetInfo setInfo) {
|
public NissaVoiceOfZendikar(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
||||||
// +1: Create a 0/1 green Plant creature token.
|
// +1: Create a 0/1 green Plant creature token.
|
||||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new PlantToken()), 1));
|
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new PlantToken()), 1));
|
||||||
|
|
||||||
// -2: Put a +1/+1 counter on each creature you control.
|
// -2: Put a +1/+1 counter on each creature you control.
|
||||||
this.addAbility(new LoyaltyAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()), -2));
|
this.addAbility(new LoyaltyAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()), -2));
|
||||||
|
|
||||||
// -7: You gain X life and draw X cards, where X is the number of lands you control.
|
// -7: You gain X life and draw X cards, where X is the number of lands you control.
|
||||||
Effect effect = new GainLifeEffect(new PermanentsOnBattlefieldCount(filter));
|
Effect effect = new GainLifeEffect(new PermanentsOnBattlefieldCount(filter));
|
||||||
effect.setText("you gain X life");
|
effect.setText("you gain X life");
|
||||||
|
|
|
@ -63,6 +63,7 @@ public class NissaWorldwaker extends CardImpl {
|
||||||
|
|
||||||
public NissaWorldwaker(UUID ownerId, CardSetInfo setInfo) {
|
public NissaWorldwaker(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nissa");
|
this.subtype.add("Nissa");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.command.emblems.ObNixilisOfTheBlackOathEmblem;
|
import mage.game.command.emblems.ObNixilisOfTheBlackOathEmblem;
|
||||||
import mage.game.permanent.token.DemonToken;
|
import mage.game.permanent.token.DemonToken;
|
||||||
|
@ -53,6 +54,7 @@ public class ObNixilisOfTheBlackOath extends CardImpl {
|
||||||
|
|
||||||
public ObNixilisOfTheBlackOath(UUID ownerId, CardSetInfo setInfo) {
|
public ObNixilisOfTheBlackOath(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nixilis");
|
this.subtype.add("Nixilis");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.command.emblems.ObNixilisReignitedEmblem;
|
import mage.game.command.emblems.ObNixilisReignitedEmblem;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
@ -50,6 +51,7 @@ public class ObNixilisReignited extends CardImpl {
|
||||||
|
|
||||||
public ObNixilisReignited(UUID ownerId, CardSetInfo setInfo) {
|
public ObNixilisReignited(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Nixilis");
|
this.subtype.add("Nixilis");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
|
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -63,6 +64,7 @@ public class RalZarek extends CardImpl {
|
||||||
|
|
||||||
public RalZarek(UUID ownerId, CardSetInfo setInfo) {
|
public RalZarek(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Ral");
|
this.subtype.add("Ral");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -46,6 +46,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterArtifactCard;
|
import mage.filter.common.FilterArtifactCard;
|
||||||
|
@ -63,6 +64,7 @@ public class SaheeliRai extends CardImpl {
|
||||||
|
|
||||||
public SaheeliRai(UUID ownerId, CardSetInfo setInfo) {
|
public SaheeliRai(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Saheeli");
|
this.subtype.add("Saheeli");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
|
@ -53,6 +54,7 @@ public class SamutTheTested extends CardImpl {
|
||||||
|
|
||||||
public SamutTheTested(UUID ownerId, CardSetInfo setInfo) {
|
public SamutTheTested(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Samut");
|
this.subtype.add("Samut");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -57,6 +57,7 @@ public class SarkhanTheDragonspeaker extends CardImpl {
|
||||||
|
|
||||||
public SarkhanTheDragonspeaker(UUID ownerId, CardSetInfo setInfo) {
|
public SarkhanTheDragonspeaker(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sarkhan");
|
this.subtype.add("Sarkhan");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -41,6 +41,7 @@ import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
|
@ -62,6 +63,7 @@ public class SarkhanTheMad extends CardImpl {
|
||||||
|
|
||||||
public SarkhanTheMad(UUID ownerId, CardSetInfo setInfo) {
|
public SarkhanTheMad(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sarkhan");
|
this.subtype.add("Sarkhan");
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.choices.ChoiceImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -65,6 +66,7 @@ public class SarkhanUnbroken extends CardImpl {
|
||||||
|
|
||||||
public SarkhanUnbroken(UUID ownerId, CardSetInfo setInfo) {
|
public SarkhanUnbroken(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{U}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{U}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sarkhan");
|
this.subtype.add("Sarkhan");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.permanent.token.DragonToken;
|
import mage.game.permanent.token.DragonToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
@ -56,6 +57,7 @@ public class SarkhanVol extends CardImpl {
|
||||||
|
|
||||||
public SarkhanVol(UUID ownerId, CardSetInfo setInfo) {
|
public SarkhanVol(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sarkhan");
|
this.subtype.add("Sarkhan");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -46,6 +46,7 @@ import mage.cards.Cards;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.VampireKnightToken;
|
import mage.game.permanent.token.VampireKnightToken;
|
||||||
|
@ -61,6 +62,7 @@ public class SorinGrimNemesis extends CardImpl {
|
||||||
|
|
||||||
public SorinGrimNemesis(UUID ownerId, CardSetInfo setInfo) {
|
public SorinGrimNemesis(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sorin");
|
this.subtype.add("Sorin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
|
@ -66,6 +67,7 @@ public class SorinLordOfInnistrad extends CardImpl {
|
||||||
|
|
||||||
public SorinLordOfInnistrad(UUID ownerId, CardSetInfo setInfo) {
|
public SorinLordOfInnistrad(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sorin");
|
this.subtype.add("Sorin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -39,6 +39,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
@ -53,6 +54,7 @@ public class SorinMarkov extends CardImpl {
|
||||||
|
|
||||||
public SorinMarkov(UUID ownerId, CardSetInfo setInfo) {
|
public SorinMarkov(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{B}{B}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{B}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sorin");
|
this.subtype.add("Sorin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.command.emblems.SorinSolemnVisitorEmblem;
|
import mage.game.command.emblems.SorinSolemnVisitorEmblem;
|
||||||
import mage.game.permanent.token.SorinSolemnVisitorVampireToken;
|
import mage.game.permanent.token.SorinSolemnVisitorVampireToken;
|
||||||
|
@ -52,6 +53,7 @@ public class SorinSolemnVisitor extends CardImpl {
|
||||||
|
|
||||||
public SorinSolemnVisitor(UUID ownerId, CardSetInfo setInfo) {
|
public SorinSolemnVisitor(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Sorin");
|
this.subtype.add("Sorin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -58,6 +58,7 @@ import mage.target.common.TargetCreaturePermanent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.constants.SuperType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -73,6 +74,7 @@ public class TamiyoFieldResearcher extends CardImpl {
|
||||||
|
|
||||||
public TamiyoFieldResearcher(UUID ownerId, CardSetInfo setInfo) {
|
public TamiyoFieldResearcher(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{W}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tamiyo");
|
this.subtype.add("Tamiyo");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -40,6 +40,7 @@ import mage.abilities.effects.common.TapTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.permanent.TappedPredicate;
|
import mage.filter.predicate.permanent.TappedPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
@ -56,6 +57,7 @@ public class TamiyoTheMoonSage extends CardImpl {
|
||||||
|
|
||||||
public TamiyoTheMoonSage(UUID ownerId, CardSetInfo setInfo) {
|
public TamiyoTheMoonSage(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tamiyo");
|
this.subtype.add("Tamiyo");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
|
@ -52,6 +53,7 @@ public class TeferiTemporalArchmage extends CardImpl {
|
||||||
|
|
||||||
public TeferiTemporalArchmage(UUID ownerId, CardSetInfo setInfo) {
|
public TeferiTemporalArchmage(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Teferi");
|
this.subtype.add("Teferi");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
|
@ -65,6 +66,7 @@ public class TezzeretAgentOfBolas extends CardImpl {
|
||||||
|
|
||||||
public TezzeretAgentOfBolas(UUID ownerId, CardSetInfo setInfo) {
|
public TezzeretAgentOfBolas(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{B}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tezzeret");
|
this.subtype.add("Tezzeret");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -45,6 +45,7 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Layer;
|
import mage.constants.Layer;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubLayer;
|
import mage.constants.SubLayer;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterArtifactCard;
|
import mage.filter.common.FilterArtifactCard;
|
||||||
|
@ -64,6 +65,7 @@ public class TezzeretMasterOfMetal extends CardImpl {
|
||||||
|
|
||||||
public TezzeretMasterOfMetal(UUID ownerId, CardSetInfo setInfo) {
|
public TezzeretMasterOfMetal(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tezzeret");
|
this.subtype.add("Tezzeret");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.common.FilterControlledArtifactPermanent;
|
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
import mage.game.command.emblems.TezzeretTheSchemerEmblem;
|
import mage.game.command.emblems.TezzeretTheSchemerEmblem;
|
||||||
import mage.game.permanent.token.EtheriumCellToken;
|
import mage.game.permanent.token.EtheriumCellToken;
|
||||||
|
@ -53,6 +54,7 @@ public class TezzeretTheSchemer extends CardImpl {
|
||||||
|
|
||||||
public TezzeretTheSchemer(UUID ownerId, CardSetInfo setInfo) {
|
public TezzeretTheSchemer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{B}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tezzeret");
|
this.subtype.add("Tezzeret");
|
||||||
|
|
||||||
//Starting Loyalty - 5
|
//Starting Loyalty - 5
|
||||||
|
|
|
@ -58,6 +58,7 @@ public class TezzeretTheSeeker extends CardImpl {
|
||||||
|
|
||||||
public TezzeretTheSeeker(UUID ownerId, CardSetInfo setInfo) {
|
public TezzeretTheSeeker(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tezzeret");
|
this.subtype.add("Tezzeret");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||||
|
|
|
@ -50,6 +50,7 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Layer;
|
import mage.constants.Layer;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubLayer;
|
import mage.constants.SubLayer;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
@ -65,6 +66,7 @@ public class TibaltTheFiendBlooded extends CardImpl {
|
||||||
|
|
||||||
public TibaltTheFiendBlooded(UUID ownerId, CardSetInfo setInfo) {
|
public TibaltTheFiendBlooded(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{R}{R}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Tibalt");
|
this.subtype.add("Tibalt");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.cards.CardsImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.ComparisonType;
|
import mage.constants.ComparisonType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterPermanentCard;
|
import mage.filter.common.FilterPermanentCard;
|
||||||
|
@ -63,6 +64,7 @@ public class UginTheSpiritDragon extends CardImpl {
|
||||||
|
|
||||||
public UginTheSpiritDragon(UUID ownerId, CardSetInfo setInfo) {
|
public UginTheSpiritDragon(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{8}");
|
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{8}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Ugin");
|
this.subtype.add("Ugin");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7));
|
||||||
|
|
|
@ -65,6 +65,7 @@ public class VenserTheSojourner extends CardImpl {
|
||||||
|
|
||||||
public VenserTheSojourner(UUID ownerId, CardSetInfo setInfo) {
|
public VenserTheSojourner(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{U}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Venser");
|
this.subtype.add("Venser");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
|
@ -43,6 +43,7 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Layer;
|
import mage.constants.Layer;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubLayer;
|
import mage.constants.SubLayer;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.DamagedPlaneswalkerEvent;
|
import mage.game.events.DamagedPlaneswalkerEvent;
|
||||||
|
@ -68,6 +69,7 @@ public class VraskaTheUnseen extends CardImpl {
|
||||||
|
|
||||||
public VraskaTheUnseen(UUID ownerId, CardSetInfo setInfo) {
|
public VraskaTheUnseen(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Vraska");
|
this.subtype.add("Vraska");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import mage.choices.Choice;
|
||||||
import mage.choices.ChoiceImpl;
|
import mage.choices.ChoiceImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
@ -62,6 +63,7 @@ public class XenagosTheReveler extends CardImpl {
|
||||||
|
|
||||||
public XenagosTheReveler(UUID ownerId, CardSetInfo setInfo) {
|
public XenagosTheReveler(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}");
|
||||||
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
this.subtype.add("Xenagos");
|
this.subtype.add("Xenagos");
|
||||||
|
|
||||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3));
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue