3939GAME_PATH_FILE = APP_DIR_PATH / "game_path.txt"
4040EQUIPMENT_DATA_FILE = "settings/hp_settings/equipment_data.bin"
4141EQUIPMENT_UI_FILE = "settings/hp_settings/equipment_stats_ui.bin"
42+ ANIMAL_INTEREST_FILE = "settings/hp_settings/animal_interest.bin"
4243MODS_EQUIPMENT_UI_DATA = None
4344MODS_LIST = DEBUG_MODS_LIST = None
4445GLOBAL_FILES = LOCAL_PLAYER_FILES = NETWORK_PLAYER_FILES = GLOBAL_ANIMAL_FILES = None
@@ -142,7 +143,7 @@ def format_mod_display_name(mod_key:str, mod_options) -> str:
142143 mod = get_mod (mod_key )
143144 if mod is None :
144145 formatted_name = get_mod_name_from_key (mod_key ).title ()
145- elif hasattr (mod , "format " ):
146+ elif hasattr (mod , "format_options " ):
146147 formatted_name = mod .format_options (mod_options )
147148 else :
148149 formatted_name = get_mod_full_name_from_key (mod_key ).title ()
@@ -153,6 +154,9 @@ def delegate_event(event: str, window: sg.Window, values: dict) -> None:
153154 if hasattr (mod , "handle_event" ):
154155 mod .handle_event (event , window , values )
155156
157+ def title_from_key (key : str ) -> str :
158+ return " " .join (key .split ("_" )).title ()
159+
156160def get_mod_name_from_key (mod_key : str ) -> str :
157161 return " " .join (mod_key .lower ().split ("_" ))
158162
@@ -173,21 +177,28 @@ def get_mod_option(mod_key: str, option_key: str) -> dict:
173177 return option
174178 return None
175179
176- def get_mod_option_default (option_key : str , options : dict = None , mod_key : str = None ) -> float :
180+ def get_mod_option_default (option_key : str , options : list [ dict ] = None , mod_key : str = None ) -> float :
177181 default = None
178182 if options is None and mod_key is None :
179183 raise ValueError (f"Unable to get default value for { option_key } : no options or mod_key provided. " )
180184 if options :
181185 for option in options :
182186 if option_key == get_mod_key_from_name (option ["name" ]):
183- default = option [ "default" ]
187+ default = option . get ( "default" , "initial" )
184188 if options is None :
185189 option = get_mod_option (option_key , mod_key )
186- default = option [ "default" ]
190+ default = option . get ( "default" , "initial" )
187191 if default is None :
188192 raise ValueError (f"Unable to get default value for { option_key } : no matching option found" )
189193 return default
190194
195+ def get_mod_option_defaults (options : list [dict ] = None ) -> dict :
196+ defaults = {}
197+ for option in options :
198+ key = get_mod_key_from_name (option ["name" ])
199+ defaults [key ] = get_mod_option_default (key , options )
200+ return defaults
201+
191202def list_mod_files () -> list [str ]:
192203 return _get_mod_filenames ()
193204
0 commit comments