From 4df0ab34275f24e56a473eac667f931b5f08cc2e Mon Sep 17 00:00:00 2001 From: Vitumoc Date: Sun, 12 Nov 2023 07:15:05 +0800 Subject: [PATCH] fix(Core/Character): fix worldserver with autobalance mod crash when character creation fails (#17625) * set vars before clean player when create err * code style * dont clean * code style * check flag --- src/server/game/Handlers/CharacterHandler.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 247a81dcb..1fd7d6a35 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -537,7 +537,11 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData) std::shared_ptr newChar(new Player(this), [](Player* ptr) { - ptr->CleanupsBeforeDelete(); + // Only when player is created correctly do clean + if (ptr->HasAtLoginFlag(AT_LOGIN_FIRST)) + { + ptr->CleanupsBeforeDelete(); + } delete ptr; });