Super Mario 64: Option groups (#4161)
* sm64ex: add option groups * sm64ex: rename sanity options group to item options * sm64ex: rename sanity options group to logic options * sm64ex: seperate star costs from goal options and add entrance rando to logic options * sm64ex: seperate ability options from logic options group
This commit is contained in:
parent
1ba7700283
commit
faeb54224e
|
@ -1,6 +1,6 @@
|
|||
import typing
|
||||
from dataclasses import dataclass
|
||||
from Options import DefaultOnToggle, Range, Toggle, DeathLink, Choice, PerGameCommonOptions, OptionSet
|
||||
from Options import DefaultOnToggle, Range, Toggle, DeathLink, Choice, PerGameCommonOptions, OptionSet, OptionGroup
|
||||
from .Items import action_item_table
|
||||
|
||||
class EnableCoinStars(DefaultOnToggle):
|
||||
|
@ -127,6 +127,32 @@ class MoveRandomizerActions(OptionSet):
|
|||
valid_keys = [action for action in action_item_table if action != 'Double Jump']
|
||||
default = valid_keys
|
||||
|
||||
sm64_options_groups = [
|
||||
OptionGroup("Logic Options", [
|
||||
AreaRandomizer,
|
||||
BuddyChecks,
|
||||
ExclamationBoxes,
|
||||
ProgressiveKeys,
|
||||
EnableCoinStars,
|
||||
StrictCapRequirements,
|
||||
StrictCannonRequirements,
|
||||
]),
|
||||
OptionGroup("Ability Options", [
|
||||
EnableMoveRandomizer,
|
||||
MoveRandomizerActions,
|
||||
StrictMoveRequirements,
|
||||
]),
|
||||
OptionGroup("Star Options", [
|
||||
AmountOfStars,
|
||||
FirstBowserStarDoorCost,
|
||||
BasementStarDoorCost,
|
||||
SecondFloorStarDoorCost,
|
||||
MIPS1Cost,
|
||||
MIPS2Cost,
|
||||
StarsToFinish,
|
||||
]),
|
||||
]
|
||||
|
||||
@dataclass
|
||||
class SM64Options(PerGameCommonOptions):
|
||||
area_rando: AreaRandomizer
|
||||
|
|
|
@ -3,7 +3,7 @@ import os
|
|||
import json
|
||||
from .Items import item_table, action_item_table, cannon_item_table, SM64Item
|
||||
from .Locations import location_table, SM64Location
|
||||
from .Options import SM64Options
|
||||
from .Options import sm64_options_groups, SM64Options
|
||||
from .Rules import set_rules
|
||||
from .Regions import create_regions, sm64_level_to_entrances, SM64Levels
|
||||
from BaseClasses import Item, Tutorial, ItemClassification, Region
|
||||
|
@ -20,6 +20,8 @@ class SM64Web(WebWorld):
|
|||
["N00byKing"]
|
||||
)]
|
||||
|
||||
option_groups = sm64_options_groups
|
||||
|
||||
|
||||
class SM64World(World):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue