Aetheria/Assets/Scripts/ServerShared/Agents
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens a193853d34 Fuse batch 5: agents fire per weapon, Solve owns the burst, refusal is free, arming is the blast radius
Operator rulings 2026-09-30.

* Combat and TurretController ask FireControl.AgentFires for each weapon. A
  fused weapon fires whenever its target is designated (Designated, the one
  visible / in-range / locked predicate PFire already used), whatever the arc;
  an agent never fires one at nothing. A direct-hit weapon keeps the
  AgentMinHitProbability threshold. The group's first weapon no longer speaks
  for the group, and the turret's own range test is gone.
* FireControl.Solve is the one decision about what a round does, extracted
  from Fire: Direct, Burst at a reach, or Refused. Fire, Inspect and the
  weapons' refusal check all read it. Inspect gains Outcome and BurstReach and
  the debug HUD prints them for fused weapons.
* A refused round costs nothing. InstantWeapon asks before its ammo and energy
  spend (at the trigger and at each round), ConstantWeapon folds the refusal
  into the gate its power request and Execute already share, so a refused beam
  draws no power, wear, heat or visibility and stops.
* The arming distance is BlastRadius, measured from the shooter's position and
  blind to hull size. HullAhead's exit, ArmingDistance and
  PendingShot.ArmingDistance are deleted; HullAhead survives as HullEntry for
  the contact fuse. A round fired at a valid target inside the radius is pushed
  out along its line but keeps its target, so a departed target cancels it.
* Step settles a shot's queue state before publishing about it, so a throwing
  presentation observer costs its own notification and cannot re-commit or
  re-resolve the shot on every later tick.

Tests: FireControlPerWeaponTests (new; includes a fused-beam fixture), the
arming tests in FireControlCut124Tests rewritten to the literal distance,
the hull-inclusive probe premises deleted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 18:36:59 +02:00
..
States Fuse batch 5: agents fire per weapon, Solve owns the burst, refusal is free, arming is the blast radius 2026-09-29 18:36:59 +02:00
Tasks Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Agent.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Agent.cs.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
Minion.cs Hostility System 2021-05-11 04:45:42 +01:00
Minion.cs.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
States.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
Tasks.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00