Constant K_HP_KNOTS

Source
pub const K_HP_KNOTS: &[(i64, f64)];
Expand description

Multiplier on encounter HP, checked against the player’s DPS.

Sparse knots, interpolated in log space, EMPTY by default — an empty table means 1.0 everywhere, so authoring nothing changes nothing.

Why this exists as its own curve: enemy strength was a single scalar, decomposed into HP and Attack by fixed exponents inside spawn_wave. That makes the two failure modes inseparable. A boss that dies at the right speed while the player never drops below 90 % HP and a boss that is a bullet sponge the player barely survives are OPPOSITE problems, and one scalar behind a sqrt cannot fix one without moving the other — every correction trades a pacing failure for a survival failure.

§2.7’s correction matrix assumes two independent levers: raise K_OUT when survival pressure is missing, lower K_HP when a boss takes too long, and do both when the fight is wrong on both axes.