Correct STEP 14 deployment notes for the High Explosive fix

Record the actual packages for the two edited content files: HighExplosive.data
is packed by core.build into core.mw4, not props.mw4, and weapons.script by
props.build into props.mw4. build-resources.ps1 repacks on newer sources, so both
are picked up automatically; the distinction only matters for selective repacks.

Also document that restoring the NARC Beacon ammo-round display is an intended
consequence of moving the highexplosive UI flag from ID 84 to 87, note that
authored .subsystems loadouts need an explicit AmmoCount=1 because Weapon_Tool
defaults ammoCount to -1, and record that a sweep of every weapon subsystem found
High Explosive to be the only one whose starting-ammo formula truncated to zero.
This commit is contained in:
2026-08-08 23:05:05 -05:00
parent cd10398f71
commit 9092b78dbf
+21 -4
View File
@@ -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`