- Fixed a possible "no enum found bug" in isHidden and some cleanup.

This commit is contained in:
Sloth
2013-02-19 07:12:20 +00:00
parent d56db9f899
commit 57ed7c9111
3 changed files with 15 additions and 28 deletions

View File

@@ -58,7 +58,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
*/ */
@Override @Override
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) { protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
String origin = ""; String origin = null;
if (sa.hasParam("Origin")) { if (sa.hasParam("Origin")) {
origin = sa.getParam("Origin"); origin = sa.getParam("Origin");
} }
@@ -69,13 +69,10 @@ public class ChangeZoneAi extends SpellAbilityAi {
} }
} }
if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) {
return hiddenOriginCanPlayAI(aiPlayer, sa); return hiddenOriginCanPlayAI(aiPlayer, sa);
} else if (ZoneType.isKnown(origin)) {
return knownOriginCanPlayAI(aiPlayer, sa);
} }
return knownOriginCanPlayAI(aiPlayer, sa);
return false;
} }
/** /**
@@ -91,18 +88,15 @@ public class ChangeZoneAi extends SpellAbilityAi {
*/ */
@Override @Override
public boolean chkAIDrawback(SpellAbility sa, AIPlayer aiPlayer) { public boolean chkAIDrawback(SpellAbility sa, AIPlayer aiPlayer) {
String origin = ""; String origin = null;
if (sa.hasParam("Origin")) { if (sa.hasParam("Origin")) {
origin = sa.getParam("Origin"); origin = sa.getParam("Origin");
} }
if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) {
return hiddenOriginPlayDrawbackAI(aiPlayer, sa); return hiddenOriginPlayDrawbackAI(aiPlayer, sa);
} else if (ZoneType.isKnown(origin)) {
return knownOriginPlayDrawbackAI(aiPlayer, sa);
} }
return knownOriginPlayDrawbackAI(aiPlayer, sa);
return false;
} }
@@ -122,18 +116,15 @@ public class ChangeZoneAi extends SpellAbilityAi {
*/ */
@Override @Override
protected boolean doTriggerAINoCost(AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) { protected boolean doTriggerAINoCost(AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) {
String origin = ""; String origin = null;
if (sa.hasParam("Origin")) { if (sa.hasParam("Origin")) {
origin = sa.getParam("Origin"); origin = sa.getParam("Origin");
} }
if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) {
return hiddenTriggerAI(aiPlayer, sa, mandatory); return hiddenTriggerAI(aiPlayer, sa, mandatory);
} else if (ZoneType.isKnown(origin)) {
return knownOriginTriggerAI(aiPlayer, sa, mandatory);
} }
return knownOriginTriggerAI(aiPlayer, sa, mandatory);
return false;
} }

View File

@@ -34,13 +34,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
origin = sa.getParam("Origin"); origin = sa.getParam("Origin");
} }
if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) {
return changeHiddenOriginStackDescription(sa); return changeHiddenOriginStackDescription(sa);
} else if (ZoneType.isKnown(origin)) {
return changeKnownOriginStackDescription(sa);
} }
return changeKnownOriginStackDescription(sa);
return "";
} }
/** /**
@@ -280,8 +277,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (sa.hasParam("Origin")) { if (sa.hasParam("Origin")) {
origin = sa.getParam("Origin"); origin = sa.getParam("Origin");
} }
if ((sa.hasParam("Hidden") || ZoneType.isHidden(origin)) && !sa.hasParam("Ninjutsu")) {
if (ZoneType.isHidden(origin, sa.hasParam("Hidden")) && !sa.hasParam("Ninjutsu")) {
changeHiddenOriginResolve(sa); changeHiddenOriginResolve(sa);
} else { } else {
//else if (isKnown(origin) || sa.containsKey("Ninjutsu")) { //else if (isKnown(origin) || sa.containsKey("Ninjutsu")) {

View File

@@ -78,10 +78,10 @@ public enum ZoneType {
} }
public static boolean isHidden(final String origin, final boolean hiddenOverride) { public static boolean isHidden(final String origin) {
List<ZoneType> zone = ZoneType.listValueOf(origin); List<ZoneType> zone = ZoneType.listValueOf(origin);
if (hiddenOverride || zone.isEmpty()) { if (zone.isEmpty()) {
return true; return true;
} }
@@ -94,7 +94,7 @@ public enum ZoneType {
} }
public static boolean isKnown(final String origin) { public static boolean isKnown(final String origin) {
return !isHidden(origin, false); return !isHidden(origin);
} }
} }