make all members in MagicStaticLocalVariable private, added canLose and canTarget method

master
melvin 2011-06-24 12:08:16 +08:00
parent cbb75728d8
commit 553770b8e1
2 changed files with 12 additions and 4 deletions

View File

@ -198,7 +198,7 @@ public class MagicPlayer implements MagicTarget {
}
public boolean canLose() {
return getCount(MagicStaticLocalVariable.platinumAngel)==0;
return MagicStaticLocalVariable.canLose(this);
}
/** Life to use when determining if a player has lost. */
@ -465,7 +465,7 @@ public class MagicPlayer implements MagicTarget {
@Override
public boolean isValidTarget(final MagicGame game,final MagicSource source) {
if (source.getController()!=this&&getCount(MagicStaticLocalVariable.spiritOfTheHearth)>0) {
if (source.getController() != this && !MagicStaticLocalVariable.canTarget(this)) {
return false;
}
return true;

View File

@ -42,14 +42,22 @@ public class MagicStaticLocalVariable extends MagicDummyLocalVariable {
private static int levitation;
private static int madrushCyclops;
private static int murkfiendLiege;
public static int platinumAngel; // You can't lose the game.
private static int platinumAngel; // You can't lose the game.
private static int razorjawOni;
public static int spiritOfTheHearth; // You can't be target of spells or abilities your opponent controls.
private static int spiritOfTheHearth; // You can't be target of spells or abilities your opponent controls.
private static int tolsimirWolfblood;
private static int trueConviction;
private static int urabraskTheHidden;
private static int veteranArmorer;
private static int windbriskRaptor;
public static boolean canLose(final MagicPlayer controller) {
return controller.getCount(platinumAngel) == 0;
}
public static boolean canTarget(final MagicPlayer controller) {
return controller.getCount(spiritOfTheHearth) == 0;
}
private int getOtherCount(final int cardDefinitionIndex,final MagicPermanent permanent,final int count) {
return permanent.getCardDefinition().getIndex() != cardDefinitionIndex ? count : count - 1;