Aetheria/Assets/Scripts/ServerShared/Behaviors
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
..
AetherDrive.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
AetherDrive.cs.meta Aetheric Drive 2021-04-14 03:29:14 +01:00
AutoWeapon.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
AutoWeapon.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
Behaviors.cs Add targeting subsystem, reveal rule and selection slot (fire control Cut 2) 2026-09-19 13:02:20 +02:00
Behaviors.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Capacitor.cs Cut 3: PowerBus replaces TryConsumeEnergy/CanConsumeEnergy 2026-09-18 21:39:38 +02:00
Capacitor.cs.meta Energy & Heat 2020-12-27 22:18:22 +00:00
ChargedWeapon.cs Cut 4: input capacitors close the last direct capacitor spend 2026-09-18 22:52:15 +02:00
ChargedWeapon.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
Cockpit.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Cockpit.cs.meta Energy & Heat 2020-12-27 22:18:22 +00:00
ConstantWeapon.cs 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
ConstantWeapon.cs.meta GUNS GUNS GUNS 2021-01-05 02:56:17 +00:00
Cooldown.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Cooldown.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
EnergyDraw.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
EnergyDraw.cs.meta Mega Placement 2020-05-21 01:53:06 +01:00
Heat.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Heat.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
HeatStorage.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
HeatStorage.cs.meta Wormholes 2021-03-05 14:31:18 +00:00
InputCapacitor.cs Cut 4: input capacitors close the last direct capacitor spend 2026-09-18 22:52:15 +02:00
InputCapacitor.cs.meta Cut 4: input capacitors close the last direct capacitor spend 2026-09-18 22:52:15 +02:00
InstantWeapon.cs 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
InstantWeapon.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
ItemUsage.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
ItemUsage.cs.meta Behavior Canceling & Grouping 2020-05-11 01:17:10 +01:00
Launcher.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Launcher.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
LockWeapon.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LockWeapon.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
MiningTool.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
MiningTool.cs.meta Mining 2020-05-28 04:50:40 +01:00
Radiator.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
Radiator.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Reactor.cs Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
Reactor.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Reflector.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Reflector.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
ResourceScanner.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
ResourceScanner.cs.meta Mega Placement 2020-05-21 01:53:06 +01:00
Sensor.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
Sensor.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Shield.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
Shield.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
StatModifier.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
StatModifier.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
Switch.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Switch.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
TargetingSystem.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
TargetingSystem.cs.meta Add targeting subsystem, reveal rule and selection slot (fire control Cut 2) 2026-09-19 13:02:20 +02:00
Thermotoggle.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Thermotoggle.cs.meta Entity Properties & Thermal Regulation 2020-05-26 01:12:06 +01:00
Thruster.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
Thruster.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Trigger.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Trigger.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
TurretController.cs 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
TurretController.cs.meta Murder Satellites 2021-01-06 14:56:39 +00:00
VelocityConversion.cs Delete AetheriaMath in favour of CultMath 2026-09-14 18:02:41 +02:00
VelocityConversion.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
VelocityLimit.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
VelocityLimit.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Visibility.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Visibility.cs.meta Massive Item Behavior Refactoring 2020-05-12 01:42:13 +01:00
Weapon.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
Weapon.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Wear.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Wear.cs.meta Heat Performance Curves + Wear & Tear 2021-03-04 03:58:46 +00:00