mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Celeste 64: v1.2 Content Update (#3210)
* Cleanup and new option support * Handle new locations * Support higher Strawberry counts * Don't add start inventory items to the pool * Support Move Shuffle functionality and items * Hard and Move Shuffle Logic * Fix Options * Update CHANGELOG.md * Add standard moves logic for signs 3 and 4 * Fix Option Tooltip * Add tracker link to setup guide * Fix unit test * Fix option tooltips * Missing Space * Move option checking out of rule function * Delete just_gen500.bat
This commit is contained in:
@@ -1,25 +1,124 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from Options import Range, DeathLink, PerGameCommonOptions
|
||||
from Options import Choice, Range, Toggle, DeathLink, PerGameCommonOptions
|
||||
|
||||
|
||||
class StrawberriesRequired(Range):
|
||||
"""How many Strawberries you must receive to finish"""
|
||||
display_name = "Strawberries Required"
|
||||
range_start = 0
|
||||
range_end = 20
|
||||
default = 15
|
||||
|
||||
class DeathLinkAmnesty(Range):
|
||||
"""How many deaths it takes to send a DeathLink"""
|
||||
"""
|
||||
How many deaths it takes to send a DeathLink
|
||||
"""
|
||||
display_name = "Death Link Amnesty"
|
||||
range_start = 1
|
||||
range_end = 30
|
||||
default = 10
|
||||
|
||||
class TotalStrawberries(Range):
|
||||
"""
|
||||
How many Strawberries exist
|
||||
"""
|
||||
display_name = "Total Strawberries"
|
||||
range_start = 0
|
||||
range_end = 46
|
||||
default = 20
|
||||
|
||||
class StrawberriesRequiredPercentage(Range):
|
||||
"""
|
||||
Percentage of existing Strawberries you must receive to finish
|
||||
"""
|
||||
display_name = "Strawberries Required Percentage"
|
||||
range_start = 0
|
||||
range_end = 100
|
||||
default = 80
|
||||
|
||||
|
||||
class LogicDifficulty(Choice):
|
||||
"""
|
||||
Whether the logic expects you to play the intended way, or to be able to use advanced tricks and skips
|
||||
"""
|
||||
display_name = "Logic Difficulty"
|
||||
option_standard = 0
|
||||
option_hard = 1
|
||||
default = 0
|
||||
|
||||
class MoveShuffle(Toggle):
|
||||
"""
|
||||
Whether the following base movement abilities are shuffled into the item pool:
|
||||
- Ground Dash
|
||||
- Air Dash
|
||||
- Skid Jump
|
||||
- Climb
|
||||
NOTE: Having Move Shuffle and Standard Logic Difficulty will guarantee that one of the four Move items will be immediately accessible
|
||||
WARNING: Combining Move Shuffle and Hard Logic Difficulty can require very difficult tricks
|
||||
"""
|
||||
display_name = "Move Shuffle"
|
||||
|
||||
|
||||
class Friendsanity(Toggle):
|
||||
"""
|
||||
Whether chatting with your friends grants location checks
|
||||
"""
|
||||
display_name = "Friendsanity"
|
||||
|
||||
class Signsanity(Toggle):
|
||||
"""
|
||||
Whether reading signs grants location checks
|
||||
"""
|
||||
display_name = "Signsanity"
|
||||
|
||||
class Carsanity(Toggle):
|
||||
"""
|
||||
Whether riding on cars grants location checks
|
||||
"""
|
||||
display_name = "Carsanity"
|
||||
|
||||
|
||||
class BadelineChaserSource(Choice):
|
||||
"""
|
||||
What type of action causes more Badeline Chasers to start spawning
|
||||
Locations: The number of locations you've checked contributes to Badeline Chasers
|
||||
Strawberries: The number of Strawberry items you've received contributes to Badeline Chasers
|
||||
"""
|
||||
display_name = "Badeline Chaser Source"
|
||||
option_locations = 0
|
||||
option_strawberries = 1
|
||||
default = 0
|
||||
|
||||
class BadelineChaserFrequency(Range):
|
||||
"""
|
||||
How many of the `Badeline Chaser Source` actions must occur to make each Badeline Chaser start spawning
|
||||
NOTE: Choosing `0` disables Badeline Chasers entirely
|
||||
WARNING: Turning on Badeline Chasers alongside Move Shuffle could result in extremely difficult situations
|
||||
"""
|
||||
display_name = "Badeline Chaser Frequency"
|
||||
range_start = 0
|
||||
range_end = 10
|
||||
default = 0
|
||||
|
||||
class BadelineChaserSpeed(Range):
|
||||
"""
|
||||
How many seconds behind you each Badeline Chaser will be
|
||||
"""
|
||||
display_name = "Badeline Chaser Speed"
|
||||
range_start = 2
|
||||
range_end = 10
|
||||
default = 3
|
||||
|
||||
|
||||
@dataclass
|
||||
class Celeste64Options(PerGameCommonOptions):
|
||||
death_link: DeathLink
|
||||
death_link_amnesty: DeathLinkAmnesty
|
||||
strawberries_required: StrawberriesRequired
|
||||
|
||||
total_strawberries: TotalStrawberries
|
||||
strawberries_required_percentage: StrawberriesRequiredPercentage
|
||||
|
||||
logic_difficulty: LogicDifficulty
|
||||
move_shuffle: MoveShuffle
|
||||
|
||||
friendsanity: Friendsanity
|
||||
signsanity: Signsanity
|
||||
carsanity: Carsanity
|
||||
|
||||
badeline_chaser_source: BadelineChaserSource
|
||||
badeline_chaser_frequency: BadelineChaserFrequency
|
||||
badeline_chaser_speed: BadelineChaserSpeed
|
||||
|
Reference in New Issue
Block a user