Buried wreck goes INERT: collision off + target lock dropped
Answers "it's still there but invisible": not normal -- the real game removes
the dead entity (death row). Full entity teardown needs the mech render tree
unhooked from the renderer first (the remaining P5 follow-through), so until
then the burial transition makes the wreck behaviorally gone:
- collisionVolumeCount = 0 (the collision gather skips volume-less movers;
MoveCollisionVolume early-outs) -> no phantom blocking
- the player's target lock drops -> beams stop converging on / hitting the
empty spot, no phantom impact smoke
Verified: zero [damage] hits after burial; INERT fires one-shot at
"wreck buried".
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
5236d4263a
commit
bf87360c42
@@ -113,9 +113,13 @@ authentic path scoped.
|
||||
VISUAL is the **WRECK-HULK SWAP** (death ModelList `blhdead` → effect 104 → the victim becomes its
|
||||
`<mech>dbr.bgf` burning hulk) — RECONSTRUCTED + verified (`SwapToWreck`, btl4vid.cpp; see
|
||||
[[combat-damage]] "Death SEQUENCE" for the full chain + proofs).
|
||||
**Remaining**: (c) the whole-mech **DeathSplash** radius damage; wreck mesh FLAMES
|
||||
(flamesml/flamebig + sweep flicker, 1996 script case 4) + the hulk settle motion (cosmetic).
|
||||
Do NOT issue DestroyEntityMessage on death.
|
||||
✅ The wreck **sinks** (the 1996 quadratic burial, `offsetY = -0.025·t²`, gone ~17s) with the `ldbr`
|
||||
debris field; at burial it goes **INERT** (collisionVolumeCount=0 + target lock dropped — no phantom
|
||||
blocking/hits). **Remaining**: (c) the whole-mech **DeathSplash** radius damage; wreck mesh FLAMES
|
||||
(flamesml/flamebig + sweep flicker, 1996 script case 4); the **full entity teardown at burial**
|
||||
(the authentic death-row removal — needs the mech render tree unhooked from the renderer first;
|
||||
the inert wreck is the safe stand-in until then).
|
||||
Do NOT issue DestroyEntityMessage on death (before the render-tree teardown lands).
|
||||
- **Critical-subsystem plugs UNBOUND (43 skips/mech) [T3].** `MechCriticalSubsystem::subsystemPlug`
|
||||
never gets WIRED to its live subsystem (the ctor's Resolve() at mechdmg.cpp:276 only READS; the
|
||||
binding write is elsewhere/unreconstructed), so `SendSubsystemDamage` skips every entry via the
|
||||
|
||||
Reference in New Issue
Block a user