diff --git a/CLAUDE.md b/CLAUDE.md index af664e3f..a0716652 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1332,12 +1332,29 @@ Three legacy defects made the feature unusable: `1 / (3 * 2)` truncated to zero. `Weapon.cpp` now clamps starting ammo and ammo-per-pack to one only when the weapon declares a positive maximum; zero-capacity weapons remain unchanged. - `MechBay/weapons.script` applied High Explosive UI handling to stale ID 84 (NARC) instead of 87. + Side effect: NARC Beacon (`MaxAmmo=18`, 1 slot → 6 rounds) was wrongly inheriting the + `highexplosive` flag, which suppresses the ammo-round count, so NARC now displays its rounds + in MechLab again. Intended; the flag exists only to hide the count on a one-shot charge. + +The two edited content files live in **different packages** — `HighExplosive.data` is packed by +`core.build` → **`core.mw4`** (`props.build` contains no `WeaponSubsystems` entries at all), and +`weapons.script` by `props.build` → **`props.mw4`**. `build-resources.ps1` repacks any package with +newer sources, so both are picked up automatically; the distinction only matters if a package is +ever repacked selectively. + +Residual gap (not hit today): the MechLab path fixed here is `Weapon::CreateStream`. Authored +content takes a different path — `Weapon_Tool.cpp:66` defaults `ammoCount` to `-1` when the +instance page omits `AmmoCount`. No mech `.subsystems` currently mounts a High Explosive, but +adding one to a stock loadout requires an explicit `AmmoCount=1` or it will be unfireable for the +same reason. (`Content\ShellScriptsDev\MechBay\weapons.script` still has the old `84`; no `.build` +packages that tree, so it never ships.) Linux validation confirmed High Explosive now constructs with one round, zero-capacity weapons -still produce zero ammo packs, edited files retain their original CRLF/legacy encodings, and the -focused diagnostics/diff checks are clean. Still required: rebuild `MW4.exe` on the Windows VC6 -machine, repack `props.mw4`, deploy both, then remove/reinstall the charge in existing saved variants -that may retain serialized zero ammo. +still produce zero ammo packs, a sweep of every weapon subsystem found High Explosive to be the +**only** one whose starting-ammo formula truncated to zero (so no other weapon's ammo changed), +edited files retain their original CRLF/legacy encodings, and the focused diagnostics/diff checks +are clean. Still required: rebuild `MW4.exe` on the Windows VC6 machine, repack resources, deploy, +then remove/reinstall the charge in existing saved variants that may retain serialized zero ammo. ## Next steps (proposed) - [ ] (Parked, diagnostics-only, cannot affect a real pod) Two gaps found while testing `-tident`