FeelingBetterAlready

版本 v1.0.2·更新於 2026-10-04

Health keeps regenerating one point at a time up to your difficulty's maximum, instead of stopping at 2 HP after a single point. Experimental.

模組介紹 作者原文

FeelingBetterAlready 1.0.2

Health regeneration mod for Gunman Contracts – Stand Alone, built for the installed Windows x64 build using Unity 6000.0.41f1 / IL2CPP.

The stock game regenerates health only when you are sitting at exactly 1 HP, gives back exactly 1 point, and then parks its countdown at zero — so regeneration fires once per wound and stops at 2 HP, whatever the difficulty allows. This mod lifts both limits.

  • Health regenerates one point per regeneration interval (regainHealthTime, 5 seconds by default, with the game's existing in-combat multiplier).
  • It keeps going, interval after interval, up to playerHitPointsMaxRecharge — the value SetDifficulty derives from the difficulty's max HP, and the same ceiling the game already applies to health pickups and painkillers.
  • On a difficulty whose cap is 1 HP, regeneration stays off, which is the stock behaviour there.
  • Nothing else changes: damage, armour, the regeneration interval and the difficulty settings all behave as before.

Install

  • Install BepInEx 6 Unity IL2CPP, Windows x64, build 755 or later. BepInEx 5 and Mono builds are not suitable.
  • Extract the archive's BepInEx folder into the game folder, or copy FeelingBetterAlready.dll into BepInEx/plugins/FeelingBetterAlready.
  • Launch the game and check BepInEx/LogOutput.log for FeelingBetterAlready enabled.

Using MelonLoader 0.7 or later instead: put the FeelingBetterAlready-MelonLoader archive's FeelingBetterAlready.dll into Mods, and check MelonLoader/Latest.log for the same line.

Patch data is embedded in the DLL. To uninstall, close the game and delete the DLL; game files are never modified, so nothing needs reverting.

It finds every patch site by signature when the game starts: IL2CPP names the method, and a byte pattern must match exactly once inside it. Game updates that leave those few instructions alone keep working without a new release; if one changes, nothing is patched and the log names the signature.

How it works

IL2CPP inlined ANBGameLogic.checkHealthRegeneration into ANBGameLogic.Update, and the inlined copy is the one that runs. Both copies get the same treatment: the health == 1.0 test becomes comiss against playerHitPointsMaxRecharge, whose offset is read from IL2CPP at startup with a jae that skips only once the cap is reached.

That alone still heals just once, because Update sets the countdown to zero after restoring a point and only HurtPlayer and StartRegainHealth ever start it again. So the plugin adds a Harmony postfix on Update: while the countdown has run out and health is below the cap, it calls the game's own StartRegainHealth(), which reloads regainHealthTime. The pacing stays the game's.

The patch engine (shared with IDGAFMan) locates every patch site before writing, restores page protection afterwards and rolls back if any write fails.

Compatibility

Coexists with IDGAFMan: different functions, no overlapping patch sites. It does not touch scoring, so a regenerated run scores exactly as the game intends.

Validation

analysis/verify.py runs the real instructions in Unicorn, both the standalone function and the inlined Update copy: the unpatched build stops at 2 HP, the patched build climbs to the cap and never past it on caps from 1 to 5, and the countdown is consumed only when a point is actually restored.

Not yet playtested in a mission. Drop below the cap, wait out the interval, and confirm health keeps climbing one point at a time.

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack_IL2CPP

檔案與校驗

檔案名稱
FeelingBetterAlready-1.0.2.zip
檔案大小
14.5 KiB