Shivers: Follow on PR to cleanup options #4401
This commit is contained in:
parent
3bcc86f539
commit
ca1b3df45b
|
@ -1,7 +1,8 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
from Options import (
|
||||
Choice, DefaultOnToggle, ItemDict, ItemSet, LocationSet, OptionGroup, PerGameCommonOptions, Range, Toggle,
|
||||
Choice, DefaultOnToggle, ExcludeLocations, LocalItems, NonLocalItems, OptionGroup, PerGameCommonOptions,
|
||||
PriorityLocations, Range, StartHints, StartInventory, StartLocationHints, Toggle,
|
||||
)
|
||||
from . import ItemType, item_table
|
||||
from .Constants import location_info
|
||||
|
@ -129,53 +130,38 @@ valid_item_keys = [name for name, data in item_table.items() if data.type != Ite
|
|||
valid_location_keys = [name for name in location_info["all_locations"] if name != "Mystery Solved"]
|
||||
|
||||
|
||||
class LocalItems(ItemSet):
|
||||
"""Forces these items to be in their native world."""
|
||||
display_name = "Local Items"
|
||||
rich_text_doc = True
|
||||
class ShiversLocalItems(LocalItems):
|
||||
__doc__ = LocalItems.__doc__
|
||||
valid_keys = valid_item_keys
|
||||
|
||||
|
||||
class NonLocalItems(ItemSet):
|
||||
"""Forces these items to be outside their native world."""
|
||||
display_name = "Non-local Items"
|
||||
rich_text_doc = True
|
||||
class ShiversNonLocalItems(NonLocalItems):
|
||||
__doc__ = NonLocalItems.__doc__
|
||||
valid_keys = valid_item_keys
|
||||
|
||||
|
||||
class StartInventory(ItemDict):
|
||||
"""Start with these items."""
|
||||
verify_item_name = True
|
||||
display_name = "Start Inventory"
|
||||
rich_text_doc = True
|
||||
class ShiversStartInventory(StartInventory):
|
||||
__doc__ = StartInventory.__doc__
|
||||
valid_keys = valid_item_keys
|
||||
|
||||
|
||||
class StartHints(ItemSet):
|
||||
"""Start with these item's locations prefilled into the ``!hint`` command."""
|
||||
display_name = "Start Hints"
|
||||
rich_text_doc = True
|
||||
class ShiversStartHints(StartHints):
|
||||
__doc__ = StartHints.__doc__
|
||||
valid_keys = valid_item_keys
|
||||
|
||||
|
||||
class StartLocationHints(LocationSet):
|
||||
"""Start with these locations and their item prefilled into the ``!hint`` command."""
|
||||
display_name = "Start Location Hints"
|
||||
rich_text_doc = True
|
||||
class ShiversStartLocationHints(StartLocationHints):
|
||||
__doc__ = StartLocationHints.__doc__
|
||||
valid_keys = valid_location_keys
|
||||
|
||||
|
||||
class ExcludeLocations(LocationSet):
|
||||
"""Prevent these locations from having an important item."""
|
||||
display_name = "Excluded Locations"
|
||||
rich_text_doc = True
|
||||
class ShiversExcludeLocations(ExcludeLocations):
|
||||
__doc__ = ExcludeLocations.__doc__
|
||||
valid_keys = valid_location_keys
|
||||
|
||||
|
||||
class PriorityLocations(LocationSet):
|
||||
"""Prevent these locations from having an unimportant item."""
|
||||
display_name = "Priority Locations"
|
||||
rich_text_doc = True
|
||||
class ShiversPriorityLocations(PriorityLocations):
|
||||
__doc__ = PriorityLocations.__doc__
|
||||
valid_keys = valid_location_keys
|
||||
|
||||
|
||||
|
@ -192,23 +178,25 @@ class ShiversOptions(PerGameCommonOptions):
|
|||
location_pot_pieces: LocationPotPieces
|
||||
full_pots: FullPots
|
||||
puzzle_collect_behavior: PuzzleCollectBehavior
|
||||
local_items: LocalItems
|
||||
non_local_items: NonLocalItems
|
||||
start_inventory: StartInventory
|
||||
start_hints: StartHints
|
||||
start_location_hints: StartLocationHints
|
||||
exclude_locations: ExcludeLocations
|
||||
priority_locations: PriorityLocations
|
||||
local_items: ShiversLocalItems
|
||||
non_local_items: ShiversNonLocalItems
|
||||
start_inventory: ShiversStartInventory
|
||||
start_hints: ShiversStartHints
|
||||
start_location_hints: ShiversStartLocationHints
|
||||
exclude_locations: ShiversExcludeLocations
|
||||
priority_locations: ShiversPriorityLocations
|
||||
|
||||
|
||||
shivers_option_groups = [
|
||||
OptionGroup("Item & Location Options", [
|
||||
LocalItems,
|
||||
NonLocalItems,
|
||||
StartInventory,
|
||||
StartHints,
|
||||
StartLocationHints,
|
||||
ExcludeLocations,
|
||||
PriorityLocations
|
||||
], True),
|
||||
OptionGroup(
|
||||
"Item & Location Options", [
|
||||
ShiversLocalItems,
|
||||
ShiversNonLocalItems,
|
||||
ShiversStartInventory,
|
||||
ShiversStartHints,
|
||||
ShiversStartLocationHints,
|
||||
ShiversExcludeLocations,
|
||||
ShiversPriorityLocations
|
||||
], True,
|
||||
),
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue