Nothing could kill the LOCAL pilot on a bench. BT_MP_FORCE_DMG only targets
REPLICANTS (mech4.cpp:4884 skips anything else), a solo dummy never shoots back,
and every other damage path needs a second live pod. So the entire respawn
family -- #70 torso twist after respawn, #22 ammo/weapons not resetting, #55
coolant/heat/generator restore, #57 the respawn latch -- could only ever be
tested by asking a playtester to die. That is why they are all still open or
awaiting-verification.
BT_SELF_DAMAGE=<amount/sec> dispatches an unaimed TakeDamage at our OWN mech
through the same virtual Entity::Dispatch a real beam hit uses, so the cylinder
hit-location lookup, the zone cascade, the vital-subsystem kill and the whole
authentic death -> 5s -> DropZone -> Mech::Reset cycle all run for real. No
state is poked. =60 kills a fresh MadCat in about a minute.
It LATCHES OFF at the first death. That matters more than it sounds: live
damage knocks the power bus down, which is exactly the signal a respawn test
wants to read. The first run of this harness produced a torso electrical state
flapping 4 <-> 1 and I nearly filed it as #70 -- it was the harness still
shooting me. One death, then silence, then measure.
FIRST RESULT -- #70 does NOT reproduce in solo, but something near it does.
After the respawn the MadCat's torso recovers fully: rate back to 0.872665
(the authored 50 deg/s), elec=4 Ready. Twist is not broken by a respawn.
However the post-respawn mission shows INTERMITTENT power dropouts that a
pristine mission never shows:
pristine control (no damage, no death): 48/48 samples elec=4, ZERO dips
post-respawn (harness silent): 95/97 elec=4, 2 dips to elec=1
A dip zeroes effectiveTwistRate (torso.cpp:570), so a pilot mid-turn feels the
twist cut out -- plausibly what "torso twist stops working after a respawn"
actually is: not a permanent stop but a stutter. Both dips are transient and
the tail of the run is steady, so it is not a stuck state. Cause not yet
found; the watched subsystem's own electrical level (wElec) dips with it, while
the generator holds a full 10000V against a 5000V brownout threshold -- so it
is NOT the brownout path in PowerWatcher::UpdateWatch. Filed here as the next
thread to pull, with the harness that makes it reproducible in one solo run.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>