#111 FIXED: the peer-visible warp sphere is RETIRED -- observers see the un-wreck model swap, exactly what the pods showed. The blue bubble on another player's dying/respawning mech was never binary behavior: the authentic effect is the POV-ONLY translocation (POVTranslocateRenderable, the dying pilot's own eye-centred collapse/reveal -- btl4vid.cpp's own banner says 'the authentic effect is POV only', twice), and the world-anchored peer sphere was a deliberate July-10 port extension (160b78e) that the field read as a wrong effect ('should just be the big boom from other POV' -- Lynx, night 9, confirmed in follow-up). The death-side collapse was already local-gated (GetMissionPlayer, verified back through build 693), so retiring the extension removes the LAST peer-visible warp; the corpse-vs-dropzone replication-order question the field receipts could not settle becomes moot. Un-wreck edge keeps everything else: pfx cleanup (#129), model rebuild, the ungated [respawn] receipt (text updated: 'un-wrecked', no '+ warp'). BTStartWarpEffect kept caller-less as slot-guard documentation. Night-16 field receipts audited on the way in: all 24+ un-wreck edges are clean mode 9->1, no death-state jitter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bw71WVsccjwW7uKRg4aWD
This commit is contained in:
Joe DiPrima
2026-08-14 00:01:39 -05:00
co-authored by Claude Fable 5
parent 65b30d4633
commit 3013cf86c5
2 changed files with 16 additions and 5 deletions
+5
View File
@@ -3786,6 +3786,11 @@ void BTStartWarpExpandPOV()
// World-anchored warp (a PORT EXTENSION -- the authentic effect is POV only): an
// OBSERVER seeing a peer respawn over THERE. No world mask (the observer is alive);
// expand-reveal at the peer's world point.
// *** RETIRED (#111, 2026-08-14): no caller. The field read the peer-visible
// bubble as a wrong effect on the dying/respawning mech ("should just be the
// big boom from other POV"); the authentic effect is the POV-only translocation,
// and observers now see the un-wreck model swap itself (mechdmg.cpp). Kept as
// documentation of the one-warp-slot guard. ***
//
void BTStartWarpEffect(float x, float y, float z)
{
+11 -5
View File
@@ -1387,7 +1387,6 @@ void
&& owner->GetInstance() == Entity::ReplicantInstance)
{
extern void BTRebuildMechModel(Entity *entity);
extern void BTStartWarpEffect(float x, float y, float z);
// #129 (fresh spawns smoking, peers' screens only): the wreck plume
// is re-armed LOCALLY on every node (entity-attached, 10s windows),
// and only the master's Mech::Reset ran the @004d0c14 effect
@@ -1397,13 +1396,20 @@ void
extern void BTStopEntityPfx(void *entity_v);
BTStopEntityPfx((void *)owner);
BTRebuildMechModel((Entity *)owner);
BTStartWarpEffect((float)owner->localOrigin.linearPosition.x,
(float)owner->localOrigin.linearPosition.y,
(float)owner->localOrigin.linearPosition.z);
// (#111) the peer-visible warp sphere that used to fire here is
// RETIRED. It was a deliberate port extension (160b78e, "observer
// sees peer un-wreck") -- but the authentic effect is POV-ONLY
// (POVTranslocateRenderable, the dying pilot's own translocation;
// btl4vid.cpp's banner says so twice), and the field read the blue
// bubble on another mech as a wrong effect ("should just be the
// big boom from other POV" -- Lynx, night 9, confirmed). The
// observer sees exactly what the pods showed: the un-wreck model
// swap itself. This also retires the one-slot contention skip
// (a peer landing mid-POV-warp no longer competes for the slot).
// #108 forensics: UNGATED -- one line per peer respawn; a field
// night's ghost triage needs these without asking players for envs.
DEBUG_STREAM << "[respawn] replicant " << owner->GetEntityID()
<< " un-wrecked + warp (mode "
<< " un-wrecked (mode "
<< oldMode << "->" << mode << ") at ("
<< owner->localOrigin.linearPosition.x << ","
<< owner->localOrigin.linearPosition.z << ")\n" << std::flush;