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

@@ -1,13 +1,26 @@
from dataclasses import dataclass
from Options import FreeText, NumericOption, Toggle, DefaultOnToggle, Choice, TextChoice, Range, NamedRange, OptionList, \
PerGameCommonOptions, OptionSet
from Options import (
FreeText,
NumericOption,
Toggle,
DefaultOnToggle,
Choice,
TextChoice,
Range,
NamedRange,
OptionList,
PerGameCommonOptions,
OptionSet,
)
class StartingArea(Choice):
"""
Here, you can select which area you'll start the game with. [NOT IMPLEMENTED]
Whichever one you pick is the region you'll have access to at the start of the Multiworld.
"""
option_whoville = 0
option_who_forest = 1
option_who_dump = 2
@@ -15,14 +28,17 @@ class StartingArea(Choice):
default = 0
display_name = "Starting Area"
class ProgressiveVacuum(Toggle):#DefaultOnToggle
class ProgressiveVacuum(Toggle): # DefaultOnToggle
"""
Determines whether you get access to main areas progressively [NOT IMPLEMENTED]
Enabled: Whoville > Who Forest > Who Dump > Who Lake
"""
display_name = "Progressive Vacuum Tubes"
class Missionsanity(Choice):
"""
How mission checks are randomized in the pool [NOT IMPLEMENTED]
@@ -32,6 +48,7 @@ class Missionsanity(Choice):
Individual: Individual tasks for one mission, such as individual snowmen squashed, are checks.
Both: Both individual tasks and mission completion are randomized.
"""
display_name = "Mission Locations"
option_none = 0
option_completion = 1
@@ -39,6 +56,7 @@ class Missionsanity(Choice):
option_both = 3
default = 1
class ExcludeEnvironments(OptionSet):
"""
Allows entire environments to be an excluded location to ensure you are not logically required to enter the environment along
@@ -51,50 +69,80 @@ class ExcludeEnvironments(OptionSet):
"Ski Resort", "Civic Center", "Minefield", "Power Plant", "Generator Building", "Scout's Hut",
"North Shore", "Mayor's Villa", "Sleigh Ride"
"""
display_name = "Exclude Environments"
valid_keys = {"Whoville", "Who Forest", "Who Dump", "Who Lake", "Post Office", "Clock Tower", "City Hall",
"Ski Resort", "Civic Center", "Minefield", "Power Plant", "Generator Building", "Scout's Hut",
"North Shore", "Mayor's Villa", "Sleigh Ride"}
class ProgressiveGadget(Toggle):#DefaultOnToggle
display_name = "Exclude Environments"
valid_keys = {
"Whoville",
"Who Forest",
"Who Dump",
"Who Lake",
"Post Office",
"Clock Tower",
"City Hall",
"Ski Resort",
"Civic Center",
"Minefield",
"Power Plant",
"Generator Building",
"Scout's Hut",
"North Shore",
"Mayor's Villa",
"Sleigh Ride",
}
class ProgressiveGadget(Toggle): # DefaultOnToggle
"""
Determines whether you get access to a gadget as individual blueprint count. [NOT IMPLEMENTED]
"""
display_name = "Progressive Gadgets"
class Supadow(Toggle):
"""Enables completing minigames through the Supadows in Mount Crumpit as checks. NOT IMPLEMENTED]"""
display_name = "Supadow Minigames"
class Gifts(Range):
"""
Considers how many gifts must be squashed per check.
Enabling this will also enable squashing all gifts in a region mission along side this. [NOT IMPLEMENTED]
"""
display_name = "Gifts Squashed per Check"
range_start = 0
range_end = 300
default = 0
class Moverando(Toggle):
"""Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]
"""
"""Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]"""
display_name = "Moves Randomized"
class UnlimitedEggs(Toggle):
"""Determine whether or not you run out of rotten eggs when you utilize your gadgets."""
display_name = "Unlimited Rotten Eggs"
class RingLinkOption(Toggle):
"""Whenever this is toggled, your ammo is linked with other ringlink-compatible games that also have this enabled."""
display_name = "Ring Link"
class TrapLinkOption(Toggle):
"""If a trap is sent from Grinch, traps that are compatible with other games are triggered as well. [NOT IMPLEMENTED]"""
display_name = "Trap Link"
@dataclass
class GrinchOptions(PerGameCommonOptions):#DeathLinkMixin
class GrinchOptions(PerGameCommonOptions): # DeathLinkMixin
starting_area: StartingArea
progressive_vacuum: ProgressiveVacuum
missionsanity: Missionsanity