diff --git a/worlds/bumpstik/Options.py b/worlds/bumpstik/Options.py index 021f10af20..c0637b2573 100644 --- a/worlds/bumpstik/Options.py +++ b/worlds/bumpstik/Options.py @@ -4,7 +4,8 @@ # https://opensource.org/licenses/MIT import typing -from Options import Option, Range +from Options import Option, Range, PerGameCommonOptions +from dataclasses import dataclass class TaskAdvances(Range): @@ -69,12 +70,12 @@ class KillerTrapWeight(Range): default = 0 -bumpstik_options: typing.Dict[str, type(Option)] = { - "task_advances": TaskAdvances, - "turners": Turners, - "paint_cans": PaintCans, - "trap_count": Traps, - "rainbow_trap_weight": RainbowTrapWeight, - "spinner_trap_weight": SpinnerTrapWeight, - "killer_trap_weight": KillerTrapWeight -} +@dataclass +class BumpStikOptions(PerGameCommonOptions): + task_advances: TaskAdvances + turners: Turners + paint_cans: PaintCans + trap_count: Traps + rainbow_trap_weight: RainbowTrapWeight + spinner_trap_weight: SpinnerTrapWeight + killer_trap_weight: KillerTrapWeight diff --git a/worlds/bumpstik/__init__.py b/worlds/bumpstik/__init__.py index 64b3d85c4d..ca29f4fad8 100644 --- a/worlds/bumpstik/__init__.py +++ b/worlds/bumpstik/__init__.py @@ -43,7 +43,8 @@ class BumpStikWorld(World): required_client_version = (0, 3, 8) - option_definitions = bumpstik_options + options = BumpStikOptions + options_dataclass = BumpStikOptions def __init__(self, world: MultiWorld, player: int): super(BumpStikWorld, self).__init__(world, player)