From 3881d7054b6e28250b46683b8fc8172bdd56c808 Mon Sep 17 00:00:00 2001 From: Yunfan Li Date: Tue, 9 Jul 2024 23:09:21 +0800 Subject: [PATCH] [Crash fix] Fix crash caused by duplicate login --- src/PlayerbotMgr.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/PlayerbotMgr.cpp b/src/PlayerbotMgr.cpp index bd004267..1de95c56 100644 --- a/src/PlayerbotMgr.cpp +++ b/src/PlayerbotMgr.cpp @@ -74,6 +74,12 @@ void PlayerbotHolder::AddPlayerBot(ObjectGuid playerGuid, uint32 masterAccountId void PlayerbotHolder::HandlePlayerBotLoginCallback(PlayerbotLoginQueryHolder const& holder) { + // has bot already been added? + Player* loginBot = ObjectAccessor::FindConnectedPlayer(holder.GetGuid()); + if (loginBot && loginBot->IsInWorld()) { + return; + } + uint32 botAccountId = holder.GetAccountId(); WorldSession* botSession = new WorldSession(botAccountId, "", nullptr, SEC_PLAYER, EXPANSION_WRATH_OF_THE_LICH_KING, time_t(0), LOCALE_enUS, 0, false, false, 0, true);