diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java index 6dfc5643164..507ef612a45 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java @@ -224,7 +224,19 @@ public class ConquestMapScreen extends FScreen { CardRenderer.drawCardWithOverlays(g, card, 0, 0, w, h, CardStackPosition.Top); } else { - int winsToUnlock = index * FModel.getConquestPreferences().getPrefInt(CQPref.WINS_TO_UNLOCK_COMMANDER); + CQPref unlockPref; + switch (index) { + case 1: + unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_2; + break; + case 2: + unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_3; + break; + default: + unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_4; + break; + } + int winsToUnlock = FModel.getConquestPreferences().getPrefInt(unlockPref); if (planeData.getWins() < winsToUnlock) { g.setAlphaComposite(0.25f); float imageSize = w * 0.75f; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMenu.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMenu.java index ec1844de55c..5c3b3b438eb 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMenu.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMenu.java @@ -48,7 +48,7 @@ public class ConquestMenu extends FPopupMenu { final File dirConquests = new File(ForgeConstants.CONQUEST_SAVE_DIR); final String questname = FModel.getConquestPreferences().getPref(CQPref.CURRENT_CONQUEST); final File data = new File(dirConquests.getPath(), questname); - if (data.exists()) { + if (data.exists() || ConquestDataIO.TEST_MODE) { LoadingOverlay.show("Loading current conquest...", new Runnable() { @Override @SuppressWarnings("unchecked") diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java index b98312faec6..d4c6a9e38d5 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java @@ -22,7 +22,8 @@ public class ConquestPrefsScreen extends FScreen { private static final float PADDING = Utils.scale(5); private enum PrefsGroup { - BASIC + WINS_TO_UNLOCK, + VARIANT_FREQUENCY } private FScrollPane scroller = add(new FScrollPane() { @@ -48,8 +49,17 @@ public class ConquestPrefsScreen extends FScreen { public ConquestPrefsScreen() { super("Conquest Preferences", ConquestMenu.getMenu()); - scroller.add(new PrefsHeader("Basic Settings", FSkinImage.SETTINGS, PrefsGroup.BASIC)); - scroller.add(new PrefsOption("Wins per commander unlock", CQPref.WINS_TO_UNLOCK_COMMANDER, PrefsGroup.BASIC)); + scroller.add(new PrefsHeader("Wins to Unlock", FSkinImage.LOCK, PrefsGroup.WINS_TO_UNLOCK)); + scroller.add(new PrefsOption("Wins to unlock commander 2", CQPref.WINS_TO_UNLOCK_COMMANDER_2, PrefsGroup.WINS_TO_UNLOCK)); + scroller.add(new PrefsOption("Wins to unlock commander 3", CQPref.WINS_TO_UNLOCK_COMMANDER_3, PrefsGroup.WINS_TO_UNLOCK)); + scroller.add(new PrefsOption("Wins to unlock commander 4", CQPref.WINS_TO_UNLOCK_COMMANDER_4, PrefsGroup.WINS_TO_UNLOCK)); + scroller.add(new PrefsOption("Wins to unlock planar portal", CQPref.WINS_TO_UNLOCK_PORTAL, PrefsGroup.WINS_TO_UNLOCK)); + + scroller.add(new PrefsHeader("Variant Frequency", FSkinImage.PLANESWALKER, PrefsGroup.VARIANT_FREQUENCY)); + scroller.add(new PrefsOption("Normal Game (%)", CQPref.PERCENT_NORMAL, PrefsGroup.VARIANT_FREQUENCY)); + scroller.add(new PrefsOption("Commander Game (%)", CQPref.PERCENT_COMMANDER, PrefsGroup.VARIANT_FREQUENCY)); + scroller.add(new PrefsOption("Planechase Game (%)", CQPref.PERCENT_PLANECHASE, PrefsGroup.VARIANT_FREQUENCY)); + scroller.add(new PrefsOption("Commander & Planechase Game (%)", CQPref.PERCENT_DOUBLE_VARIANT, PrefsGroup.VARIANT_FREQUENCY)); } @Override diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestDataIO.java b/forge-gui/src/main/java/forge/planarconquest/ConquestDataIO.java index b81d958138b..1b9b85ddfa2 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestDataIO.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestDataIO.java @@ -21,16 +21,12 @@ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; -import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; -import javax.xml.parsers.ParserConfigurationException; - import org.xml.sax.InputSource; -import org.xml.sax.SAXException; import com.thoughtworks.xstream.XStream; @@ -43,6 +39,14 @@ import forge.util.IgnoringXStream; import forge.util.ItemPool; public class ConquestDataIO { + public static boolean TEST_MODE = true; + private static ConquestData createTestData() { + ConquestData temp = new ConquestData("My Conquest", 0, + ConquestPlane.Alara, + ConquestPlane.Alara.getCardPool().getCard("Rafiq of the Many")); + return temp; + } + static { //ensure save directory exists if this class is used FileUtil.ensureDirectoryExists(ForgeConstants.CONQUEST_SAVE_DIR); @@ -59,6 +63,10 @@ public class ConquestDataIO { } public static ConquestData loadData(final File xmlSaveFile) { + if (TEST_MODE) { + return createTestData(); + } + try { ConquestData data = null; @@ -92,12 +100,11 @@ public class ConquestDataIO { return data; } catch (final Exception ex) { - //BugReporter.reportException(ex, "Error loading Conquest Data"); throw new RuntimeException(ex); } } - private static void updateSaveFile(final ConquestData newData, final String input, String filename) throws ParserConfigurationException, SAXException, IOException, IllegalAccessException, NoSuchFieldException { + private static void updateSaveFile(final ConquestData newData, final String input, String filename) throws Exception { //final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); final InputSource is = new InputSource(); is.setCharacterStream(new StringReader(input)); @@ -126,12 +133,11 @@ public class ConquestDataIO { // ConquestDataIO.saveUnpacked(f + ".xml", xStream, qd); } catch (final Exception ex) { - //BugReporter.reportException(ex, "Error saving Conquest Data."); throw new RuntimeException(ex); } } - private static void savePacked(final String f, final XStream xStream, final ConquestData qd) throws IOException { + private static void savePacked(final String f, final XStream xStream, final ConquestData qd) throws Exception { final BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(f)); final GZIPOutputStream zout = new GZIPOutputStream(bout); xStream.toXML(qd, zout); @@ -140,7 +146,7 @@ public class ConquestDataIO { } @SuppressWarnings("unused") // used only for debug purposes - private static void saveUnpacked(final String f, final XStream xStream, final ConquestData qd) throws IOException { + private static void saveUnpacked(final String f, final XStream xStream, final ConquestData qd) throws Exception { final BufferedOutputStream boutUnp = new BufferedOutputStream(new FileOutputStream(f)); xStream.toXML(qd, boutUnp); boutUnp.flush(); diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java b/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java index e05eb4781e6..d769ae354e7 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java @@ -29,7 +29,16 @@ public class ConquestPreferences extends PreferencesStore