stationary mobs should not call the runback/pausemovement

This commit is contained in:
Image 2021-02-17 06:49:43 -05:00
parent e725d18d5d
commit 5f657e24d6

View file

@ -1753,13 +1753,17 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
spawn->GetZone()->CallSpawnScript(spawn, SPAWN_SCRIPT_HAILED_BUSY, client->GetPlayer());
else
{
bool pauseRunback = false;
// prime runback as the heading or anything can be altered when hailing succeeds
if(spawn->IsNPC())
if(spawn->IsNPC() && (spawn->HasMovementLoop() || spawn->HasMovementLocations()))
{
((NPC*)spawn)->StartRunback();
pauseRunback = true;
}
if(spawn->GetZone()->CallSpawnScript(spawn, SPAWN_SCRIPT_HAILED, client->GetPlayer()))
if(spawn->GetZone()->CallSpawnScript(spawn, SPAWN_SCRIPT_HAILED, client->GetPlayer()) && pauseRunback)
spawn->PauseMovement(rule_manager.GetGlobalRule(R_Spawn, HailMovementPause)->GetInt32());
else if(spawn->IsNPC())
else if(spawn->IsNPC() && pauseRunback)
((NPC*)spawn)->ClearRunback();
}
}