Aetheria/tests/Aetheria.Shared.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 57c2560fc0 Fuse fixes: arming holds for every burst, no-lock rounds stop on the first hull, settle before user code
Operator ruling 2026-09-30: a no-lock round of any fuse stops at the first hull
on its aim line and detonates there (bomb fishing still bursts at max range on
a clear line). CommitBurst no longer special-cases Contact.

Soul's findings on 14f66634..7e620ff9:
- Arming (HIGH): a contact or delayed blast on a hull nearer the muzzle than the
  blast radius detonated at the hull. Armed is now the one owner of the arming
  rule; Solve plans its burst point through it and ApplyBlastHit pushes the hull
  point through it.
- A refused beam never starts (ConstantWeapon.Activate asks Refuses), so
  OnStartFiring no longer flashes visuals and audio for a beam that fires nothing.
- Step removes a shot from the queue before Apply runs damage observers, so a
  throwing observer cannot make the blast repeat every tick.
- AgentFires consults Solve for a fused weapon: a refused weapon is never fired
  and Combat's group pick no longer counts its damage.
- SingleAmmoBurst pays at its first unrefused round in Execute, judged with the
  Range that round flies with, instead of at the trigger on the previous tick's.
- Inspect reads Designated from Solve (FireSolution.Designated) instead of
  recomputing visible, in-range and locked; FireControlDiagnostic drops those
  three fields and the debug HUD shows the one. Combat's group range test is
  FireControl.InReach, the range half of Designated (a LockWeapon must be
  activated to acquire its lock, so Combat cannot ask Designated itself).

Tests pin each rule, plus the two surviving gaps: a pushed-out targeted round's
arrival at the arming distance, and the AgentMinHitProbability boundary.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:31:59 +02:00
..
Aetheria.Shared.Tests.csproj Cut 1 fix batch 3 (F1): load real GameplaySettings, fix the speed-cap test 2026-09-26 01:48:58 +02:00
AetheriaStoresTests.cs Fused rounds fire out of arc; safe fuse; proximity misses type as Burst 2026-09-29 16:27:46 +02:00
BrownoutTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
CapabilityEventsTests.cs Test that capability events route only to their own kind's subscribers 2026-09-17 14:37:07 +02:00
ConditionRatioTests.cs Cut 8: pin ConditionRatio -- perfect/dead/durability/heat/power/force-unchanged 2026-09-19 04:41:43 +02:00
FireAuthorityTests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut4Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut5Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut6cTests.cs Fire control Cut 6c.1/6c.2: Resolution becomes reciprocal, targeting degrades instead of throwing 2026-09-19 18:31:46 +02:00
FireControlCut6dTests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut6Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut7Tests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut8Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut9Tests.cs Fuse fixes: arming holds for every burst, no-lock rounds stop on the first hull, settle before user code 2026-09-29 20:31:59 +02:00
FireControlCut11Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut12Tests.cs Fire control 12.4 fix batch F5: measure the steady state, not the first window 2026-09-29 04:17:43 +02:00
FireControlCut123Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut124Tests.cs Fuse fixes: arming holds for every burst, no-lock rounds stop on the first hull, settle before user code 2026-09-29 20:31:59 +02:00
FireControlPerWeaponTests.cs Fuse fixes: arming holds for every burst, no-lock rounds stop on the first hull, settle before user code 2026-09-29 20:31:59 +02:00
FireControlTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
HeatResponseTests.cs Cut 1: close S5/S6's validation gaps, pin S7's surviving mutants 2026-09-18 18:42:10 +02:00
IffAndCombatTests.cs Test the IFF/grudge/detection rules and the weapon stance gate 2026-09-17 14:01:31 +02:00
InputCapacitorTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LoadoutTests.cs Pin the targeting subsystem, reveal rule and Q4's required-equipment rule 2026-09-19 13:03:12 +02:00
PlayerSettingsSensitivityTests.cs Move mouse-look sensitivity into the PlayerSettings CultCache global 2026-09-17 17:22:09 +02:00
PowerBusTests.cs F2: gate the bus's reactors and consumers on Active, not Online 2026-09-19 05:06:31 +02:00
PowerCurveTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
PowerTierTests.cs F3: an empty tier is not a satisfied tier, and sub-epsilon demand pays its way 2026-09-19 05:15:30 +02:00
RestoredHullsTests.cs Cut 1 fix batch 3 (F7): replace the vacuous turret-distance check with a real Phase-offset bound 2026-09-26 02:37:25 +02:00
RoleAuthoringTests.cs Cut 7: refuse a stat naming a role its design lacks 2026-09-19 05:01:17 +02:00
RunSaveTests.cs Delete the persisted-behaviors feature per operator ruling 2026-09-17 05:44:37 +02:00
SafeAssert.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
ShieldReserveTests.cs F4/F5: shield restore survives inactivity, and CanTakeHit stops mutating 2026-09-19 05:32:29 +02:00
StatResolverTests.cs Pin Gate 1, Gate 2 and F8's mutant fix with tests and mutations 2026-09-18 20:42:05 +02:00
stryker-config.json Cut 11 map: mutation testing moves to Stryker, and the survivors it found 2026-09-22 15:59:06 +02:00
TargetingSystemTests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00