mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 19:03:43 +00:00
fix(combat): Die never claims a client death
Live sent client_death=false on every Die, players included (19,428 in the live captures, 452 of them player deaths); DLU sent true for players. The client only uses the flag to match a death it already predicted locally (LWODestroyableComponent::msgDie): with it set, a Die that arrives while a post-death respawn is pending is dropped. Check: die to an enemy, to falling and to a quickbuild trap; the death animation, coin loss and respawn prompt all still appear, and other players see you die. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -746,7 +746,9 @@ void DestroyableComponent::Smash(const LWOOBJID source, const eKillType killType
|
||||
|
||||
GameMessages::Die die;
|
||||
die.target = m_Parent->GetObjectID();
|
||||
die.bClientDeath = isPlayer;
|
||||
// Live never set client_death, players included (19,428 Die in the live captures). The client only uses it to
|
||||
// match a death it already predicted locally (LWODestroyableComponent::msgDie).
|
||||
die.bClientDeath = false;
|
||||
die.bSpawnLoot = true;
|
||||
die.deathType = deathType;
|
||||
die.killType = killType;
|
||||
|
||||
Reference in New Issue
Block a user