Files
Grinch-AP/worlds/grinch/Options.py

79 lines
2.7 KiB
Python
Raw Normal View History

2025-07-25 19:33:51 -04:00
from dataclasses import dataclass
2025-07-25 16:24:08 -04:00
2025-07-25 19:33:51 -04:00
from Options import FreeText, NumericOption, Toggle, DefaultOnToggle, Choice, TextChoice, Range, NamedRange, OptionList, \
PerGameCommonOptions
class ProgressiveVacuum(Toggle):#DefaultOnToggle
2025-07-25 19:33:51 -04:00
"""
Determines whether you get access to main areas progressively [NOT IMPLEMENTED]
Enabled: Whoville > Who Forest > Who Dump > Who Lake
2025-07-25 19:33:51 -04:00
"""
display_name = "Progressive Vacuum Access"
2025-07-25 16:24:08 -04:00
class Missionsanity(Choice):
"""
How mission checks are randomized in the pool [NOT IMPLEMENTED]
None: Does not add mission checks
Completion: Only completing the mission gives you a check
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
option_individual = 2
option_both = 3
default = 1
class StartingArea(Choice):
"""
Here, you can select which area you'll start the game with.
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
option_who_lake = 3
default = 0
display_name = "Starting Area"
2025-07-25 16:24:08 -04:00
class Supadow(Toggle):
"""Enables completing minigames through the Supadows in Mount Crumpit as checks. (9 locations) [NOT IMPLEMENTED]"""
display_name = "Supadow Minigame Locations"#
2025-07-25 19:33:51 -04:00
class Gifts(Toggle):
"""Missions that require you to squash every present in a level. (4 locations) [NOT IMPLEMENTED]"""
display_name = "Gift Collection Locations"
2025-07-25 16:24:08 -04:00
class Movesanity(Toggle):
"""Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]"""
display_name = "Movesanity"
2025-07-25 16:24:08 -04:00
2025-07-25 19:33:51 -04:00
class UnlimitedRottenEggs(Toggle):
"""Determine whether or not you run out of rotten eggs when you utilize your gadgets. [NOT IMPLEMENTED]"""
2025-07-25 19:33:51 -04:00
display_name = "Unlimited Rotten Eggs"
2025-08-03 13:39:32 -04:00
class RingLinkOption(Toggle):
"""Whenever this is toggled, your ammo is linked with other ringlink-compatible games that also have this enabled. [NOT IMPLEMENTED]"""
class TrapLinkOption(Toggle):
"""If a trap is sent from Grinch, traps that are compatible with other games are triggered aswell. [NOT IMPLEMENTED]"""
2025-08-03 13:39:32 -04:00
2025-07-25 19:33:51 -04:00
@dataclass
class GrinchOptions(PerGameCommonOptions):#DeathLinkMixin
progressive_vacuum: ProgressiveVacuum
missionsanity: Missionsanity
unlimited_rotten_eggs: UnlimitedRottenEggs
ring_link: RingLinkOption
trap_link: TrapLinkOption
minigamesanity: Supadow
giftsanity: Gifts
movesanity: Movesanity
starting_area: StartingArea