Aetheria/tests/Aetheria.Shared.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens ff2be8e26f One placement rule for hardpoint gear
Soul's S3 and the S2 ruling ("B is the design intent, saving slots in a
hardpoint can be a valid tradeoff for crowded ships if you really need to fit
an extra tool"). Entity.HardpointAt is the one placement rule: at an origin,
the item lies within a hardpoint of its type at that hardpoint's rotation
(HardpointData.TakesAt), its own cells are free, and that hardpoint holds no
other hardpoint item. The origin no longer has to be a hardpoint cell, and
TryFindSpace tries every offset inside a hardpoint, the offsets the fit rule
tries, so an L-shaped hardpoint takes its L design instead of generation
throwing. Leftover hardpoint cells may hold general gear, and a hardpoint still
holds one hardpoint item.

Tests: an L hardpoint takes its L design by hand and in generation (Soul's
P11); a turret's gun goes back beside the tool gear in its leftover cells
(P21); a second gun in a roomy hardpoint is refused; a saved entity reloads to
the same loadout with its items in reverse order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 23:13:37 +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
BaseStateTests.cs BaseState: an includeChildren walk keeps its state in locals 2026-09-30 15:12:41 +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 Scenarios content: delete five industrial placeholders; products for four weapons and the heater 2026-09-30 15:45:18 +02:00
FireControlPerWeaponTests.cs Gate a charged weapon's Activate on CanFire, and start a burst's cooldown with the tick it flew in 2026-09-29 22:15:51 +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 Give the stance-test gun a burst and a cooldown 2026-09-29 21:35:53 +02:00
InputCapacitorTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LoadoutTests.cs Scenarios Cut 1: Materialize builds product-less designs unbranded; the hull picks the entity 2026-09-30 12:33:00 +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 One loose fit rule for hardpoint gear 2026-09-30 20:46:28 +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
RunStartTests.cs One placement rule for hardpoint gear 2026-09-30 23:13:37 +02:00
SafeAssert.cs Scenarios Cut 1: a failed staging reports what it admitted, not a crash 2026-09-30 14:59:50 +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