Scenarios batch-4 minors: gun moves within its own hardpoint; station reactors regain quality spread #14

Merged
nibu merged 2 commits from nibu/scenarios-batch4-minors into master 2026-11-11 13:10:14 +00:00
Member

Closes follow-up aetheria-release:follow_up:scenarios-batch4-minors (both defects).

1. Drag within own hardpoint. Entity.ItemFits(item, coord) now judges an already-equipped item without its own cells (private rule takes the moving EquippedItem as an excluded occupant, tool and hardpoint branches alike). TryEquip/TryFindSpace pass none, so they stay strict: equipping an equipped item twice is still refused, and the UI keeps TryUnequip then TryEquip (cargo bay emptiness rule). InventoryPanel.IgnoreOccupancy is display-only and unchanged.

2. Station-reactor spread. f458206c7 authored the five station products with default ProductRole (.5/.15). New AetherDb station-reactor-spread [apply] copies each source product's Mean/StandardDeviation per role (Steadfast, Manhattan, Notorious, Vulcan, MoveOnPro) to roles still at the default; applied to GameData/Aetheria.cc. Second run: No changes. TwoAiDigestIsPinned repinned: the catalog blob alone moved it (same tree, old catalog: old pin).

Tests: HardpointOwnershipTests (3 new), StationReactorSpreadTests (2 new). Full Aetheria.Shared.Tests: 2950, all pass after the repin.

Does not touch the CultLib pin.

🤖 Generated with Claude Code

Closes follow-up `aetheria-release:follow_up:scenarios-batch4-minors` (both defects). **1. Drag within own hardpoint.** `Entity.ItemFits(item, coord)` now judges an already-equipped item without its own cells (private rule takes the moving `EquippedItem` as an excluded occupant, tool and hardpoint branches alike). `TryEquip`/`TryFindSpace` pass none, so they stay strict: equipping an equipped item twice is still refused, and the UI keeps TryUnequip then TryEquip (cargo bay emptiness rule). `InventoryPanel.IgnoreOccupancy` is display-only and unchanged. **2. Station-reactor spread.** f458206c7 authored the five station products with default `ProductRole` (.5/.15). New `AetherDb station-reactor-spread [apply]` copies each source product's Mean/StandardDeviation per role (Steadfast, Manhattan, Notorious, Vulcan, MoveOnPro) to roles still at the default; applied to `GameData/Aetheria.cc`. Second run: `No changes`. `TwoAiDigestIsPinned` repinned: the catalog blob alone moved it (same tree, old catalog: old pin). Tests: `HardpointOwnershipTests` (3 new), `StationReactorSpreadTests` (2 new). Full Aetheria.Shared.Tests: 2950, all pass after the repin. Does not touch the CultLib pin. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The public ItemFits(item, coord) the inventory drag asks counted the dragged equipped
item's own cells as occupied, so a nudge overlapping its current cells was refused.
The private rule now takes the item being moved as an excluded occupant. TryEquip
and TryFindSpace pass none and stay strict, so equipping an equipped item twice is
still refused; the UI keeps TryUnequip then TryEquip (cargo bay emptiness rule).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
f458206c7 authored the five per-manufacturer station reactor products with bare
ProductRole entries (the .5 / .15 default). The command copies each source product's
Mean and StandardDeviation per role to a role still at the default, and was applied
to the catalog. TwoAiDigest repinned for the catalog move.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
nibu merged commit 2c087bf2b0 into master 2026-11-11 13:10:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Aetheria!14
No description provided.