Constant ATTACKS_PER_SEC

Source
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.