



A BepInEx mod for R.E.P.O. that adds a haul-based leveling system with spendable stat points.
Earn stat points by accumulating haul across all your sessions. Spend points on any of the 13 character stats to permanently power up your character — even during an active save.
Unlike other leveling mods that only count haul when you die, Improve captures your haul after every level. This means:
This lets you level up during a save, not just after dying.
Haul to reach level N: baseCost × difficulty × N²
Your level is the highest N whose threshold your lifetime haul has reached — i.e. level = floor(sqrt(lifetimeHaul / (baseCost × difficulty))). Each level is a single threshold, not a running total: reaching level 4 needs the level-4 haul, not the sum of levels 1–4.
| Level | Hardest (×1.0) | Hard (×0.75) | Standard (×0.5) | Easy (×0.25) |
|---|---|---|---|---|
| 1 | 1,000,000 | 750,000 | 500,000 | 250,000 |
| 2 | 4,000,000 | 3,000,000 | 2,000,000 | 1,000,000 |
| 3 | 9,000,000 | 6,750,000 | 4,500,000 | 2,250,000 |
| 4 | 16,000,000 | 12,000,000 | 8,000,000 | 4,000,000 |
| 5 | 25,000,000 | 18,750,000 | 12,500,000 | 6,250,000 |
Each level awards 1 stat point to spend on any stat you want.
| Difficulty | Multiplier | Description |
|---|---|---|
| Easy | 0.25 | Quick progression — great for casual play |
| Standard | 0.5 | Balanced (default) |
| Hard | 0.75 | Slower grind |
| Hardest | 1.0 | Full cost — for dedicated players |
Changing difficulty mid-game? The mod recalculates your level instantly. If you increase difficulty and end up with more spent points than your new level allows, the menu will warn you and lock further spending until you earn more haul or reset your stats.
Open the Improve menu (available in main menu, escape menu, and lobby) to see two panels:
Before and after spending points — five allocated into Tumble Launch drops Available Points from 5 to 0.
Left panel — Progress:
Right panel — Skills:
| Button | What it does | Keep haul? | Keep level? |
|---|---|---|---|
| Reset Stats | Reclaim all spent points | ✅ Yes | ✅ Yes |
| Reset All | Wipe everything | ❌ No | ❌ No |
Stats are applied a few frames after you spawn into a level, then continuously re-enforced by a watchdog (and again after each network sync) so they survive host/mod overwrites. This means:
Your allocations take effect in-game: the game's own Upgrades panel shows the five Tumble Launch points, and (with the UI mod) the overlay shows your Improve level.
Your bonus never gets baked into the save file. Improve writes its bonus into your live stats at runtime, but strips it out the instant the game saves and restores it right after — so the
.es3save only ever stores legitimately purchased upgrades. This means the bonus can't stack on itself across save / quit / relaunch, and uninstalling Improve leaves no inflated stats behind.
Settings are in BepInEx/config/headclef.Improve.cfg or in the in-game mod config menu:
| Key | Default | Range | Description |
|---|---|---|---|
| Difficulty Multiplier | 0.5 |
0.1–2.0 | Cost multiplier for leveling |
| Base Cost | 1,000,000 |
100k–10M | Base cost for the first level |
Save data is stored separately at:
%AppData%/../LocalLow/semiwork/REPO/REPOModData/Improve/save.cfg
Improve.dll into your BepInEx/plugins folder.PunManager.UpdateStat)├── Improve.cs # Plugin entry point & config
├── SaveData.cs # Persistent save data & level calculations
├── ImproveMenu.cs # MenuLib UI — progress & skill panels
├── Patches/
│ └── ImprovePatch.cs # Haul capture & stat application hooks
└── README.md
dotnet build
This project is licensed under the MIT License — see the LICENSE file for details.