[Crash fix] Fix summon to instance crash

This commit is contained in:
Yunfan Li
2024-07-17 19:48:27 +08:00
parent 1d9de4331b
commit 770921ae50

View File

@@ -450,22 +450,24 @@ void PlayerbotAI::HandleTeleportAck()
bot->GetMotionMaster()->Clear(true);
bot->StopMoving();
if (bot->IsBeingTeleportedNear())
{
if (bot->IsBeingTeleportedNear()) {
while (bot->IsInWorld() && bot->IsBeingTeleportedNear()) {
Player* plMover = bot->m_mover->ToPlayer();
if (!plMover)
return;
WorldPacket p = WorldPacket(MSG_MOVE_TELEPORT_ACK, 8 + 4 + 4);
p << bot->GetGUID().WriteAsPacked();
p << plMover->GetPackGUID();
p << (uint32) 0; // supposed to be flags? not used currently
p << (uint32) time(nullptr); // time - not currently used
p << (uint32) 0; // time - not currently used
bot->GetSession()->HandleMoveTeleportAck(p);
// add delay to simulate teleport delay
}
SetNextCheckDelay(urand(1000, 3000));
}
else if (bot->IsBeingTeleportedFar())
if (bot->IsBeingTeleportedFar())
{
while (bot->IsBeingTeleportedFar()) {
bot->GetSession()->HandleMoveWorldportAck();
// add delay to simulate teleport delay
}
SetNextCheckDelay(urand(2000, 5000));
}