From 1bcc5b65823f3855682e3185e83edb2bf776cd04 Mon Sep 17 00:00:00 2001 From: Zach Parks Date: Sun, 12 Jun 2022 05:48:52 +0000 Subject: [PATCH] WebHost: Allow "random" to be default option for toggles and choices. (#640) --- WebHostLib/options.py | 6 +++++- WebHostLib/templates/options.yaml | 3 +++ worlds/rogue-legacy/Options.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/WebHostLib/options.py b/WebHostLib/options.py index d54b3217..f4bf6f15 100644 --- a/WebHostLib/options.py +++ b/WebHostLib/options.py @@ -89,12 +89,16 @@ def create(): "value": "random", }) + if option.default == "random": + this_option["defaultValue"] = "random" + elif hasattr(option, "range_start") and hasattr(option, "range_end"): game_options[option_name] = { "type": "range", "displayName": option.display_name if hasattr(option, "display_name") else option_name, "description": option.__doc__ if option.__doc__ else "Please document me!", - "defaultValue": option.default if hasattr(option, "default") else option.range_start, + "defaultValue": option.default if hasattr( + option, "default") and option.default != "random" else option.range_start, "min": option.range_start, "max": option.range_end, } diff --git a/WebHostLib/templates/options.yaml b/WebHostLib/templates/options.yaml index 95fab2ae..11009106 100644 --- a/WebHostLib/templates/options.yaml +++ b/WebHostLib/templates/options.yaml @@ -46,6 +46,9 @@ requires: {%- for suboption_option_id, sub_option_name in option.name_lookup.items() %} {{ sub_option_name }}: {% if suboption_option_id == option.default %}50{% else %}0{% endif %} {%- endfor -%} + {% if option.default == "random" %} + random: 50 + {%- endif -%} {%- else %} {{ yaml_dump(default_converter(option.default)) | indent(4, first=False) }} {%- endif -%} diff --git a/worlds/rogue-legacy/Options.py b/worlds/rogue-legacy/Options.py index 08dd3d31..13c98284 100644 --- a/worlds/rogue-legacy/Options.py +++ b/worlds/rogue-legacy/Options.py @@ -12,7 +12,7 @@ class StartingGender(Choice): option_lady = 1 alias_male = 0 alias_female = 1 - default = 0 + default = "random" class StartingClass(Choice):