mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
TWW: Fix generation failure with output file (#4932)
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
from Options import (
|
from Options import (
|
||||||
Choice,
|
Choice,
|
||||||
@@ -752,6 +753,68 @@ class TWWOptions(PerGameCommonOptions):
|
|||||||
remove_music: RemoveMusic
|
remove_music: RemoveMusic
|
||||||
death_link: DeathLink
|
death_link: DeathLink
|
||||||
|
|
||||||
|
def get_output_dict(self) -> dict[str, Any]:
|
||||||
|
"""
|
||||||
|
Returns a dictionary of option name to value to be placed in
|
||||||
|
the output APTWW file.
|
||||||
|
|
||||||
|
:return: Dictionary of option name to value for the output file.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Note: these options' values must be able to be passed through
|
||||||
|
# `yaml.safe_dump`.
|
||||||
|
return self.as_dict(
|
||||||
|
"progression_dungeons",
|
||||||
|
"progression_tingle_chests",
|
||||||
|
"progression_dungeon_secrets",
|
||||||
|
"progression_puzzle_secret_caves",
|
||||||
|
"progression_combat_secret_caves",
|
||||||
|
"progression_savage_labyrinth",
|
||||||
|
"progression_great_fairies",
|
||||||
|
"progression_short_sidequests",
|
||||||
|
"progression_long_sidequests",
|
||||||
|
"progression_spoils_trading",
|
||||||
|
"progression_minigames",
|
||||||
|
"progression_battlesquid",
|
||||||
|
"progression_free_gifts",
|
||||||
|
"progression_mail",
|
||||||
|
"progression_platforms_rafts",
|
||||||
|
"progression_submarines",
|
||||||
|
"progression_eye_reef_chests",
|
||||||
|
"progression_big_octos_gunboats",
|
||||||
|
"progression_triforce_charts",
|
||||||
|
"progression_treasure_charts",
|
||||||
|
"progression_expensive_purchases",
|
||||||
|
"progression_island_puzzles",
|
||||||
|
"progression_misc",
|
||||||
|
"randomize_mapcompass",
|
||||||
|
"randomize_smallkeys",
|
||||||
|
"randomize_bigkeys",
|
||||||
|
"sword_mode",
|
||||||
|
"required_bosses",
|
||||||
|
"num_required_bosses",
|
||||||
|
"chest_type_matches_contents",
|
||||||
|
"hero_mode",
|
||||||
|
"logic_obscurity",
|
||||||
|
"logic_precision",
|
||||||
|
"randomize_dungeon_entrances",
|
||||||
|
"randomize_secret_cave_entrances",
|
||||||
|
"randomize_miniboss_entrances",
|
||||||
|
"randomize_boss_entrances",
|
||||||
|
"randomize_secret_cave_inner_entrances",
|
||||||
|
"randomize_fairy_fountain_entrances",
|
||||||
|
"mix_entrances",
|
||||||
|
"randomize_enemies",
|
||||||
|
"randomize_starting_island",
|
||||||
|
"randomize_charts",
|
||||||
|
"swift_sail",
|
||||||
|
"instant_text_boxes",
|
||||||
|
"reveal_full_sea_chart",
|
||||||
|
"add_shortcut_warps_between_dungeons",
|
||||||
|
"skip_rematch_bosses",
|
||||||
|
"remove_music",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
tww_option_groups: list[OptionGroup] = [
|
tww_option_groups: list[OptionGroup] = [
|
||||||
OptionGroup(
|
OptionGroup(
|
||||||
|
@@ -462,7 +462,7 @@ class TWWWorld(World):
|
|||||||
"Seed": multiworld.seed_name,
|
"Seed": multiworld.seed_name,
|
||||||
"Slot": player,
|
"Slot": player,
|
||||||
"Name": self.player_name,
|
"Name": self.player_name,
|
||||||
"Options": self.options.as_dict(*self.options_dataclass.type_hints),
|
"Options": self.options.get_output_dict(),
|
||||||
"Required Bosses": self.boss_reqs.required_boss_item_locations,
|
"Required Bosses": self.boss_reqs.required_boss_item_locations,
|
||||||
"Locations": {},
|
"Locations": {},
|
||||||
"Entrances": {},
|
"Entrances": {},
|
||||||
|
Reference in New Issue
Block a user