No Dampe Fire

This commit is contained in:
Demur Rumed 2025-05-20 01:13:21 +00:00
commit e7cae9bfd6
2 changed files with 26 additions and 0 deletions

View file

@ -0,0 +1,23 @@
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
#include "soh/ShipInit.hpp"
extern "C" {
extern PlayState* gPlayState;
#include "src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.h"
}
#define CVAR_NO_DAMPE_FIRE_NAME CVAR_CHEAT("NoDampeFire")
#define CVAR_NO_DAMPE_FIRE_DEFAULT 0
#define CVAR_NO_DAMPE_FIRE_VALUE CVarGetInteger(CVAR_NO_DAMPE_FIRE_NAME, CVAR_NO_DAMPE_FIRE_DEFAULT)
void OnHonoTrapInit(void* actor) {
if (gPlayState->sceneNum == SCENE_WINDMILL_AND_DAMPES_GRAVE) {
Actor_Kill((Actor*)actor);
}
}
void RegisterNoDampeFire() {
COND_ID_HOOK(OnActorInit, ACTOR_EN_HONOTRAP, CVAR_NO_DAMPE_FIRE_VALUE, OnHonoTrapInit);
}
static RegisterShipInitFunc initFunc(RegisterNoDampeFire, { CVAR_NO_DAMPE_FIRE_NAME });

View file

@ -1615,6 +1615,9 @@ void SohMenu::AddMenuEnhancements() {
.Options(CheckboxOptions().Tooltip( .Options(CheckboxOptions().Tooltip(
"Keese and Guay no longer target you and simply ignore you as if you were wearing the " "Keese and Guay no longer target you and simply ignore you as if you were wearing the "
"Skull Mask.")); "Skull Mask."));
AddWidget(path, "No Dampe Fire", WIDGET_CVAR_CHECKBOX)
.CVar(CVAR_CHEAT("NoDampeFire"))
.Options(CheckboxOptions().Tooltip("Dampe won't drop fireballs during race."));
AddWidget(path, "Glitch Aids", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Glitch Aids", WIDGET_SEPARATOR_TEXT);
AddWidget(path, "Easy Frame Advancing with Pause", WIDGET_CVAR_CHECKBOX) AddWidget(path, "Easy Frame Advancing with Pause", WIDGET_CVAR_CHECKBOX)