From e0356472d6a5d9b3db0e620940bff9bfae3f46be Mon Sep 17 00:00:00 2001 From: Emagi Date: Wed, 20 Aug 2025 11:55:15 -0400 Subject: [PATCH] address respawning/zoning with wrong grid id --- source/WorldServer/client.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/WorldServer/client.cpp b/source/WorldServer/client.cpp index c183f44..e069ac9 100644 --- a/source/WorldServer/client.cpp +++ b/source/WorldServer/client.cpp @@ -605,7 +605,7 @@ void Client::HandlePlayerRevive(int32 point_id) player->SetResurrecting(true); player->SetHP(player->GetTotalHP()); player->SetPower(player->GetTotalPower()); - + //revive at zone safe coords if (!revive_point) { @@ -739,7 +739,7 @@ void Client::SendControlGhost(int32 send_id, int8 unknown2) { void Client::BeginPreCharInfo() { if (!IsReadyForSpawns()) { if (GetPlayer()->GetMap()) { - if(!GetPlayer()->GetLocation()) { // find the appropriate grid id + if(!firstlogin) { // find the appropriate grid id auto loc = glm::vec3(GetPlayer()->GetX(), GetPlayer()->GetZ(), GetPlayer()->GetY()); uint32 GridID = 0; float new_z = GetPlayer()->FindBestZ(loc, nullptr, &GridID); @@ -5745,7 +5745,8 @@ bool Client::ChangeLevel(int16 old_level, int16 new_level, int32 xp_earned) { if (GetPlayer()->GetHP() < GetPlayer()->GetTotalHP() || GetPlayer()->GetPower() < GetPlayer()->GetTotalPower()) GetPlayer()->GetZone()->AddDamagedSpawn(GetPlayer()); - if(playerScript || playerZoneScript) { + + if(playerScript || playerZoneScript) { std::vector args = { LuaArg(GetPlayer()->GetZone()), LuaArg(GetPlayer()),