diff --git a/game/reconstructed/btl4vid.cpp b/game/reconstructed/btl4vid.cpp index a57283c..42bf211 100644 --- a/game/reconstructed/btl4vid.cpp +++ b/game/reconstructed/btl4vid.cpp @@ -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) { diff --git a/game/reconstructed/mechdmg.cpp b/game/reconstructed/mechdmg.cpp index 803e0f0..34b3e71 100644 --- a/game/reconstructed/mechdmg.cpp +++ b/game/reconstructed/mechdmg.cpp @@ -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;