From 1698ea5bf1e75e8b18fbc3a1bef8f97e239952d3 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sun, 2 Dec 2018 16:18:48 +0300 Subject: [PATCH] - Secret areas in Planar Conquest are now locked once the player moves out of the event location. --- .../planarconquest/ConquestMultiverseScreen.java | 15 +++++---------- .../java/forge/planarconquest/ConquestBattle.java | 3 ++- .../java/forge/planarconquest/ConquestUtil.java | 8 ++++---- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index 06d4cc47f0d..5185152569a 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -2,6 +2,7 @@ package forge.screens.planarconquest; import java.util.List; +import forge.planarconquest.*; import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.graphics.Color; @@ -28,19 +29,9 @@ import forge.card.ColorSet; import forge.card.CardDetailUtil.DetailColors; import forge.item.PaperCard; import forge.model.FModel; -import forge.planarconquest.ConquestAwardPool; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestBattle; -import forge.planarconquest.ConquestChaosBattle; -import forge.planarconquest.ConquestEvent; import forge.planarconquest.ConquestEvent.ChaosWheelOutcome; import forge.planarconquest.ConquestEvent.ConquestEventRecord; -import forge.planarconquest.ConquestLocation; -import forge.planarconquest.ConquestPlane; import forge.planarconquest.ConquestPreferences.CQPref; -import forge.planarconquest.ConquestPlaneData; -import forge.planarconquest.ConquestReward; -import forge.planarconquest.ConquestRegion; import forge.screens.FScreen; import forge.screens.LoadingOverlay; import forge.toolbox.FButton; @@ -547,6 +538,10 @@ public class ConquestMultiverseScreen extends FScreen { @Override protected void onEnd(boolean endingAll) { + String secretArea = model.getCurrentLocation().getEvent().getTemporaryUnlock(); + if (secretArea != null) { + ConquestUtil.setPlaneTemporarilyAccessible(secretArea, false); + } model.setCurrentLocation(path.get(path.size() - 1)); model.saveData(); //save new location activeMoveAnimation = null; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java b/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java index 08c5adba2c5..de045ebf130 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java @@ -51,7 +51,8 @@ public abstract class ConquestBattle { view.getBtnQuit().setText("Great!"); model.addWin(this); if (location.getEvent().getTemporaryUnlock() != null) { - ConquestUtil.makePlaneTemporarilyAccessible(location.getEvent().getTemporaryUnlock()); + // secret area for this event, unlock it until the player moves + ConquestUtil.setPlaneTemporarilyAccessible(location.getEvent().getTemporaryUnlock(), true); } } else { diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java index d81a3899b62..0d309ff71f8 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java @@ -163,12 +163,12 @@ public class ConquestUtil { return null; } - public static void makePlaneTemporarilyAccessible(String planeName) { + public static void setPlaneTemporarilyAccessible(String planeName, boolean accessible) { ConquestPlane plane = getPlaneByName(planeName); - if (plane != null && plane.isUnreachable()) { - plane.setTemporarilyReachable(true); + if (plane != null && accessible != !plane.isUnreachable()) { + plane.setTemporarilyReachable(accessible); } else { - System.err.println("Could not find plane to mark as temporarily accessible: " + planeName); + System.err.println("Could not find plane to set the accessibility flag: " + planeName); } }