A BepInEx mod for R.E.P.O. that shows you what your hits actually do — floating damage numbers and enemy health bars — and gets the numbers right even when you are not the host.
You swing, you tumble, you throw something heavy. Did it do anything? R.E.P.O. never tells you. You learn that an enemy is nearly dead by watching it die.
Assess answers the question:
It pairs naturally with the rest of the suite. If you run Improve, Train or Increase Tumble Damage, Assess is how you finally see those upgrades working instead of taking them on faith. Watching a tumble hit for 412 instead of 60 is the whole point.
It completes a set: Observe tells you where the valuables are, Sense tells you where the enemies are, Assess tells you what condition they are in.
Most of R.E.P.O. is simulated on the host, and enemy health is no exception. EnemyHealth.healthCurrent is only ever changed inside EnemyHealth.Hurt, which returns immediately if you are not the host. On a client that value keeps the number it was handed when the enemy spawned — the full maximum, forever. Enemy health is never serialized to anyone either.
So a mod that simply read that value would show every enemy at full health, to every client, permanently — and would look like it was working the whole time.
Assess reconstructs the real number instead, and it is exact rather than a guess, because the game already broadcasts everything needed:
EnemyHealth.Hurt: weapons and equipment (via HurtCollider), falls and collisions (LightImpact / MediumImpact / HeavyImpact), death pits, and even instant kills — which are implemented as damage equal to the health remaining. Death is private, and Hurt is its only caller. There is no way around it.Assess therefore sends nothing over the network at all. Nothing to configure, no host-side install, no risk to your connection — it works in any lobby, against any host, whether or not they have ever heard of this mod.
Settings are in BepInEx/config/headclef.Assess.cfg or in the in-game mod config menu.
| Key | Default | Description |
|---|---|---|
| Damage Numbers → Enable | true |
Floating number on every hit |
| Damage Numbers → Duration | 1.2 |
Seconds a number stays up (0.3–5) |
| Damage Numbers → Font Size | 22 |
Size of the numbers (8–72) |
| Health Bar → Show On Hover | true |
Bar for the enemy you are looking at |
| Health Bar → Show Above Every Enemy | false |
Bar above every enemy in range, always |
| Health Bar → Show Numbers On Bar | true |
Print current / max on the bar |
| General → Max Distance | 30 |
Only show bars within this many metres (5–100) |
| General → Require Line Of Sight | true |
Do not read health through walls |
Nothing here needs changing to use the mod — install it and it works. The two worth a thought:
That is all. Assess has no mod dependencies and no host requirements.
Assess.dll into your BepInEx/plugins folder.├── Assess.cs # Plugin entry point & config
├── EnemyTracker.cs # Knows every enemy's real health, on every machine
├── AssessHud.cs # Damage numbers & health bars (IMGUI)
├── Patches/
│ └── AssessPatch.cs # The four game broadcasts that make it exact
└── README.md
dotnet build -c Release
See LICENSE.