pub const ATTACKS_PER_SEC: f64 = 1.8;Expand description
INCOMING enemy hits/s on the player — prices counterattack (the scalar term
and the item roll are FD-invariant: FD cancels, only this rate matters).
Deliberately independent of CASTS_PER_SEC — the player’s cast rate says
nothing about enemy attack rate. Derivation: combat schedules each mob’s
next cast at current_tick + scaled_cooldown (logic/fighting.rs), so a mob
attacks every cd — mob basic attacks run cd 1.0-1.7s (typ. 1.4 ⇒
~0.7 atk/s). Campaign waves hold a median 5 mobs, declining as they die
(time-avg attackers ≈ 2.5, further shaved by approach/spawn delays):
≈ 2.5 × 0.7 ≈ 1.8 hits/s. Boss fights run lower (single attacker) —
this is the campaign-mix weight.