fix getting fishing hole HP with fishing rod

This commit is contained in:
gymnast86
2026-05-02 07:44:59 -07:00
parent 0393fdad6d
commit 38640354b0
2 changed files with 20 additions and 0 deletions
+11
View File
@@ -19,6 +19,7 @@
#include "dusk/randomizer/game/flags.h"
#include "dusk/randomizer/game/tools.h"
#include "dusk/randomizer/game/stages.h"
#include "dusk/randomizer/game/verify_item_functions.h"
#endif
dMsgFlow_c::dMsgFlow_c() {
@@ -519,6 +520,16 @@ int dMsgFlow_c::setNormalMsg(mesg_flow_node* i_flowNode_p, fopAc_ac_c* i_speaker
msg_no = getItemMessageID(g_randomizerState.mFishingBottleItemId);
g_randomizerState.mFishingBottleItemId = 0;
}
// If this is Hena's message about catching a piece of heart, replace it with our
// randomized item. This happens before the execItemGet function, so we don't need
// to store it like the fishing bottle check above.
else if ((msg_no == 0x1D8C || msg_no == 0x1D9A) && dMsgObject_getGroupID() == 7) {
u16 key = (getStageID() << 8) | 0x80;
u8 itemId = verifyProgressiveItem(randomizer_GetContext().mFreestandingItemOverrides[key]);
msg_no = getItemMessageID(itemId);
// Ignore the rest of the flow after this
var_r29->next_node_idx = -1;
}
}
#endif