@@ -119,14 +119,14 @@ def set_rules(world, options: SM64Options, player: int, area_connections: dict,
119
119
rf .assign_rule ("BoB: Mario Wings to the Sky" , "CANN & WC | CAPLESS & CANN" )
120
120
rf .assign_rule ("BoB: Behind Chain Chomp's Gate" , "GP | MOVELESS" )
121
121
# Whomp's Fortress
122
- rf .assign_rule ("WF: Tower" , "{{WF: Chip Off Whomp's Block}} " )
122
+ rf .assign_rule ("WF: Tower" , "GP " )
123
123
rf .assign_rule ("WF: Chip Off Whomp's Block" , "GP" )
124
124
rf .assign_rule ("WF: Shoot into the Wild Blue" , "WK & TJ/SF | CANN" )
125
125
rf .assign_rule ("WF: Fall onto the Caged Island" , "CL & {WF: Tower} | MOVELESS & TJ | MOVELESS & LJ | MOVELESS & CANN" )
126
126
rf .assign_rule ("WF: Blast Away the Wall" , "CANN | CANNLESS & LG" )
127
127
# Jolly Roger Bay
128
128
rf .assign_rule ("JRB: Upper" , "TJ/BF/SF/WK | MOVELESS & LG" )
129
- rf .assign_rule ("JRB: Red Coins on the Ship Afloat" , "CL/CANN/TJ/ BF/WK" )
129
+ rf .assign_rule ("JRB: Red Coins on the Ship Afloat" , "CL/CANN/TJ | MOVELESS & BF/WK" )
130
130
rf .assign_rule ("JRB: Blast to the Stone Pillar" , "CANN+CL | CANNLESS & MOVELESS | CANN & MOVELESS" )
131
131
rf .assign_rule ("JRB: Through the Jet Stream" , "MC | CAPLESS" )
132
132
# Cool, Cool Mountain
@@ -147,9 +147,10 @@ def set_rules(world, options: SM64Options, player: int, area_connections: dict,
147
147
rf .assign_rule ("LLL: Upper Volcano" , "CL" )
148
148
# Shifting Sand Land
149
149
rf .assign_rule ("SSL: Upper Pyramid" , "CL & TJ/BF/SF/LG | MOVELESS" )
150
- rf .assign_rule ("SSL: Free Flying for 8 Red Coins" , "TJ/SF/BF & TJ+WC | TJ/SF/BF & CAPLESS | MOVELESS & CAPLESS" )
150
+ rf .assign_rule ("SSL: Stand Tall on the Four Pillars" , "TJ+WC+GP | CANN+WC+GP | TJ/SF/BF & CAPLESS | MOVELESS" )
151
+ rf .assign_rule ("SSL: Free Flying for 8 Red Coins" , "TJ+WC | CANN+WC | TJ/SF/BF & CAPLESS | MOVELESS & CAPLESS" )
151
152
# Dire, Dire Docks
152
- rf .assign_rule ("DDD: Moving Poles " , "CL & {{Bowser in the Fire Sea Key}} | TJ+DV+LG+WK & MOVELESS" )
153
+ rf .assign_rule ("DDD: Pole-Jumping for Red Coins " , "CL & {{Bowser in the Fire Sea Key}} | TJ+DV+LG+WK & MOVELESS" )
153
154
rf .assign_rule ("DDD: Through the Jet Stream" , "MC | CAPLESS" )
154
155
rf .assign_rule ("DDD: Collect the Caps..." , "VC+MC | CAPLESS & VC" )
155
156
# Snowman's Land
@@ -173,15 +174,14 @@ def set_rules(world, options: SM64Options, player: int, area_connections: dict,
173
174
rf .assign_rule ("THI: Make Wiggler Squirm" , "GP | MOVELESS & DV" )
174
175
# Tick Tock Clock
175
176
rf .assign_rule ("TTC: Lower" , "LG/TJ/SF/BF/WK" )
176
- rf .assign_rule ("TTC: Upper" , "CL | SF+WK" )
177
- rf .assign_rule ("TTC: Top" , "CL | SF+WK" )
178
- rf .assign_rule ("TTC: Stomp on the Thwomp" , "LG & TJ/SF/BF" )
177
+ rf .assign_rule ("TTC: Upper" , "CL | MOVELESS & WK" )
178
+ rf .assign_rule ("TTC: Top" , "TJ+LG | MOVELESS & WK/TJ" )
179
179
rf .assign_rule ("TTC: Stop Time for Red Coins" , "NAR | {TTC: Lower}" )
180
180
# Rainbow Ride
181
181
rf .assign_rule ("RR: Maze" , "WK | LJ & SF/BF/TJ | MOVELESS & LG/TJ" )
182
182
rf .assign_rule ("RR: Bob-omb Buddy" , "WK | MOVELESS & LG" )
183
- rf .assign_rule ("RR: Swingin' in the Breeze" , "LG/TJ/BF/SF" )
184
- rf .assign_rule ("RR: Tricky Triangles!" , "LG/TJ/BF/SF" )
183
+ rf .assign_rule ("RR: Swingin' in the Breeze" , "LG/TJ/BF/SF | MOVELESS " )
184
+ rf .assign_rule ("RR: Tricky Triangles!" , "LG/TJ/BF/SF | MOVELESS " )
185
185
rf .assign_rule ("RR: Cruiser" , "WK/SF/BF/LG/TJ" )
186
186
rf .assign_rule ("RR: House" , "TJ/SF/BF/LG" )
187
187
rf .assign_rule ("RR: Somewhere Over the Rainbow" , "CANN" )
@@ -206,8 +206,8 @@ def set_rules(world, options: SM64Options, player: int, area_connections: dict,
206
206
rf .assign_rule ("JRB: 100 Coins" , "GP & {JRB: Upper}" )
207
207
rf .assign_rule ("HMC: 100 Coins" , "GP" )
208
208
rf .assign_rule ("SSL: 100 Coins" , "{SSL: Upper Pyramid} | GP" )
209
- rf .assign_rule ("DDD: 100 Coins" , "GP" )
210
- rf .assign_rule ("SL: 100 Coins" , "VC | MOVELESS " )
209
+ rf .assign_rule ("DDD: 100 Coins" , "GP & {{DDD: Pole-Jumping for Red Coins}} " )
210
+ rf .assign_rule ("SL: 100 Coins" , "VC | CAPLESS " )
211
211
rf .assign_rule ("WDW: 100 Coins" , "GP | {WDW: Downtown}" )
212
212
rf .assign_rule ("TTC: 100 Coins" , "GP" )
213
213
rf .assign_rule ("THI: 100 Coins" , "GP" )
@@ -246,6 +246,7 @@ class RuleFactory:
246
246
247
247
token_table = {
248
248
"TJ" : "Triple Jump" ,
249
+ "DJ" : "Triple Jump" ,
249
250
"LJ" : "Long Jump" ,
250
251
"BF" : "Backflip" ,
251
252
"SF" : "Side Flip" ,
@@ -270,7 +271,7 @@ def __init__(self, world, options: SM64Options, player: int, move_rando_bitvec:
270
271
self .area_randomizer = options .area_rando > 0
271
272
self .capless = not options .strict_cap_requirements
272
273
self .cannonless = not options .strict_cannon_requirements
273
- self .moveless = not options .strict_move_requirements or not move_rando_bitvec > 0
274
+ self .moveless = not options .strict_move_requirements
274
275
275
276
def assign_rule (self , target_name : str , rule_expr : str ):
276
277
target = self .world .get_location (target_name , self .player ) if target_name in location_table else self .world .get_entrance (target_name , self .player )
0 commit comments