Skip to content

Commit 44f4929

Browse files
PoryGonesflavelle
authored andcommitted
Celeste 64: Option Groups (ArchipelagoMW#3321)
* Celeste 64: Option Groups * Retarget OptionGroup import
1 parent 3279332 commit 44f4929

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

worlds/celeste64/Options.py

+25-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from dataclasses import dataclass
22

3-
from Options import Choice, Range, Toggle, DeathLink, PerGameCommonOptions
3+
from Options import Choice, Range, Toggle, DeathLink, OptionGroup, PerGameCommonOptions
44

55

66
class DeathLinkAmnesty(Range):
@@ -47,7 +47,9 @@ class MoveShuffle(Toggle):
4747
- Air Dash
4848
- Skid Jump
4949
- Climb
50+
5051
NOTE: Having Move Shuffle and Standard Logic Difficulty will guarantee that one of the four Move items will be immediately accessible
52+
5153
WARNING: Combining Move Shuffle and Hard Logic Difficulty can require very difficult tricks
5254
"""
5355
display_name = "Move Shuffle"
@@ -75,7 +77,9 @@ class Carsanity(Toggle):
7577
class BadelineChaserSource(Choice):
7678
"""
7779
What type of action causes more Badeline Chasers to start spawning
80+
7881
Locations: The number of locations you've checked contributes to Badeline Chasers
82+
7983
Strawberries: The number of Strawberry items you've received contributes to Badeline Chasers
8084
"""
8185
display_name = "Badeline Chaser Source"
@@ -86,7 +90,9 @@ class BadelineChaserSource(Choice):
8690
class BadelineChaserFrequency(Range):
8791
"""
8892
How many of the `Badeline Chaser Source` actions must occur to make each Badeline Chaser start spawning
93+
8994
NOTE: Choosing `0` disables Badeline Chasers entirely
95+
9096
WARNING: Turning on Badeline Chasers alongside Move Shuffle could result in extremely difficult situations
9197
"""
9298
display_name = "Badeline Chaser Frequency"
@@ -104,6 +110,24 @@ class BadelineChaserSpeed(Range):
104110
default = 3
105111

106112

113+
celeste_64_option_groups = [
114+
OptionGroup("Goal Options", [
115+
TotalStrawberries,
116+
StrawberriesRequiredPercentage,
117+
]),
118+
OptionGroup("Sanity Options", [
119+
Friendsanity,
120+
Signsanity,
121+
Carsanity,
122+
]),
123+
OptionGroup("Badeline Chasers", [
124+
BadelineChaserSource,
125+
BadelineChaserFrequency,
126+
BadelineChaserSpeed,
127+
]),
128+
]
129+
130+
107131
@dataclass
108132
class Celeste64Options(PerGameCommonOptions):
109133
death_link: DeathLink

worlds/celeste64/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from .Locations import Celeste64Location, strawberry_location_data_table, friend_location_data_table,\
88
sign_location_data_table, car_location_data_table, location_table
99
from .Names import ItemName, LocationName
10-
from .Options import Celeste64Options
10+
from .Options import Celeste64Options, celeste_64_option_groups
1111

1212

1313
class Celeste64WebWorld(WebWorld):
@@ -24,6 +24,8 @@ class Celeste64WebWorld(WebWorld):
2424

2525
tutorials = [setup_en]
2626

27+
option_groups = celeste_64_option_groups
28+
2729

2830
class Celeste64World(World):
2931
"""Relive the magic of Celeste Mountain alongside Madeline in this small, heartfelt 3D platformer.

0 commit comments

Comments
 (0)