Fire clamps the delivery range to Range; smoke-rounds keeps the template's falloff ratio; fixtures follow the gate

Not yet verified together.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-10-14 03:04:45 +02:00
commit aed269ad94
4 changed files with 18 additions and 7 deletions

View file

@ -723,8 +723,9 @@ public static class FireControl
Target = engaged,
Weapon = item,
Aimed = source.ResolvedTargetItem,
// The one place a shot's damage meets range, frozen here: BurstReach is where the payload is delivered.
Damage = (damageOverride ?? weapon.Damage) * weapon.RangeFactor(solution.BurstReach),
// The one place a shot's damage meets range, frozen here: BurstReach is where the payload is delivered. A burst is
// never farther than Range (it is pulled back to it), so rounding in its distance must not read as beyond it.
Damage = (damageOverride ?? weapon.Damage) * weapon.RangeFactor(min(solution.BurstReach, weapon.Range)),
Penetration = weapon.Penetration,
DamageSpread = weapon.DamageSpread,
DamageType = weapon.WeaponData.DamageType,