Damage tracking. Every player's damage dealt is counted and shown in the scoreboard,
on the same 0-100 scale the HUD uses.
Rewritten kill detection. 1.0.0 hooked the PlayerHealth.killer SyncVar and treated
every write as a kill, but the game writes it on every damaging hit. With multi-hit
weapons the first player to land a hit was credited, and a player who was hit but survived
produced a phantom kill. Detection now runs off the health value instead.
Damage and deaths are read from the client-side SyncVar write only. FishNet keeps a separate
server and client copy of every SyncVar, so reading the field for the previous value mixed
the two and produced nonsense deltas.
The starting health is never written through the SyncVar setter, so fullHealth is used as
the baseline for the first hit of a life. Without this a one-shot kill produced no event.
Attribution is resolved synchronously rather than at the end of the frame - the victim's
object is despawned during the death sequence, which silently dropped the lethal hit.
Overkill no longer inflates the damage counter, and the follow-up writes of a death
(-8, then -2000) no longer count twice.
Burst and automatic weapons credit every hit, not just the first. FishNet only replicates a
SyncVar when its value changes, so killer reaches remote clients once per attacker rather
than once per hit; requiring a same-frame write dropped the rest as "environment" - including
the lethal one when it was not the first shot of the burst.
Environmental deaths are detected from the game's own fellVoid / suicide flags, so a
player who was shot earlier and then falls into the void no longer credits that kill to
whoever hit them last.
Scoreboard overlay is on by default and shows name / kills / damage.
NameFormat gained a third placeholder {2} for damage dealt.
New diagnostic option Debug/TraceRawWrites.
1.0.0
Per-match kill counter next to player names on the round-end screen.
Works as a client, not just as the host.
Marked vanilla compatible - no separate matchmaking pool.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.