diff --git a/worlds/smz3/Options.py b/worlds/smz3/Options.py index 7df01f8710e1..440f47b4b50a 100644 --- a/worlds/smz3/Options.py +++ b/worlds/smz3/Options.py @@ -1,6 +1,6 @@ import typing -from Options import Choice, Option, PerGameCommonOptions, Toggle, DefaultOnToggle, Range, ItemsAccessibility -from dataclasses import dataclass + +from Options import Choice, Option, Toggle, DefaultOnToggle, Range, ItemsAccessibility, StartInventoryPool class SMLogic(Choice): """This option selects what kind of logic to use for item placement inside @@ -127,19 +127,21 @@ class EnergyBeep(DefaultOnToggle): """Toggles the low health energy beep in Super Metroid.""" display_name = "Energy Beep" -@dataclass -class SMZ3Options(PerGameCommonOptions): - accessibility: ItemsAccessibility - sm_logic: SMLogic - sword_location: SwordLocation - morph_location: MorphLocation - goal: Goal - key_shuffle: KeyShuffle - open_tower: OpenTower - ganon_vulnerable: GanonVulnerable - open_tourian: OpenTourian - spin_jumps_animation: SpinJumpsAnimation - heart_beep_speed: HeartBeepSpeed - heart_color: HeartColor - quick_swap: QuickSwap - energy_beep: EnergyBeep + +smz3_options: typing.Dict[str, type(Option)] = { + "start_inventory_from_pool": StartInventoryPool, + "accessibility": ItemsAccessibility, + "sm_logic": SMLogic, + "sword_location": SwordLocation, + "morph_location": MorphLocation, + "goal": Goal, + "key_shuffle": KeyShuffle, + "open_tower": OpenTower, + "ganon_vulnerable": GanonVulnerable, + "open_tourian": OpenTourian, + "spin_jumps_animation": SpinJumpsAnimation, + "heart_beep_speed": HeartBeepSpeed, + "heart_color": HeartColor, + "quick_swap": QuickSwap, + "energy_beep": EnergyBeep + }