@@ -28,7 +28,7 @@ export function phendranaDrifts(): RegionObject[] {
28
28
locations : {
29
29
[ PrimeLocation . CHOZO_ICE_TEMPLE ] : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
30
30
const infiniteSpeedReqs = ( settings . tricks . chozoIceTempleItemWithIS && items . canInfiniteSpeed ( ) && items . has ( PrimeItem . WAVE_BEAM ) )
31
- || ( settings . tricks . chozoIceTempleItemWithIS && items . canWallcrawl ( settings ) && items . canInfiniteSpeed ( ) ) ;
31
+ || ( settings . tricks . waveSunOobWallcrawlWithIS && items . hasMissiles ( ) && items . canWallcrawl ( settings ) && items . canInfiniteSpeed ( ) ) ;
32
32
return ( items . has ( PrimeItem . PLASMA_BEAM ) && items . has ( PrimeItem . MORPH_BALL ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ) || infiniteSpeedReqs ;
33
33
}
34
34
} ,
@@ -92,8 +92,8 @@ export function phendranaDrifts(): RegionObject[] {
92
92
name : 'Ruined Courtyard' ,
93
93
locations : {
94
94
[ PrimeLocation . RUINED_COURTYARD ] : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
95
- const boostReqs = items . canBoost ( ) || settings . tricks . climbRuinedCourtyardWithoutBoostSpider ;
96
- return boostReqs && items . canLayBombs ( ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ;
95
+ const boostSpiderReqs = items . canBoost ( ) || items . canSpider ( ) || settings . tricks . climbRuinedCourtyardWithoutBoostSpider ;
96
+ return boostSpiderReqs && items . canLayBombs ( ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ;
97
97
}
98
98
} ,
99
99
exits : {
@@ -105,7 +105,8 @@ export function phendranaDrifts(): RegionObject[] {
105
105
'Quarantine Cave' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
106
106
const thermalReqs = settings . tricks . removeThermalReqs || items . has ( PrimeItem . THERMAL_VISOR ) ;
107
107
const boostSpiderReqs = ( ( items . canBoost ( ) && items . canLayBombs ( ) ) || items . has ( PrimeItem . SPIDER_BALL ) ) || settings . tricks . climbRuinedCourtyardWithoutBoostSpider ;
108
- const baseReqs = boostSpiderReqs && thermalReqs && items . canFireSuperMissiles ( ) && items . has ( PrimeItem . WAVE_BEAM ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ;
108
+ const baseReqs = ! settings . excludeLocations [ 'Quarantine Cave' ] && boostSpiderReqs && thermalReqs && items . canFireSuperMissiles ( )
109
+ && items . has ( PrimeItem . WAVE_BEAM ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ;
109
110
110
111
if ( settings . pointOfNoReturnItems === PointOfNoReturnItems . ALLOW_ALL ) {
111
112
return baseReqs ;
@@ -129,7 +130,7 @@ export function phendranaDrifts(): RegionObject[] {
129
130
|| ( items . has ( PrimeItem . SPACE_JUMP_BOOTS ) && items . has ( PrimeItem . GRAPPLE_BEAM ) ) ,
130
131
'Ruined Courtyard' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
131
132
const spiderReqs = items . canSpider ( ) || settings . tricks . exitQuarantineCaveRuinedCourtyardSlopeJump ;
132
- return spiderReqs && items . canFireSuperMissiles ( ) && items . has ( PrimeItem . WAVE_BEAM ) ;
133
+ return spiderReqs && items . canFireSuperMissiles ( ) && items . has ( PrimeItem . WAVE_BEAM ) ; // in case we need to re-enter
133
134
}
134
135
}
135
136
} ,
@@ -290,7 +291,7 @@ export function phendranaDrifts(): RegionObject[] {
290
291
291
292
return items . has ( PrimeItem . GRAVITY_SUIT ) && baseReqs ;
292
293
} ,
293
- 'Frost Cave ' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
294
+ 'Frozen Pike ' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
294
295
const grappleReqs = settings . tricks . removePhendranaDepthsGrappleReqs || items . has ( PrimeItem . GRAPPLE_BEAM ) ;
295
296
return items . hasMissiles ( ) && items . has ( PrimeItem . WAVE_BEAM ) && grappleReqs
296
297
&& items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ;
@@ -308,8 +309,8 @@ export function phendranaDrifts(): RegionObject[] {
308
309
}
309
310
} ,
310
311
exits : {
311
- 'Hunter Cave' : ( items : PrimeItemCollection ) => items . has ( PrimeItem . GRAVITY_SUIT ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ,
312
- 'Frost Cave ' : ( items : PrimeItemCollection ) => items . has ( PrimeItem . GRAVITY_SUIT ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS )
312
+ 'Hunter Cave' : ( items : PrimeItemCollection ) => items . has ( PrimeItem . GRAVITY_SUIT ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) && items . has ( PrimeItem . WAVE_BEAM ) ,
313
+ 'Frozen Pike ' : ( items : PrimeItemCollection ) => items . has ( PrimeItem . GRAVITY_SUIT ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) && items . has ( PrimeItem . WAVE_BEAM )
313
314
}
314
315
} ,
315
316
{
@@ -323,7 +324,7 @@ export function phendranaDrifts(): RegionObject[] {
323
324
name : Elevator . PHENDRANA_SOUTH ,
324
325
exits : {
325
326
[ Elevator . MAGMOOR_SOUTH_PHENDRANA ] : ( ) => true ,
326
- 'Quarantine Cave' : ( items : PrimeItemCollection ) => items . has ( PrimeItem . MORPH_BALL ) && items . has ( PrimeItem . WAVE_BEAM ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ,
327
+ 'Quarantine Cave' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => ! settings . excludeLocations [ 'Quarantine Cave' ] && items . has ( PrimeItem . MORPH_BALL ) && items . has ( PrimeItem . WAVE_BEAM ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ,
327
328
'Transport Access (Phendrana)' : ( items : PrimeItemCollection , settings : PrimeRandomizerSettings ) => {
328
329
const spiderReqs = ( settings . tricks . phendranaTransportSouthToTransportAccessWithoutSpider && items . has ( PrimeItem . MORPH_BALL ) && items . has ( PrimeItem . SPACE_JUMP_BOOTS ) ) || items . canSpider ( ) ;
329
330
return spiderReqs && items . has ( PrimeItem . ICE_BEAM ) ;
0 commit comments