From 970a3dec189b5a608dcea10b21215dc838103e3f Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Tue, 12 Sep 2023 12:52:15 +0200 Subject: [PATCH] Core/Player: return player corpse locations by reference instead of creating copies (cherry picked from commit d11d992df9e15503c321ffcce566f13923f51508) --- src/server/game/Entities/Player/Player.cpp | 3 +-- src/server/game/Handlers/NPCHandler.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d71c6d642f..ebe16512b5 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4335,8 +4335,7 @@ void Player::BuildPlayerRepop() // there must be SMSG.STOP_MIRROR_TIMER // the player cannot have a corpse already on current map, only bones which are not returned by GetCorpse - WorldLocation corpseLocation = GetCorpseLocation(); - if (corpseLocation.GetMapId() == GetMapId()) + if (GetCorpseLocation().GetMapId() == GetMapId()) { TC_LOG_ERROR("entities.player", "Player::BuildPlayerRepop: Player '{}' ({}) already has a corpse", GetName(), GetGUID().ToString()); return; diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index 06fd9155c2..49b47c5de1 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -294,9 +294,9 @@ void WorldSession::SendSpiritResurrect() // get corpse nearest graveyard WorldSafeLocsEntry const* corpseGrave = nullptr; - WorldLocation corpseLocation = _player->GetCorpseLocation(); if (_player->HasCorpse()) { + WorldLocation const& corpseLocation = _player->GetCorpseLocation(); corpseGrave = sObjectMgr->GetClosestGraveyard(corpseLocation, _player->GetTeam(), _player); }