From 97d0c51db10cfacdad043c8fb814d56bf895316e Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Sat, 2 Apr 2022 20:49:27 +0200 Subject: [PATCH] HK: allow webgen --- worlds/hk/Options.py | 7 ++++--- worlds/hk/__init__.py | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/worlds/hk/Options.py b/worlds/hk/Options.py index 1dac8813..df8375fe 100644 --- a/worlds/hk/Options.py +++ b/worlds/hk/Options.py @@ -18,7 +18,7 @@ class Disabled(Toggle): locations = {"option_" + start: i for i, start in enumerate(starts)} # This way the dynamic start names are picked up by the MetaClass Choice belongs to -StartLocation = type("StartLocation", (Choice,), {"auto_display_name": False, **locations}) +StartLocation = type("StartLocation", (Choice,), {"__module__": __name__, "auto_display_name": False, **locations}) del (locations) default_on = { @@ -43,7 +43,7 @@ disabled = { hollow_knight_randomize_options: typing.Dict[str, type(Option)] = {} for option_name, option_data in pool_options.items(): - extra_data = {"items": option_data[0], "locations": option_data[1]} + extra_data = {"__module__": __name__, "items": option_data[0], "locations": option_data[1]} if option_name in disabled: extra_data["__doc__"] = "Disabled Option. Not implemented." option = type(option_name, (Disabled,), extra_data) @@ -51,7 +51,8 @@ for option_name, option_data in pool_options.items(): option = type(option_name, (DefaultOnToggle,), extra_data) else: option = type(option_name, (Toggle,), extra_data) - hollow_knight_randomize_options[option_name] = option + globals()[option.__name__] = option + hollow_knight_randomize_options[option.__name__] = option hollow_knight_logic_options: typing.Dict[str, type(Option)] = { diff --git a/worlds/hk/__init__.py b/worlds/hk/__init__.py index 02d3479a..a08b4d43 100644 --- a/worlds/hk/__init__.py +++ b/worlds/hk/__init__.py @@ -77,6 +77,11 @@ white_palace_locations = { class HKWorld(World): + """Beneath the fading town of Dirtmouth sleeps a vast, ancient kingdom. Many are drawn beneath the surface, + searching for riches, or glory, or answers to old secrets. + +As the enigmatic Knight, you’ll traverse the depths, unravel its mysteries and conquer its evils. + """ # from https://www.hollowknight.com game: str = "Hollow Knight" options = hollow_knight_options @@ -84,7 +89,6 @@ class HKWorld(World): location_name_to_id = {location_name: location_id for location_id, location_name in enumerate(locations, start=0x1000000)} - hidden = True ranges: typing.Dict[str, typing.Tuple[int, int]] shops = {"Egg_Shop": "egg", "Grubfather": "grub", "Seer": "essence", "Salubra_(Requires_Charms)": "charm"} charm_costs: typing.List[int]