[Rando] Prevent alarm when at full HP (#4831)

* * Prevent low HP alarm when at full HP for 1 heart start

* * updated name
This commit is contained in:
Fredrik Andreasson 2025-01-15 13:15:08 +01:00 committed by GitHub
parent a46cfff438
commit 651623a845
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 1 deletions

View File

@ -302,6 +302,8 @@ typedef enum {
// Opt: *EnFr
// Vanilla condition: this->reward == GI_NONE
VB_FROGS_GO_TO_IDLE,
// Vanilla condition: var >= gSaveContext.health) && (gSaveContext.health > 0
VB_HEALTH_METER_BE_CRITICAL,
/*** Play Cutscenes ***/

View File

@ -1631,6 +1631,12 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
}
break;
}
case VB_HEALTH_METER_BE_CRITICAL: {
if (gSaveContext.health == gSaveContext.healthCapacity) {
*should = false;
}
break;
}
case VB_FREEZE_ON_SKULL_TOKEN:
case VB_TRADE_TIMER_ODD_MUSHROOM:
case VB_TRADE_TIMER_FROG:

View File

@ -2,6 +2,7 @@
#include "textures/parameter_static/parameter_static.h"
#include "soh/frame_interpolation.h"
#include "soh/OTRGlobals.h"
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
s16 Top_LM_Margin = 0;
s16 Left_LM_Margin = 0;
@ -674,7 +675,7 @@ u32 HealthMeter_IsCritical(void) {
var = 0x2C;
}
if ((var >= gSaveContext.health) && (gSaveContext.health > 0)) {
if (GameInteractor_Should(VB_HEALTH_METER_BE_CRITICAL, var >= gSaveContext.health && gSaveContext.health > 0)) {
return true;
} else {
return false;