You are viewing a potentially older version of this package. View all versions.
Vippy-BattleScars-1.2.4 icon

BattleScars

Your Semibot cracks, bandages, dents and loses limbs as HP drops, so a glance across the room reads a teammate's health. Heal up and the scars mend. Unmodded teammates see your damage too. Optional speed and stamina nerfs at low HP.

Date uploaded 4 days ago
Version 1.2.4
Download link Vippy-BattleScars-1.2.4.zip
Downloads 3421
Dependency string Vippy-BattleScars-1.2.4

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

BattleScars

Your Semibot visibly falls apart as its health drops. A crack or two first, then bandages, dented plating, and limbs hanging off by the time you're one hit from dead. Heal up and it mends.

A Semibot taking hits and scarring up, then healing clean again

R.E.P.O. puts a health bar on the back of everyone's neck, but you have to be behind them and close to read it. BattleScars writes the damage across the whole body instead, so you can read a teammate from across the room.

The part most cosmetic mods can't manage: it shows on every Semibot in the lobby, even your unmodded friends'. Damage rides the game's own cosmetic system, so everyone sees it whether they installed the mod or not. Nothing gets unlocked, saved, or written to your file. The scars wipe clean when you patch up.

Visuals only by default. No gameplay changes, just the look, plus a red low-health vignette creeping in at the screen edges. Want the Semibot to play as rough as it looks? Flip Mode = Full for a slower walk and capped stamina as the damage stacks up.

Install

Per-player. Every player who wants the effects on their own Semibot needs the mod. Your scars broadcast to everyone via the game's normal cosmetic RPC, so unmodded teammates still see them; they just can't have their own.

If only the host installs, only the host gets scars. There's no "host enforces on everyone" path. Unmodded clients never run the code that drives SetupCosmeticsRPC, so nothing can be forced onto them.

How it works

The first scar shows up at 95 HP, and another body part joins it every 6 HP you lose after that. Those numbers are the default Heavy intensity; ScarIntensity shifts the whole curve later (Normal, Light) if you want scars to hold off longer.

Each scarred part worsens by stacking layers rather than swapping one look for the next. A crack shows up first, then a bandage joins it, then the crack deepens into dented plating, and finally the limb breaks outright into a broken mesh. The parts don't worsen in lockstep. Whatever got scarred first runs a stage or two ahead of the newest scar, so most of the time the Semibot wears a mix. A bandaged arm next to a cracked leg next to a broken-mesh shoulder.

Rough landmarks at Heavy: the first broken-mesh limb shows around 40 HP. The broken head holds out the longest, until you're under 15. Everything between those overlaps.

Which limbs scar, and in what order, is reseeded every level, so the same HP wears differently from one level to the next. Within a level the layout holds steady and healing walks it back in reverse; it only reshuffles once you're patched back up to full health.

Max-HP upgrades buy a real buffer. 160 max HP means you can take 65 damage at Heavy before the first scar shows.

When you die your dead head wears the broken mesh, regardless of what HP the killing hit landed at.

What broadcasts

Different effects travel different paths:

Effect Reaches How
Scars Everyone in the lobby Vanilla SetupCosmeticsRPC
Speed / stamina nerfs Everyone Local nerfs ride position sync
Red screen vignette You only Local

The mod adds no network traffic of its own. Scars travel on the game's existing cosmetic RPC, and the nerfs are local.

Mode

One setting decides the overall feel:

  • Off: Mod inactive.
  • VisualOnly (default): Scars and the screen vignette. No movement or stamina changes.
  • Full: Adds the move-speed and stamina nerfs on top.

Config

Lives at BepInEx/config/Vippy.BattleScars.cfg. REPOConfig picks it up as an in-game settings page, edits apply live.

[General]
Mode = VisualOnly
ScarIntensity = Heavy

[Effects]
Vignette = true
VignetteIntensity = 0.25
CameraGlitches = false

[Testing]
TestHealth = -1
DebugLogging = false

Most players never need to touch anything except Mode.

ScarIntensity shifts the whole curve. Heavy (default) piles scars on after the first few hits, Normal is the calmer middle ground, Light holds them off until you're badly hurt.

Vignette toggles the red edge overlay at low HP. VignetteIntensity (0 to 1) is how strong it gets at its worst. CameraGlitches is an opt-in flavor extra, off by default: turn it on and the camera will fault and flicker occasionally once you're near death. REPO's photosensitivity accessibility setting also forces the camera glitches off and holds the vignette to a steady glow.

TestHealth previews thresholds without taking damage. -1 disables. 0-100 forces that HP value through the tier pipeline, no real damage taken. Numpad 0-9 in-game drives the same field: Numpad 0 disables, 1 jumps to HP 1, 2-9 to HP 20, 30, ... 90.

DebugLogging dumps every scar apply and restore to the BepInEx console. Off by default; turn it on if you're filing a bug report about scars not showing up right.

Save backup

First time the mod loads each session it copies MetaSave.es3 to BepInEx/config/BattleScars/backups/<your name>/. Five newest kept. BattleScars never writes to your save, but the copy is cheap insurance.

Compatibility

  • R.E.P.O. v0.4.x
  • BepInEx 5.4.2305
  • MoreHead and other cosmetic mods add to the pool the discovery pass can find. Defaults match the vanilla Bandages / Cracks / Damaged / Broken sets.
  • Respects REPO's photosensitivity setting. With it on, the screen vignette holds steady instead of pulsing and the glitch flashes are dropped.

Harmony targets: PlayerCosmetics.SetupCosmetics, PlayerCosmetics.SetupCosmeticsLogic, StatsManager.Start. Should coexist with any mod that doesn't replace those entirely.

