diff --git a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java index ee6605e1e62..de782a9c693 100644 --- a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java +++ b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java @@ -58,7 +58,7 @@ public class ChangeZoneAi extends SpellAbilityAi { */ @Override protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) { - String origin = ""; + String origin = null; if (sa.hasParam("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); - } else if (ZoneType.isKnown(origin)) { - return knownOriginCanPlayAI(aiPlayer, sa); } - - return false; + return knownOriginCanPlayAI(aiPlayer, sa); } /** @@ -91,18 +88,15 @@ public class ChangeZoneAi extends SpellAbilityAi { */ @Override public boolean chkAIDrawback(SpellAbility sa, AIPlayer aiPlayer) { - String origin = ""; + String origin = null; if (sa.hasParam("Origin")) { origin = sa.getParam("Origin"); } - if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { + if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) { return hiddenOriginPlayDrawbackAI(aiPlayer, sa); - } else if (ZoneType.isKnown(origin)) { - return knownOriginPlayDrawbackAI(aiPlayer, sa); } - - return false; + return knownOriginPlayDrawbackAI(aiPlayer, sa); } @@ -122,18 +116,15 @@ public class ChangeZoneAi extends SpellAbilityAi { */ @Override protected boolean doTriggerAINoCost(AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) { - String origin = ""; + String origin = null; if (sa.hasParam("Origin")) { origin = sa.getParam("Origin"); } - if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { + if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) { return hiddenTriggerAI(aiPlayer, sa, mandatory); - } else if (ZoneType.isKnown(origin)) { - return knownOriginTriggerAI(aiPlayer, sa, mandatory); } - - return false; + return knownOriginTriggerAI(aiPlayer, sa, mandatory); } diff --git a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java index c919f2b5d99..64953a11243 100644 --- a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java +++ b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java @@ -34,13 +34,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect { origin = sa.getParam("Origin"); } - if (ZoneType.isHidden(origin, sa.hasParam("Hidden"))) { + if (sa.hasParam("Hidden") || ZoneType.isHidden(origin)) { return changeHiddenOriginStackDescription(sa); - } else if (ZoneType.isKnown(origin)) { - return changeKnownOriginStackDescription(sa); } - - return ""; + return changeKnownOriginStackDescription(sa); } /** @@ -280,8 +277,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (sa.hasParam("Origin")) { origin = sa.getParam("Origin"); } - - if (ZoneType.isHidden(origin, sa.hasParam("Hidden")) && !sa.hasParam("Ninjutsu")) { + if ((sa.hasParam("Hidden") || ZoneType.isHidden(origin)) && !sa.hasParam("Ninjutsu")) { changeHiddenOriginResolve(sa); } else { //else if (isKnown(origin) || sa.containsKey("Ninjutsu")) { diff --git a/src/main/java/forge/game/zone/ZoneType.java b/src/main/java/forge/game/zone/ZoneType.java index ac94a16158c..8a5b0f0cb9e 100644 --- a/src/main/java/forge/game/zone/ZoneType.java +++ b/src/main/java/forge/game/zone/ZoneType.java @@ -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 zone = ZoneType.listValueOf(origin); - if (hiddenOverride || zone.isEmpty()) { + if (zone.isEmpty()) { return true; } @@ -94,7 +94,7 @@ public enum ZoneType { } public static boolean isKnown(final String origin) { - return !isHidden(origin, false); + return !isHidden(origin); } }