Issue #31: wire the EJECT button (EjectAmmo msg 0xb @004bb9b8) -- the in-mission unjam

Disasm-faithful transcription of the export-gap handler onto
ProjectileWeapon (MESSAGE_ENTRY id 0xb, the #19 pattern).  PRESS arms
the ~3s UpdateEject countdown (bin alarm -> Ejecting(3); gate 2 parks
the weapon offline mid-eject -- authentic).  HOLD to completion =
DumpAmmo jettisons the bay -> NoAmmo.  TAP (release early) cycles ONE
round out via FeedAmmo and returns the weapon to Loading -- clears a
jam at the cost of a round (and recovers a FailureHeat 7 while rounds
remain).  Binary structure kept exactly incl. the press-no-bin
fall-through into the release block.

AmmoBin: Ejecting(3)/Ejected(4) alarm levels decoded + named
SetAmmoState accessor (databinding rule).  Always-on forensics:
'[weap] EJECT tap' + '[ammo] bay DUMPED overboard (N rounds)'.

Rig-verified live (BT_EJECTTEST=1 / =hold on LRM15): taps eject one
round each and return the weapon to service (15->8 across cycles);
hold dumps all 16 -> NoAmmo.  Awaiting a human press of the actual
ENG-page button on a jammed weapon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-23 13:49:11 -05:00
co-authored by Claude Opus 4.8
parent 225fe43f0c
commit 2edd1b5363
7 changed files with 134 additions and 8 deletions
+4 -4
View File
@@ -45,10 +45,10 @@ CONTROLS (keyboard):
A weapon gone quiet with ammo left has probably JAMMED (heat makes
ballistic weapons jam -- authentic!). Check its panel's ENG DATA page
for the jam lamp (a cocked round with warning bolts). The pod's fix
is the EJECT button: TAP to eject the jammed round (weapon reloads and
returns to service), HOLD ~3s to jettison the whole bay before it
cooks off. (Wiring in progress -- until it lands, a respawn clears
jams.) Watch the TEMP strip and pace salvos.
is the EJECT button on that weapon's ENG DATA page: TAP to eject the
jammed round (weapon reloads and returns to service), HOLD ~3s to
jettison the whole bay before it cooks off. Watch the TEMP strip and
pace salvos.
G (hold) + fire key .. regroup a weapon onto that trigger -- or hold a
weapon panel's red PROGRAM button with the mouse and tap a fire key;
the joystick diagram on the panel shows the binding live.