Update PlayerbotAI.cpp

To avoid crashes, it is important to add nullability checks before trying to access the group leader and remove the bot from the group.
This commit is contained in:
EricksOliveira
2024-10-02 22:48:21 -03:00
committed by GitHub
parent 54a844585f
commit 1a796bed4d

View File

@@ -355,15 +355,18 @@ void PlayerbotAI::UpdateAI(uint32 elapsed, bool minimal)
return;
if (!bot->InBattleground() && !bot->inRandomLfgDungeon() && bot->GetGroup())
{
Player* leader = bot->GetGroup()->GetLeader();
PlayerbotAI* leaderAI = GET_PLAYERBOT_AI(leader);
if (leaderAI && !leaderAI->IsRealPlayer())
{
bot->RemoveFromGroup();
ResetStrategies();
}
}
{
Player* leader = bot->GetGroup()->GetLeader();
if (leader && leader != bot) // Checks if the leader is valid and is not the bot itself
{
PlayerbotAI* leaderAI = GET_PLAYERBOT_AI(leader);
if (leaderAI && !leaderAI->IsRealPlayer())
{
bot->RemoveFromGroup();
ResetStrategies();
}
}
}
bool min = minimal;
UpdateAIInternal(elapsed, min);
@@ -5959,4 +5962,4 @@ float PlayerbotAI::GetItemScoreMultiplier(ItemQualities quality)
break;
}
return 1.0f;
}
}