Core/SAI: Don't clear stored pathid if it changed after processing waypoint events (#26334)

(cherry picked from commit 8b0de23d0e)

# Conflicts:
#	src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
This commit is contained in:
Matan Shukry
2021-04-26 22:39:22 +03:00
committed by jackpoz
parent 9fe9dc087b
commit e6a36f058e

View File

@@ -244,14 +244,15 @@ void SmartAI::EndPath(bool fail)
if (fail)
return;
GetScript()->ProcessEventsFor(SMART_EVENT_WAYPOINT_ENDED, nullptr, _currentWaypointNode, GetScript()->GetPathId());
uint32 pathid = GetScript()->GetPathId();
GetScript()->ProcessEventsFor(SMART_EVENT_WAYPOINT_ENDED, nullptr, _currentWaypointNode, pathid);
if (_repeatWaypointPath)
{
if (IsAIControlled())
StartPath(_run, GetScript()->GetPathId(), _repeatWaypointPath);
}
else
else if (pathid == GetScript()->GetPathId()) // if it's not the same pathid, our script wants to start another path; don't override it
GetScript()->SetPathId(0);
if (_despawnState == 1)