diff --git a/src/d/actor/d_a_npc_gro.cpp b/src/d/actor/d_a_npc_gro.cpp index 785136559f..d3ec51180a 100644 --- a/src/d/actor/d_a_npc_gro.cpp +++ b/src/d/actor/d_a_npc_gro.cpp @@ -13,6 +13,10 @@ #include "Z2AudioLib/Z2Instances.h" #include +#if TARGET_PC +#include "dusk/randomizer/game/verify_item_functions.h" +#endif + enum grO_RES_File_ID { /* BCK */ /* 0x07 */ BCK_GRO_F_TALK_A = 0x7, @@ -1681,6 +1685,11 @@ int daNpc_grO_c::talk(void* param_1) { if (facePlayerFlag && talkProc(NULL, TRUE, NULL)) { if (mType == TYPE_MINES) { if (mFlow.getEventId(&itemId) == 1) { +#if TARGET_PC + if (randomizer_IsActive()) { + itemId = verifyProgressiveItem(randomizer_getItemAtLocation("Goron Mines Gor Ebizo Key Shard")); + } +#endif mItemID = fopAcM_createItemForPresentDemo(¤t.pos, itemId, 0, -1, -1, NULL, NULL); if (mItemID != fpcM_ERROR_PROCESS_ID_e) { s16 eventIdx = dComIfGp_getEventManager().getEventIdx(this, "DEFAULT_GETITEM", 0xFF); diff --git a/src/d/actor/d_a_npc_grr.cpp b/src/d/actor/d_a_npc_grr.cpp index 39689144f4..96e243c140 100644 --- a/src/d/actor/d_a_npc_grr.cpp +++ b/src/d/actor/d_a_npc_grr.cpp @@ -10,6 +10,10 @@ #include "Z2AudioLib/Z2Instances.h" #include +#if TARGET_PC +#include "dusk/randomizer/game/verify_item_functions.h" +#endif + enum grR_RES_File_ID { /* BCK */ /* 0x06 */ BCK_GRR_AGURA_GETUP = 0x6, @@ -1338,6 +1342,11 @@ int daNpc_grR_c::talk(void* param_1) { if (bVar1 && talkProc(NULL, TRUE, NULL)) { if (mType == TYPE_0) { if (mFlow.getEventId(&i_itemNo) == 1) { +#if TARGET_PC + if (randomizer_IsActive()) { + i_itemNo = verifyProgressiveItem(randomizer_getItemAtLocation("Goron Mines Gor Liggs Key Shard")); + } +#endif mItemID = fopAcM_createItemForPresentDemo(¤t.pos, i_itemNo, 0, -1, -1, NULL, NULL); if (mItemID != fpcM_ERROR_PROCESS_ID_e) { diff --git a/src/d/actor/d_a_npc_grs.cpp b/src/d/actor/d_a_npc_grs.cpp index 401634d2ab..a2a271de89 100644 --- a/src/d/actor/d_a_npc_grs.cpp +++ b/src/d/actor/d_a_npc_grs.cpp @@ -11,6 +11,9 @@ #include "Z2AudioLib/Z2Instances.h" #include +#if TARGET_PC +#include "dusk/randomizer/game/verify_item_functions.h" +#endif enum Event_Cut_Nums { NUM_EVT_CUTS_e = 2, }; @@ -1185,6 +1188,11 @@ int daNpc_grS_c::talk(void* param_0) { if (unkFlag1 && talkProc(NULL, 1, NULL)) { if (mType == 0) { if (mFlow.getEventId(&unkInt2) == 1) { +#if TARGET_PC + if (randomizer_IsActive()) { + unkInt2 = verifyProgressiveItem(randomizer_getItemAtLocation("Goron Mines Gor Amato Key Shard")); + } +#endif mPresentItemId = fopAcM_createItemForPresentDemo(¤t.pos, unkInt2, 0, -1, -1, 0, 0); diff --git a/src/dusk/randomizer/generator/data/locations.yaml b/src/dusk/randomizer/generator/data/locations.yaml index 38ac9a9c1a..62248bb202 100644 --- a/src/dusk/randomizer/generator/data/locations.yaml +++ b/src/dusk/randomizer/generator/data/locations.yaml @@ -4747,7 +4747,6 @@ - Tbox ID: 11 Stage: 3 -# TODO - Name: Goron Mines Gor Amato Key Shard Original Item: Goron Mines Key Shard Categories: @@ -4757,8 +4756,8 @@ - Dungeon Items - Big Key - ARC - Metadata: - - None + - Location Name Lookup + Metadata: Goron Mines Gor Amato Key Shard - Name: Goron Mines Gor Amato Chest Original Item: Goron Mines Dungeon Map @@ -4865,7 +4864,6 @@ - Tbox ID: 14 Stage: 3 -# TODO - Name: Goron Mines Gor Ebizo Key Shard Original Item: Goron Mines Key Shard Categories: @@ -4875,8 +4873,8 @@ - Dungeon Items - Big Key - ARC - Metadata: - - None + - Location Name Lookup + Metadata: Goron Mines Gor Ebizo Key Shard - Name: Goron Mines Gor Ebizo Chest Original Item: Yellow Rupee @@ -4924,7 +4922,6 @@ - Tbox ID: 12 Stage: 3 -# TODO - Name: Goron Mines Gor Liggs Key Shard Original Item: Goron Mines Key Shard Categories: @@ -4934,8 +4931,8 @@ - Dungeon Items - Big Key - ARC - Metadata: - - None + - Location Name Lookup + Metadata: Goron Mines Gor Liggs Key Shard - Name: Goron Mines Gor Liggs Chest Original Item: Purple Rupee