diff --git a/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp b/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp index 38e3cf9ff..99694283c 100644 --- a/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp @@ -59,8 +59,7 @@ void RegionTable_Init_ZoraRiver() { LOCATION(RC_ZR_BENEATH_WATERFALL_RIGHT_RUPEE, logic->IsAdult && (logic->HasItem(RG_BRONZE_SCALE) || logic->CanUse(RG_IRON_BOOTS) || logic->CanUse(RG_BOOMERANG))), LOCATION(RC_ZR_NEAR_GROTTOS_GOSSIP_STONE, true), LOCATION(RC_ZR_NEAR_DOMAIN_GOSSIP_STONE, true), - LOCATION(RC_ZR_LEDGE_CHILD_GRASS, logic->IsChild && logic->CanCutShrubs()), - LOCATION(RC_ZR_LEDGE_ADULT_GRASS, logic->IsAdult && logic->CanCutShrubs()), + LOCATION(RC_ZR_NEAR_FREESTANDING_POH_GRASS, logic->CanCutShrubs()), }, { //Exits Entrance(RR_ZR_FRONT, []{return true;}), diff --git a/soh/soh/Enhancements/randomizer/location_list.cpp b/soh/soh/Enhancements/randomizer/location_list.cpp index 131ccf826..906517b24 100644 --- a/soh/soh/Enhancements/randomizer/location_list.cpp +++ b/soh/soh/Enhancements/randomizer/location_list.cpp @@ -1246,8 +1246,7 @@ void Rando::StaticData::InitLocationTable() { // locationTable[RC_ZR_GRASS_10] = Location::Grass(RC_ZR_GRASS_10, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(-1489, 907), "Near Tree Grass 10", "Near Tree Grass 10", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_10)); locationTable[RC_ZR_GRASS_11] = Location::Grass(RC_ZR_GRASS_11, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(-1468, 936), "Near Tree Grass 11", "Near Tree Grass 11", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_11)); locationTable[RC_ZR_GRASS_12] = Location::Grass(RC_ZR_GRASS_12, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(-1436, 906), "Near Tree Grass 12", "Near Tree Grass 12", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_12)); - locationTable[RC_ZR_LEDGE_CHILD_GRASS] = Location::Grass(RC_ZR_LEDGE_CHILD_GRASS, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(231, -1478), "Near Freestanding PoH Child Grass", "Near Freestanding PoH Child Grass", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_LEDGE_CHILD_GRASS)); - locationTable[RC_ZR_LEDGE_ADULT_GRASS] = Location::Grass(RC_ZR_LEDGE_ADULT_GRASS, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(233, -1464), "Near Freestanding PoH Adult Grass", "Near Freestanding PoH Adult Grass", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_LEDGE_ADULT_GRASS)); + locationTable[RC_ZR_NEAR_FREESTANDING_POH_GRASS] = Location::Grass(RC_ZR_NEAR_FREESTANDING_POH_GRASS, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(231, -1478), "Near Freestanding PoH Grass", "Near Freestanding PoH Grass", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_NEAR_FREESTANDING_POH_GRASS)); // Grotto Grass locationTable[RC_KF_STORMS_GROTTO_GRASS_1] = Location::Base(RC_KF_STORMS_GROTTO_GRASS_1, RCQUEST_BOTH, RCTYPE_GRASS, RCAREA_KOKIRI_FOREST, ACTOR_EN_KUSA, SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x2C), "Storms Grotto Grass 1", RHT_GROTTO_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_1)); locationTable[RC_KF_STORMS_GROTTO_GRASS_2] = Location::Base(RC_KF_STORMS_GROTTO_GRASS_2, RCQUEST_BOTH, RCTYPE_GRASS, RCAREA_KOKIRI_FOREST, ACTOR_EN_KUSA, SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x2C), "Storms Grotto Grass 2", RHT_GROTTO_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_2)); diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 4a46902a2..d44ae7c7a 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -1183,8 +1183,7 @@ std::map rcToRandomizerInf = { { RC_ZR_GRASS_10, RAND_INF_ZR_GRASS_10 }, { RC_ZR_GRASS_11, RAND_INF_ZR_GRASS_11 }, { RC_ZR_GRASS_12, RAND_INF_ZR_GRASS_12 }, - { RC_ZR_LEDGE_CHILD_GRASS, RAND_INF_ZR_LEDGE_CHILD_GRASS }, - { RC_ZR_LEDGE_ADULT_GRASS, RAND_INF_ZR_LEDGE_ADULT_GRASS }, + { RC_ZR_NEAR_FREESTANDING_POH_GRASS, RAND_INF_ZR_NEAR_FREESTANDING_POH_GRASS }, // Grotto Grass { RC_KF_STORMS_GROTTO_GRASS_1, RAND_INF_KF_STORMS_GROTTO_GRASS_1 }, { RC_KF_STORMS_GROTTO_GRASS_2, RAND_INF_KF_STORMS_GROTTO_GRASS_2 }, @@ -2216,6 +2215,18 @@ GrassIdentity Randomizer::IdentifyGrass(s32 sceneNum, s32 posX, s32 posZ, s32 re } } + /* + Same as with Market. ZR has a bush slightly off pos + between Child and Adult. This is to merge them into + a single location. + */ + if (sceneNum == SCENE_ZORAS_RIVER) { + if (posX == 233) { + posX = 231; + posZ = -1478; + } + } + // The two bushes behind the sign in KF should be separated // locations between Child and Adult. if (sceneNum == SCENE_KOKIRI_FOREST && linkAge == 0) { diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h index 78e8d5ed3..b13e8449e 100644 --- a/soh/soh/Enhancements/randomizer/randomizerTypes.h +++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h @@ -3025,8 +3025,7 @@ typedef enum { RC_ZR_GRASS_10, RC_ZR_GRASS_11, RC_ZR_GRASS_12, - RC_ZR_LEDGE_CHILD_GRASS, - RC_ZR_LEDGE_ADULT_GRASS, + RC_ZR_NEAR_FREESTANDING_POH_GRASS, // Grotto Grass RC_KF_STORMS_GROTTO_GRASS_1, RC_KF_STORMS_GROTTO_GRASS_2, diff --git a/soh/soh/Enhancements/randomizer/randomizer_inf.h b/soh/soh/Enhancements/randomizer/randomizer_inf.h index 5e511d39f..24a70aa79 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_inf.h +++ b/soh/soh/Enhancements/randomizer/randomizer_inf.h @@ -1501,8 +1501,7 @@ typedef enum { RAND_INF_ZR_GRASS_10, RAND_INF_ZR_GRASS_11, RAND_INF_ZR_GRASS_12, - RAND_INF_ZR_LEDGE_CHILD_GRASS, - RAND_INF_ZR_LEDGE_ADULT_GRASS, + RAND_INF_ZR_NEAR_FREESTANDING_POH_GRASS, // Grotto Grass RAND_INF_KF_STORMS_GROTTO_GRASS_1, RAND_INF_KF_STORMS_GROTTO_GRASS_2,