From c714131b37db17da6a4d20e96a6f97a220298922 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 18 Oct 2020 00:51:50 -0400 Subject: [PATCH] Fix the player settings page generating yaml files with string keys containing integers --- Mystery.py | 2 +- WebHostLib/static/assets/player-settings.js | 2 +- WebHostLib/static/static/playerSettings.json | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Mystery.py b/Mystery.py index 376e296a..012b3009 100644 --- a/Mystery.py +++ b/Mystery.py @@ -334,7 +334,7 @@ def roll_settings(weights): ret.crystals_ganon = get_choice('ganon_open', weights) - extra_pieces = get_choice('triforce_pieces_mode', weights, 'available'); + extra_pieces = get_choice('triforce_pieces_mode', weights, 'available') ret.triforce_pieces_required = get_choice('triforce_pieces_required', weights, 20) ret.triforce_pieces_required = min(max(1, int(ret.triforce_pieces_required)), 90) diff --git a/WebHostLib/static/assets/player-settings.js b/WebHostLib/static/assets/player-settings.js index f2883ed8..753edeb8 100644 --- a/WebHostLib/static/assets/player-settings.js +++ b/WebHostLib/static/assets/player-settings.js @@ -147,7 +147,7 @@ const getSettingValue = (settings, keyString) => { const exportSettings = () => { const presetNumber = document.getElementById('preset-number').value; const settings = JSON.parse(localStorage.getItem(`playerSettings${presetNumber}`)); - const yamlText = jsyaml.safeDump(settings); + const yamlText = jsyaml.safeDump(settings, { noCompatMode: true }).replaceAll(/'(\d+)':/g, (x, y) => `${y}:`); download(`${settings.description}.yaml`, yamlText); }; diff --git a/WebHostLib/static/static/playerSettings.json b/WebHostLib/static/static/playerSettings.json index 18886e3e..28ab3e04 100644 --- a/WebHostLib/static/static/playerSettings.json +++ b/WebHostLib/static/static/playerSettings.json @@ -402,19 +402,19 @@ "keyString": "triforce_pieces_required.30", "friendlyName": 30, "description": "30 Triforce pieces are required before speaking with Murahadala.", - "defaultValue": 50 + "defaultValue": 0 }, "40": { "keyString": "triforce_pieces_required.40", "friendlyName": 40, "description": "40 Triforce pieces are required before speaking with Murahadala.", - "defaultValue": 50 + "defaultValue": 0 }, "50": { "keyString": "triforce_pieces_required.50", "friendlyName": 50, "description": "50 Triforce pieces are required before speaking with Murahadala.", - "defaultValue": 50 + "defaultValue": 0 } } }, @@ -466,13 +466,13 @@ "keyString": "triforce_pieces_available.40", "friendlyName": 40, "description": "40 Triforce pieces will be hidden throughout Hyrule", - "defaultValue": 50 + "defaultValue": 0 }, "50": { "keyString": "triforce_pieces_available.50", "friendlyName": 50, "description": "50 Triforce pieces will be hidden throughout Hyrule", - "defaultValue": 50 + "defaultValue": 0 } } }, @@ -492,7 +492,7 @@ "keyString": "triforce_pieces_extra.5", "friendlyName": 5, "description": "5 extra Triforce pieces will be hidden throughout Hyrule", - "defaultValue": 50 + "defaultValue": 0 }, "10": { "keyString": "triforce_pieces_extra.10",