From 67191665dfa76b89b36007f6364f2108e379e831 Mon Sep 17 00:00:00 2001 From: A Green Spoon <121978037+A-Green-Spoon@users.noreply.github.com> Date: Tue, 7 Apr 2026 23:55:07 +0900 Subject: [PATCH] Add trick for jump to GTG eye statue (#6467) --- soh/assets/custom/lang/en_US.json | 4 ++++ .../location_access/dungeons/gerudo_training_ground.cpp | 4 ++-- .../Enhancements/randomizer/randomizerEnums/RandomizerTrick.h | 1 + soh/soh/Enhancements/randomizer/settings.cpp | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/soh/assets/custom/lang/en_US.json b/soh/assets/custom/lang/en_US.json index 803065355..60a53aadf 100644 --- a/soh/assets/custom/lang/en_US.json +++ b/soh/assets/custom/lang/en_US.json @@ -981,6 +981,10 @@ "name": "Gerudo Training Grounds Itemless Lava Room Jump", "description": "A precise rolling jump can be used to jump between all but the furthest platforms in the lava room." }, + "gtg_statue_jump": { + "name": "Gerudo Training Grounds Statue Room Jump", + "description": "A precise rolling jump or a jump and jumpslash can be used to jump from the upper ledge to one of the pillars in the eye statue room." + }, "lens_gtg_mq": { "name": "Gerudo Training Ground MQ without Lens of Truth", "description": "Removes the requirements for the Lens of Truth in Gerudo Training Ground MQ." diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/gerudo_training_ground.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/gerudo_training_ground.cpp index b4322f64b..544240893 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/gerudo_training_ground.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/gerudo_training_ground.cpp @@ -109,7 +109,7 @@ void RegionTable_Init_GerudoTrainingGround() { areaTable[RR_GERUDO_TRAINING_GROUND_EYE_STATUE_UPPER] = Region("Gerudo Training Ground Eye Statue Upper", SCENE_GERUDO_TRAINING_GROUND, {}, { //Locations - LOCATION(RC_GERUDO_TRAINING_GROUND_WONDER_EYE_STATUE_ROOM, logic->CanUse(RG_HOVER_BOOTS)), //RANDOTODO: add trick for jump+jumpslash and jump only to pillar + LOCATION(RC_GERUDO_TRAINING_GROUND_WONDER_EYE_STATUE_ROOM, logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && ctx->GetTrickOption(RT_GTG_STATUE_JUMP))), // Shuffle roll: Jumpslash doesn't require roll, jump only does }, { //Exits ENTRANCE(RR_GERUDO_TRAINING_GROUND_EYE_STATUE_LOWER, true), @@ -282,7 +282,7 @@ void RegionTable_Init_GerudoTrainingGround() { areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE] = Region("Gerudo Training Ground MQ Statue Room Ledge", SCENE_GERUDO_TRAINING_GROUND, {}, { //Locations - LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_WONDER_EYE_STATUE, logic->CanUse(RG_LONGSHOT) || logic->CanUse(RG_HOVER_BOOTS)), + LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_WONDER_EYE_STATUE, logic->CanUse(RG_LONGSHOT) || logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && ctx->GetTrickOption(RT_GTG_STATUE_JUMP))), // Shuffle roll: Jumpslash doesn't require roll, jump only does }, { //Exits ENTRANCE(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, true), diff --git a/soh/soh/Enhancements/randomizer/randomizerEnums/RandomizerTrick.h b/soh/soh/Enhancements/randomizer/randomizerEnums/RandomizerTrick.h index 431550204..31026bec7 100644 --- a/soh/soh/Enhancements/randomizer/randomizerEnums/RandomizerTrick.h +++ b/soh/soh/Enhancements/randomizer/randomizerEnums/RandomizerTrick.h @@ -202,6 +202,7 @@ RANDO_ENUM_ITEM(RT_LENS_GTG) RANDO_ENUM_ITEM(RT_GTG_WITHOUT_HOOKSHOT) RANDO_ENUM_ITEM(RT_GTG_FAKE_WALL) RANDO_ENUM_ITEM(RT_GTG_LAVA_JUMP) +RANDO_ENUM_ITEM(RT_GTG_STATUE_JUMP) RANDO_ENUM_ITEM(RT_LENS_GTG_MQ) RANDO_ENUM_ITEM(RT_GTG_MQ_WITH_HOOKSHOT) RANDO_ENUM_ITEM(RT_GTG_MQ_WITHOUT_HOOKSHOT) diff --git a/soh/soh/Enhancements/randomizer/settings.cpp b/soh/soh/Enhancements/randomizer/settings.cpp index 93fcc88fd..8a11877f3 100644 --- a/soh/soh/Enhancements/randomizer/settings.cpp +++ b/soh/soh/Enhancements/randomizer/settings.cpp @@ -1671,6 +1671,7 @@ void Settings::CreateOptions() { "GTGNoHS"); OPT_TRICK(RT_GTG_FAKE_WALL, RCQUEST_BOTH, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::NOVICE }, "GTGWallHB"); OPT_TRICK(RT_GTG_LAVA_JUMP, RCQUEST_BOTH, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::INTERMEDIATE }, "GTGLavaJmp"); + OPT_TRICK(RT_GTG_STATUE_JUMP, RCQUEST_BOTH, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::INTERMEDIATE }, "GTGStJmp"); OPT_TRICK(RT_LENS_GTG_MQ, RCQUEST_MQ, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::NOVICE }, "GTGMQLoT"); OPT_TRICK(RT_GTG_MQ_WITH_HOOKSHOT, RCQUEST_MQ, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::NOVICE }, "GTGMQHS"); OPT_TRICK(RT_GTG_MQ_WITHOUT_HOOKSHOT, RCQUEST_MQ, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::INTERMEDIATE },