Scale health and damage by ten so percentages have somewhere to land
A shot is 60, a fresh character has 1000, the Warden has 36000. Enemy health, boss health and every emitter's damage were scaled with them, so every ratio is unchanged and time to kill is exactly what it was -- tests/unit/test_content now pins shots-to-kill per enemy and hits-to-kill a player so a careless edit to either side shows up as a number a designer recognises. The reason is rounding rather than balance. Damage is an integer, and at a base of 6 the +5% every upgrade carries computed to 6.3 and rounded straight back to 6: a player took their first upgrade, was told it made them stronger, and nothing happened. diag_upgrades used to print "damage matches the formula (6 -> 6)"; it now prints (60 -> 63). The boss's per-phase armour multiplier had the same problem, turning 1.15 into an effective 1.17. The practice dummy stopped relying on a huge health pool at the same time. Its old 100000 was already past the u16 the snapshot sends enemy health in, and once a shot did 60 a patient player could have destroyed the hub's only practice target for everyone until the next restart. EnemyDef.indestructible says what was actually meant, and a test asserts nothing else uses it. check.sh clean, 364 tests, SMOKE PASS, all four diagnostics green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -340,3 +340,25 @@ pins the clamp.
|
||||
reliable channel, and the client learns enemy health from the snapshot anyway.
|
||||
Death is still announced, because the experience award is keyed on that event
|
||||
and a kill by poison has to score.
|
||||
|
||||
---
|
||||
|
||||
## The scale of the numbers
|
||||
|
||||
**Health and damage are ten times what they started as, and every ratio is
|
||||
unchanged.** A shot is 60, a fresh character has 1000, the Warden has 36000,
|
||||
and enemy health and emitter damage were scaled with them — time to kill is
|
||||
exactly what it was.
|
||||
|
||||
The reason is rounding, not balance. Damage is an integer, and at a base of 6
|
||||
the +5% that every upgrade carries computed to 6.3 and rounded back to 6: a
|
||||
player took their first upgrade, was told it made them stronger, and it did
|
||||
nothing. Ten times the base means every 5% step is worth 3 damage. The same
|
||||
applies to the boss's per-phase armour multiplier, which at 6 damage rounded
|
||||
1.15 into 1.17.
|
||||
|
||||
**The practice dummy is indestructible by flag, not by a large number.** The
|
||||
old 100000 health was already past the u16 the snapshot sends enemy health in,
|
||||
and once a shot did 60 a patient player could have worn it down and left the
|
||||
hub without a practice target until the next restart. A flag says what was
|
||||
actually meant.
|
||||
|
||||
Reference in New Issue
Block a user