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

View File

@ -42,15 +42,23 @@ public class MagicStaticLocalVariable extends MagicDummyLocalVariable {
private static int levitation; private static int levitation;
private static int madrushCyclops; private static int madrushCyclops;
private static int murkfiendLiege; 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; 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 tolsimirWolfblood;
private static int trueConviction; private static int trueConviction;
private static int urabraskTheHidden; private static int urabraskTheHidden;
private static int veteranArmorer; private static int veteranArmorer;
private static int windbriskRaptor; 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) { private int getOtherCount(final int cardDefinitionIndex,final MagicPermanent permanent,final int count) {
return permanent.getCardDefinition().getIndex() != cardDefinitionIndex ? count : count - 1; return permanent.getCardDefinition().getIndex() != cardDefinitionIndex ? count : count - 1;
} }