Properly replicate NaviTalk kill check (#4647)
* Restrict disabled Navi workaround to Dodongo's Cavern * Properly replicate NaviTalk kill check * Move `*should = false` out of condition
This commit is contained in:
@@ -340,11 +340,14 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
|
||||
if (ForcedDialogIsDisabled(FORCED_DIALOG_SKIP_NAVI)) {
|
||||
ElfMsg* naviTalk = va_arg(args, ElfMsg*);
|
||||
int32_t paramsHighByte = naviTalk->actor.params >> 8;
|
||||
if ((paramsHighByte & 0x80) == 0 && (paramsHighByte & 0x3F) != 0x3F) {
|
||||
Flags_SetSwitch(gPlayState, paramsHighByte & 0x3F);
|
||||
Actor_Kill(&naviTalk->actor);
|
||||
*should = false;
|
||||
if ((paramsHighByte & 0x80) != 0) {
|
||||
break;
|
||||
}
|
||||
if ((paramsHighByte & 0x3F) != 0x3F) {
|
||||
Flags_SetSwitch(gPlayState, paramsHighByte & 0x3F);
|
||||
}
|
||||
Actor_Kill(&naviTalk->actor);
|
||||
*should = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user