#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:
co-authored by
Claude Fable 5
parent
65b30d4633
commit
3013cf86c5
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user