Linted worlds/grinch files through python Black

Moved Item name references to a class-based Enum to improve future QoL
Moved categories to an Enum to improve future QoL
Replace bit_size with byte_size to match what the variable is actually measuring
Moved Sleigh Parts regions to match where you actually get the checks
Updated the RAM Handler with comments, renamed bit_size to byte_size, replaced update_value with update_method that now takes one of several methods, and created an __init__ function

NOTE: DOES NOT CURRENLTY FUNCTION
This commit is contained in:
2025-10-27 13:17:04 -06:00
parent 6f552949fa
commit d0a8df25f6
7 changed files with 2876 additions and 902 deletions

View File

@@ -13,7 +13,7 @@ mainareas_list = [
"Whoville",
"Who Forest",
"Who Dump",
"Who Lake"
"Who Lake",
]
subareas_list = [
@@ -29,29 +29,35 @@ subareas_list = [
"Scout's Hut",
"North Shore",
"Mayor's Villa",
"Sleigh Room"
"Sleigh Room",
]
supadow_list = [
"Spin N' Win Supadow",
"Dankamania Supadow",
"The Copter Race Contest Supadow",
"Bike Race"
"Bike Race",
]
def create_regions(world: "GrinchWorld"):
for mainarea in mainareas_list:
#Each area in mainarea, create a region for the given player
world.multiworld.regions.append(Region(mainarea, world.player, world.multiworld))
# Each area in mainarea, create a region for the given player
world.multiworld.regions.append(
Region(mainarea, world.player, world.multiworld)
)
for subarea in subareas_list:
#Each area in subarea, create a region for the given player
# Each area in subarea, create a region for the given player
world.multiworld.regions.append(Region(subarea, world.player, world.multiworld))
for supadow in supadow_list:
#Each area in supadow, create a region for the given player
# Each area in supadow, create a region for the given player
world.multiworld.regions.append(Region(supadow, world.player, world.multiworld))
# TODO Optimize this function
def grinchconnect(world: "GrinchWorld", current_region_name: str, connected_region_name: str):
def grinchconnect(
world: "GrinchWorld", current_region_name: str, connected_region_name: str
):
current_region = world.get_region(current_region_name)
connected_region = world.get_region(connected_region_name)
required_items: list[list[str]] = access_rules_dict[connected_region.name]
@@ -62,21 +68,26 @@ def grinchconnect(world: "GrinchWorld", current_region_name: str, connected_regi
connected_region.connect(current_region)
for access_rule in rule_list:
for region_entrance in current_region.entrances:
if region_entrance.connected_region.name == current_region_name and \
region_entrance.parent_region.name == connected_region_name:
if (
region_entrance.connected_region.name == current_region_name
and region_entrance.parent_region.name == connected_region_name
):
if rule_list.index(access_rule) == 0:
add_rule(region_entrance, access_rule)
else:
add_rule(region_entrance, access_rule, combine="or")
for region_entrance in connected_region.entrances:
if region_entrance.connected_region.name == connected_region_name and \
region_entrance.parent_region.name == current_region_name:
if (
region_entrance.connected_region.name == connected_region_name
and region_entrance.parent_region.name == current_region_name
):
if rule_list.index(access_rule) == 0:
add_rule(region_entrance, access_rule)
else:
add_rule(region_entrance, access_rule, combine="or")
#What regions are connected to each other
# What regions are connected to each other
def connect_regions(world: "GrinchWorld"):
grinchconnect(world, "Mount Crumpit", "Whoville")
grinchconnect(world, "Mount Crumpit", "Who Forest")