moved local variables to card specific class
parent
814e5b00b7
commit
46a1b66f04
|
@ -0,0 +1,24 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Bant_Sureblade {
|
||||||
|
private static final MagicLocalVariable BANT_SUREBLADE=new MagicBladeLocalVariable(MagicAbility.FirstStrike.getMask());
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(BANT_SUREBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Cairn_Wanderer {
|
||||||
|
private static final MagicLocalVariable CAIRN_WANDERER=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public long getAbilityFlags(MagicGame game,MagicPermanent permanent,long flags) {
|
||||||
|
long newFlags=0;
|
||||||
|
for (final MagicPlayer player : game.getPlayers()) {
|
||||||
|
for (final MagicCard card : player.getGraveyard()) {
|
||||||
|
final MagicCardDefinition cardDefinition=card.getCardDefinition();
|
||||||
|
if (cardDefinition.isCreature()) {
|
||||||
|
newFlags|=cardDefinition.getAbilityFlags();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return flags|(newFlags&MagicAbility.CAIRN_WANDERER_FLAGS);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(CAIRN_WANDERER);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,6 +13,20 @@ import magic.model.variable.*;
|
||||||
|
|
||||||
public class Echo_Mage {
|
public class Echo_Mage {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable ECHO_MAGE=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
final int charges=permanent.getCounters(MagicCounterType.Charge);
|
||||||
|
if (charges>=4) {
|
||||||
|
pt.power=2;
|
||||||
|
pt.toughness=5;
|
||||||
|
} else if (charges>=2) {
|
||||||
|
pt.power=2;
|
||||||
|
pt.toughness=4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicPermanentActivation V615 = new MagicLevelUpActivation("Echo Mage",MagicManaCost.ONE_BLUE,4);
|
public static final MagicPermanentActivation V615 = new MagicLevelUpActivation("Echo Mage",MagicManaCost.ONE_BLUE,4);
|
||||||
|
|
||||||
public static final MagicPermanentActivation V617 = new MagicPermanentActivation("Echo Mage",
|
public static final MagicPermanentActivation V617 = new MagicPermanentActivation("Echo Mage",
|
||||||
|
@ -57,4 +71,12 @@ public class Echo_Mage {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(ECHO_MAGE);
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.setVariablePT();
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Esper_Stormblade {
|
||||||
|
private static final MagicLocalVariable ESPER_STORMBLADE=new MagicBladeLocalVariable(MagicAbility.Flying.getMask());
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(ESPER_STORMBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Goblin_Gaveleer {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable GOBLIN_GAVELEER=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (permanent.isEquipped()) {
|
||||||
|
pt.power+=permanent.getEquipmentPermanents().size()<<1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(GOBLIN_GAVELEER);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Grixis_Grimblade {
|
||||||
|
private static final MagicLocalVariable GRIXIS_GRIMBLADE=new MagicBladeLocalVariable(MagicAbility.Deathtouch.getMask());
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(GRIXIS_GRIMBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,6 +13,24 @@ import magic.model.variable.*;
|
||||||
|
|
||||||
public class Guul_Draz_Specter {
|
public class Guul_Draz_Specter {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable GUUL_DRAZ_SPECTER=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (game.getOpponent(permanent.getController()).getHand().isEmpty()) {
|
||||||
|
pt.power+=3;
|
||||||
|
pt.toughness+=3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicTrigger V7579 =new MagicSpecterTrigger("Guul Draz Specter",true,false);
|
public static final MagicTrigger V7579 =new MagicSpecterTrigger("Guul Draz Specter",true,false);
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(GUUL_DRAZ_SPECTER);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package magic.card;
|
||||||
|
import java.util.*;
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.*;
|
||||||
|
import magic.data.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
|
||||||
|
public class Guul_Draz_Vampire {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable GUUL_DRAZ_VAMPIRE=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (game.getOpponent(permanent.getController()).getLife()<=10) {
|
||||||
|
pt.power+=2;
|
||||||
|
pt.toughness++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public long getAbilityFlags(final MagicGame game,final MagicPermanent permanent,final long flags) {
|
||||||
|
return game.getOpponent(permanent.getController()).getLife()<=10?flags|MagicAbility.Intimidate.getMask():flags;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(GUUL_DRAZ_VAMPIRE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Jund_Hackblade {
|
||||||
|
private static final MagicLocalVariable JUND_HACKBLADE=new MagicBladeLocalVariable(MagicAbility.Haste.getMask());
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(JUND_HACKBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Kitesail_Apprentice {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable KITESAIL_APPRENTICE=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (permanent.isEquipped()) {
|
||||||
|
pt.power++;
|
||||||
|
pt.toughness++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public long getAbilityFlags(final MagicGame game,final MagicPermanent permanent,final long flags) {
|
||||||
|
return permanent.isEquipped()?flags|MagicAbility.Flying.getMask():flags;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(KITESAIL_APPRENTICE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
package magic.card;
|
||||||
|
import java.util.*;
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.*;
|
||||||
|
import magic.data.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
|
||||||
|
public class Lord_of_Extinction {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable LORD_OF_EXTINCTION=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
final int amount=game.getPlayer(0).getGraveyard().size()+game.getPlayer(1).getGraveyard().size();
|
||||||
|
pt.power=amount;
|
||||||
|
pt.toughness=amount;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(LORD_OF_EXTINCTION);
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.setVariablePT();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,8 +13,27 @@ import magic.model.variable.*;
|
||||||
|
|
||||||
public class Lord_of_Shatterskull_Pass {
|
public class Lord_of_Shatterskull_Pass {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable LORD_OF_SHATTERSKULL_PASS = new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (permanent.getCounters(MagicCounterType.Charge)>0) {
|
||||||
|
pt.power=6;
|
||||||
|
pt.toughness=6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicPermanentActivation V1260 = new MagicLevelUpActivation("Lord of Shatterskull Pass",MagicManaCost.ONE_RED,6);
|
public static final MagicPermanentActivation V1260 = new MagicLevelUpActivation("Lord of Shatterskull Pass",MagicManaCost.ONE_RED,6);
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(LORD_OF_SHATTERSKULL_PASS);
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.setVariablePT();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicTrigger V7917 = new MagicTrigger(MagicTriggerType.WhenAttacks,"Lord of Shatterskull Pass") {
|
public static final MagicTrigger V7917 = new MagicTrigger(MagicTriggerType.WhenAttacks,"Lord of Shatterskull Pass") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -41,5 +60,4 @@ public class Lord_of_Shatterskull_Pass {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Naya_Hushblade {
|
||||||
|
private static final MagicLocalVariable NAYA_HUSHBLADE=new MagicBladeLocalVariable(MagicAbility.Shroud.getMask());
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(NAYA_HUSHBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,6 +13,39 @@ import magic.model.variable.*;
|
||||||
|
|
||||||
public class Nirkana_Cutthroat {
|
public class Nirkana_Cutthroat {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable NIRKANA_CUTTHROAT=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
final int charges=permanent.getCounters(MagicCounterType.Charge);
|
||||||
|
if (charges>=3) {
|
||||||
|
pt.power=5;
|
||||||
|
pt.toughness=4;
|
||||||
|
} else if (charges>=1) {
|
||||||
|
pt.power=4;
|
||||||
|
pt.toughness=3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getAbilityFlags(final MagicGame game,final MagicPermanent permanent,final long flags) {
|
||||||
|
final int charges=permanent.getCounters(MagicCounterType.Charge);
|
||||||
|
if (charges>=3) {
|
||||||
|
return flags|MagicAbility.FirstStrike.getMask()|MagicAbility.Deathtouch.getMask();
|
||||||
|
} else if (charges>=1) {
|
||||||
|
return flags|MagicAbility.Deathtouch.getMask();
|
||||||
|
}
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicPermanentActivation V1413 = new MagicLevelUpActivation("Nirkana Cutthroat",MagicManaCost.TWO_BLACK,3);
|
public static final MagicPermanentActivation V1413 = new MagicLevelUpActivation("Nirkana Cutthroat",MagicManaCost.TWO_BLACK,3);
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(NIRKANA_CUTTHROAT);
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.setVariablePT();
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import magic.model.event.*;
|
||||||
|
import magic.model.stack.*;
|
||||||
|
import magic.model.choice.*;
|
||||||
|
import magic.model.target.*;
|
||||||
|
import magic.model.action.*;
|
||||||
|
import magic.model.trigger.*;
|
||||||
|
import magic.model.condition.*;
|
||||||
|
import magic.model.variable.*;
|
||||||
|
import magic.model.*;
|
||||||
|
|
||||||
|
public class Ruthless_Cullblade {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable RUTHLESS_CULLBLADE=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
if (game.getOpponent(permanent.getController()).getLife()<=10) {
|
||||||
|
pt.power+=2;
|
||||||
|
pt.toughness++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.addLocalVariable(RUTHLESS_CULLBLADE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,6 +13,39 @@ import magic.model.variable.*;
|
||||||
|
|
||||||
public class Student_of_Warfare {
|
public class Student_of_Warfare {
|
||||||
|
|
||||||
|
private static final MagicLocalVariable STUDENT_OF_WARFARE=new MagicDummyLocalVariable() {
|
||||||
|
@Override
|
||||||
|
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||||
|
final int charges=permanent.getCounters(MagicCounterType.Charge);
|
||||||
|
if (charges>=7) {
|
||||||
|
pt.power=4;
|
||||||
|
pt.toughness=4;
|
||||||
|
} else if (charges>=2) {
|
||||||
|
pt.power=3;
|
||||||
|
pt.toughness=3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getAbilityFlags(final MagicGame game,final MagicPermanent permanent,final long flags) {
|
||||||
|
final int charges=permanent.getCounters(MagicCounterType.Charge);
|
||||||
|
if (charges>=7) {
|
||||||
|
return flags|MagicAbility.DoubleStrike.getMask();
|
||||||
|
} else if (charges>=2) {
|
||||||
|
return flags|MagicAbility.FirstStrike.getMask();
|
||||||
|
}
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final MagicPermanentActivation V1891 = new MagicLevelUpActivation("Student of Warfare",MagicManaCost.WHITE,7);
|
public static final MagicPermanentActivation V1891 = new MagicLevelUpActivation("Student of Warfare",MagicManaCost.WHITE,7);
|
||||||
|
|
||||||
|
public static final MagicChangeCardDefinition SET = new MagicChangeCardDefinition() {
|
||||||
|
@Override
|
||||||
|
public void change(MagicCardDefinition cdef) {
|
||||||
|
cdef.addLocalVariable(STUDENT_OF_WARFARE);
|
||||||
|
cdef.addLocalVariable(MagicStaticLocalVariable.getInstance());
|
||||||
|
cdef.setVariablePT();
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue