re: the 59-of-131 arsenal question is closed -- an item names a hardpoint
An Arsenal item does not reference a Weapon record. It references a Turret_NNN HARDPOINT SLOT on the player craft's own unit table, and the slot is what carries the WeaponID. Three hops: Arbalest_155KG.PlayerWeapon -> Turret_050 (a slot on UN_f001_TCAF_DeltaSaber_T_Player) -> .WeaponID -> Weapon_DSaber_P_wep_50_Cannon Controls, both in the same loop: 0/59 distinct PlayerWeapon values are a Weapon.ID; 59/59 are a Turret_NNN slot id; the full chain lands on a Weapon.ID 59/59. WingmanWeapon resolves identically. The WEAPONS roster's 59 = 55 item names + 4 empty-slot sentinels. Wingmen fly a cheaper gun: following the same 59 slots across craft variants, the _Player tables give each item its own weapon record (59 distinct) while the AI tables collapse all 59 onto 10 generic classes. That is most of the 131. Upgrades yesterday's 'hardpoint catalogue' reading from 21 to adopted, proved from an independent file, and corrects its '10 distinct WeaponID' figure -- that was the AI variant, not the player's. Also adds an __main__ guard to unit_substructures.py so importing pak_entries from it does not run its report; its artefact is unchanged and still byte-identical.
This commit is contained in:
@@ -827,6 +827,42 @@ unknown, what evidence exists, and what the first step would be. Move an item in
|
||||
field; the stat keys in records not opened here (`MegaTons`, `BulletLimit`,
|
||||
`CrewCount`, `HP_CLASS`); why the roster lists 59 of 131.
|
||||
|
||||
* ✅✅ **(2026-08-27) THE 59-OF-131 ARSENAL QUESTION IS CLOSED — an Arsenal item
|
||||
names a HARDPOINT SLOT, not a weapon.**
|
||||
[structures/arsenal-item-weapon-chain](structures/arsenal-item-weapon-chain.md),
|
||||
artefact `data/arsenal-chain.txt`, regenerator
|
||||
`tools/re-capture/arsenal_chain.py`.
|
||||
Open since the weapon datasheet was decoded, and one wrong answer was
|
||||
refuted yesterday. The link is **three hops**:
|
||||
`Arbalest_155KG.PlayerWeapon` → **`Turret_050`** (a slot on
|
||||
`UN_f001_TCAF_DeltaSaber_T_Player`) → `.WeaponID` →
|
||||
`Weapon_DSaber_P_wep_50_Cannon`.
|
||||
🧪 The controls, both run in the same loop: **0 / 59** distinct `PlayerWeapon`
|
||||
values are a `Weapon.ID`; **59 / 59** are a `Turret_NNN` slot id; the full
|
||||
chain lands on a `Weapon.ID` **59 / 59**. `WingmanWeapon` resolves
|
||||
identically. The `WEAPONS` roster's 59 = 55 item names + 4 empty-slot
|
||||
sentinels (`No_Equipment`, `NullWeapon_Arm1/2/3`).
|
||||
🔑 **Wingmen fly a cheaper gun.** Following the same 59 slots across craft
|
||||
variants: the `_Player` tables give each item **59 distinct** weapon records
|
||||
(`Weapon_DSaber_P_wep_NN_*`); the AI tables (`…DeltaSaber_T`, `_W`, `_EX5`)
|
||||
collapse all 59 onto **10** generic classes (`Weapon_TCAF_DeltaSaber_Beam`,
|
||||
`…_Gun`, …). That is most of the 131: 59 player + 10 AI-Saber + ship/ADAN
|
||||
turret guns.
|
||||
✅ **Upgrades yesterday's 🟡** — the "hardpoint catalogue" reading of the
|
||||
player craft's 63 `Turret_NNN` slots is now ADOPTED, proved from an
|
||||
independent file. ⚠️ And it corrects a number in that entry: the "10 distinct
|
||||
`WeaponID`s" was measured on the **AI** variant; `_Player` has 59.
|
||||
An item record also carries `Model`/`Package`/`SilhouetteModel` (the meshes
|
||||
the corpus decodes), `Points` + `Stage` (the develop economy
|
||||
`arsenal-develop-economy.md` recovered from the screen side), the Hangar stat
|
||||
bars `Power`/`Range`/`Size`/`Speed`/`Weight`, and `Type` = a slot class.
|
||||
🟡 Not settled: `Type` and the per-slot allow-lists (`STANDARD_ARM1/2/3`,
|
||||
`PlayerSET_*`, `ExSET_*`, `SNNSET_*` — records whose only field is `Type`);
|
||||
the **wingman loadout** records (`Bird1-Sandra`, `Rhino1-Katana`, … with
|
||||
`Arm1`/`Arm2`/`Arm3`/`Nose`/`UnitID`) — named here, not opened; empty
|
||||
`Dependency`/`MissionObjective`; which weapons the 26 never-on-a-turret ones
|
||||
are.
|
||||
|
||||
* ✅ **(2026-08-27) THE DESTRUCTIBLE-SUBSYSTEM MODEL — a unit's sub-records,
|
||||
opened at last. 835 turrets, and every turret's weapon resolves.**
|
||||
[structures/unit-substructure-records](structures/unit-substructure-records.md),
|
||||
|
||||
Reference in New Issue
Block a user