Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

Commit 0cbad54

Browse files
committed
Add Hydro Access Tunnel without Gravity Suit
1 parent c4ccf58 commit 0cbad54

File tree

3 files changed

+27
-5
lines changed

3 files changed

+27
-5
lines changed

src/common/data/settingsDetails.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,11 @@ export const details: SettingsDetails = {
330330
This will "secretize" Hall of the Elders, (makes the room disappear) while keeping the collision loaded.`,
331331
difficulty: Difficulty.NORMAL
332332
},
333+
hydroAccessTunnelWithoutGravity: {
334+
name: 'Hydro Access Tunnel without Gravity Suit',
335+
description: `You can use precise boosting to explore Hydro Access Tunnel without Gravity Suit, including obtaining the item.`,
336+
difficulty: Difficulty.INSANE
337+
},
333338
iceBeamBeforeFlaahgraOobWallcrawl: {
334339
name: 'Ice Beam Before Flaahgra Wallcrawl (Out of Bounds)',
335340
description: `You can go out of bounds in Gathering Hall and wallcrawl all the way to Reflecting Pool, skipping some items.`,

src/electron/models/prime/regions/tallonOverworld.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,9 @@ export function tallonOverworld(): RegionObject[] {
131131
exits: {
132132
'Hydro Access Tunnel': (items: PrimeItemCollection, settings: PrimeRandomizerSettings) => {
133133
const thermalReqs = settings.tricks.removeThermalReqs || items.has(PrimeItem.THERMAL_VISOR);
134-
return thermalReqs && items.has(PrimeItem.GRAVITY_SUIT) && items.has(PrimeItem.WAVE_BEAM)
134+
const gravityReqs = items.has(PrimeItem.GRAVITY_SUIT) || (settings.tricks.hydroAccessTunnelWithoutGravity);
135+
136+
return thermalReqs && gravityReqs && items.has(PrimeItem.WAVE_BEAM)
135137
&& items.has(PrimeItem.SPACE_JUMP_BOOTS);
136138
},
137139
'Cargo Freight Lift to Deck Gamma': (items: PrimeItemCollection) => items.has(PrimeItem.GRAVITY_SUIT) && items.has(PrimeItem.SPACE_JUMP_BOOTS)
@@ -140,11 +142,24 @@ export function tallonOverworld(): RegionObject[] {
140142
{
141143
name: 'Hydro Access Tunnel',
142144
locations: {
143-
[PrimeLocation.HYDRO_ACCESS_TUNNEL]: (items: PrimeItemCollection) => items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT)
145+
[PrimeLocation.HYDRO_ACCESS_TUNNEL]: (items: PrimeItemCollection, settings: PrimeRandomizerSettings) => {
146+
return (items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT))
147+
|| (settings.tricks.hydroAccessTunnelWithoutGravity && items.canBoost());
148+
}
144149
},
145150
exits: {
146-
'Great Tree Hall (Lower)': (items: PrimeItemCollection) => items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT) && items.has(PrimeItem.ICE_BEAM),
147-
'Biohazard Containment': (items: PrimeItemCollection) => items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT) && items.has(PrimeItem.SPACE_JUMP_BOOTS)
151+
'Great Tree Hall (Lower)': (items: PrimeItemCollection, settings: PrimeRandomizerSettings) => {
152+
const gravityReqs = (items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT))
153+
|| (settings.tricks.hydroAccessTunnelWithoutGravity && items.canBoost());
154+
155+
return gravityReqs && items.has(PrimeItem.ICE_BEAM);
156+
},
157+
'Biohazard Containment': (items: PrimeItemCollection, settings: PrimeRandomizerSettings) => {
158+
const gravityReqs = (items.canLayBombs() && items.has(PrimeItem.GRAVITY_SUIT))
159+
|| (settings.tricks.hydroAccessTunnelWithoutGravity && items.canBoost());
160+
161+
return gravityReqs && items.has(PrimeItem.SPACE_JUMP_BOOTS);
162+
}
148163
}
149164
},
150165
{
@@ -166,7 +181,8 @@ export function tallonOverworld(): RegionObject[] {
166181
name: 'Great Tree Hall (Lower)',
167182
exits: {
168183
'Hydro Access Tunnel': (items: PrimeItemCollection, settings: PrimeRandomizerSettings) => {
169-
const baseReqs = items.has(PrimeItem.ICE_BEAM) && items.has(PrimeItem.GRAVITY_SUIT);
184+
const gravityReqs = items.has(PrimeItem.GRAVITY_SUIT) || settings.tricks.hydroAccessTunnelWithoutGravity;
185+
const baseReqs = gravityReqs && items.has(PrimeItem.ICE_BEAM);
170186

171187
if (settings.pointOfNoReturnItems === PointOfNoReturnItems.ALLOW_ALL) {
172188
return baseReqs;

src/electron/models/prime/tricks.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export class Tricks extends SettingsFlags {
3737
greatTreeHallBarsSkip = false;
3838
hallOfTheEldersBombSlotsWithoutSpider = false;
3939
hallOfTheEldersItemsWithIS = false;
40+
hydroAccessTunnelWithoutGravity = false;
4041
iceBeamBeforeFlaahgraOobWallcrawl = false;
4142
iceRuinsEastSpiderItemWithoutSpider = false;
4243
lifeGroveSpinnerWithoutBoostBall = false;

0 commit comments

Comments
 (0)