Issues

GitHub Issues for bugs. Other mods at Vippy on Thunderstore.

CHANGELOG

Changelog

1.2.4

  • Camera glitches default to off. The scars and the vignette are the headline; the screen-fault flashes are flavor on top, opt-in for the people who want them.
  • Retuned the glitches for the people who do turn them on. They used to start at the Battered tier and fire roughly once a second at 1 HP, which stacked on vanilla hit reactions and read as constant interruption. Now they wait for the Wrecked tier, scale with the active scar curve, lean on the lightest variant, and never come faster than once every several seconds.

1.2.3

  • Occasionally the broken head shows the dangling-cords look instead of the usual cracked-open one. About one head in four, rolled per damage episode, so a level either has it or it doesn't.

1.2.2

  • The little expression-preview Semibot under the screen reflects your scars too. It used to show your saved loadout no matter how beat up you were, since vanilla only sets that preview's cosmetics up once per level. Now it mirrors the in-game body as your HP changes.

1.2.1

  • The dead head you leave behind reads as broken now. The mod was wiping back to your saved loadout the instant the death sequence started, so the dead head used to show up untouched no matter how badly you were hurt.
  • Scars push onto the dead head as well as the live body. Vanilla only sets the dead head's cosmetics up once per level so it was sitting at whatever your saved loadout looked like; the mod now keeps both in sync.
  • Fixed scars stripping mid-run when the level handed you off to the truck or shop. The mod was treating any isDisabled flip as a tumble and wiping back to a clean Semibot, but the level-end transition also flips that flag, so the truck heal that followed left you with no scars on the wire.
  • Fixed the host rendering one scar-update behind everyone else. Photon Cloud's buffered fan-out delivers cosmetic RPCs from a non-master sender to the master a step late; the mod now duplicates the apply with a direct-to-master RPC so the host stays in sync with what the rest of the lobby is seeing.
  • Scars react about five times faster. Slow tick dropped from 1s to 0.2s, so the cosmetics catch the HP you're actually at instead of the one you were at last second.
  • Default ScarIntensity is Heavy now. It was Normal; Heavy feels closer to what the mod is for.
  • Vignette and CameraGlitches toggles. The vignette and the camera-fault flashes used to share the VignetteIntensity slider; now you can turn either off independently while keeping the other.

1.2.0

  • Reworked how scars sit on the Semibot. Each limb stacks layers as it worsens now instead of swapping one look for the next: a crack first, then a bandage, then dented plating, then a broken-mesh limb. Which limbs scar, and in what order, is reseeded every level, so the same HP wears differently from one level to the next.
  • Toned the low-health red overlay right down. It's an edge vignette around the screen now instead of a flat red wash over everything, closer to the low-health look in CoD.
  • The vignette tracks your HP on a continuous curve and eases in and out instead of stepping. It fades on smoothly even when you load straight into a run that's already hurt, and fades back off as you heal.
  • Screen glitches hold off until you're badly hurt. The scars and the vignette still start from the first scratch; only the camera faults wait for real damage.
  • Dropped the sparks. They never sold as electrical arcing next to the rest of the effects, just generic particles, so out they came.
  • Fixed scars bleeding onto the cosmetic shop machine's preview Semibot. That one's for showing what you'd unlock, it shouldn't look beat up.
  • Scoped the whole mod to an active run. Scars, the overlay and the glitches used to carry over into the main menu after you died and left. Now it runs across levels, the truck and the shop, and only strips the Semibot clean once the run ends.
  • New ScarIntensity setting. Light holds scars off until you're badly hurt, Heavy piles them on after the first couple of hits, Normal is the tuned default.
  • New VignetteIntensity slider, so you can dial the red vignette to taste or turn it off.
  • The overlay and the screen glitches now respect REPO's photosensitivity setting: steady glow, no pulsing or flashing when it's on.
  • Dropped the voice-distortion effect. It never worked reliably and a half-finished toggle wasn't worth keeping.
  • Added a DebugLogging toggle that traces scar changes to the console, for bug reports.

1.1.0

Reworked how scars escalate. It used to be a hard pool swap at each HP threshold, so every scarred part looked the same at once. Now each part worsens on its own track (bandages, cracks, dented plating, broken-mesh) and the tracks are staggered, so the Semibot wears a mix instead of one uniform stage.

  • Rust dropped from the pool. It read as wear, not battle damage.
  • Broken-mesh limbs start showing around 30 HP instead of the whole set snapping in at 25.
  • The broken head is now the last scar to land, held back until you're under 10 HP.
  • Lots more overlap between stages. A bandaged arm and a broken-mesh leg at the same time is normal now.
  • Removed Herobrine.

Nerfs, sparks and the save backup are untouched.

1.0.0

Initial release.

  • Scars stack as your HP drops. Pool flips at 75 (rust), 60 (bandages), 50 (damaged), 25 (broken-mesh body parts on top). At 1 HP you're maxed out across body slots.
  • Per-player. Scars broadcast through vanilla SetupCosmeticsRPC, so unmodded teammates still see them. Sparks ride Photon RaiseEvent and only reach modded peers.
  • Mode setting: Off / VisualOnly / Full. VisualOnly is the default and skips the speed and stamina nerfs.
  • MetaSave.es3 copied once per session to BepInEx/config/BattleScars/backups/<your name>/, 5 newest kept. The mod never writes to your save.
  • Numpad 0-9 previews HP thresholds without taking damage (0 off, 1 jumps to HP 1, 2-9 to HP 20-90).