summaryrefslogtreecommitdiff
path: root/mm/2s2h/Enhancements/DifficultyOptions/JinxedTimer.cpp
blob: 625d8e5e906c3057a0e4832f4f68c6bd8cef583e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <libultraship/bridge/consolevariablebridge.h>
#include "2s2h/GameInteractor/GameInteractor.h"
#include "2s2h/ShipInit.hpp"
#include "variables.h"

#define CVAR_NAME "gEnhancements.DifficultyOptions.JinxedTimer"
#define CVAR CVarGetInteger(CVAR_NAME, 60)

void RegisterJinxedTimer() {
    COND_ID_HOOK(ShouldActorUpdate, ACTOR_PLAYER, CVAR < 60, [](Actor* actor, bool* should) {
        if (gSaveContext.jinxTimer == 0) {
            return;
        }

        if (gSaveContext.jinxTimer > CVAR * 20) {
            gSaveContext.jinxTimer = CVAR * 20;
        }
    });
}

static RegisterShipInitFunc initFunc(RegisterJinxedTimer, { CVAR_NAME });