diff --git a/zone/mob.cpp b/zone/mob.cpp index 6b5ade57b..8f76e884c 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -518,7 +518,9 @@ Mob::Mob( } Mob::~Mob() -{ +{ + quest_manager.stopalltimers(this); + mMovementManager->RemoveMob(this); AI_Stop(); diff --git a/zone/questmgr.cpp b/zone/questmgr.cpp index 31c8d3dba..4cb151415 100644 --- a/zone/questmgr.cpp +++ b/zone/questmgr.cpp @@ -88,7 +88,7 @@ void QuestManager::Process() { end = QTimerList.end(); while (cur != end) { if (cur->Timer_.Enabled() && cur->Timer_.Check()) { - if (cur->mob && entity_list.IsMobInZone(cur->mob)) { + if (cur->mob) { if (cur->mob->IsNPC()) { if (parse->HasQuestSub(cur->mob->GetNPCTypeID(), EVENT_TIMER)) { parse->EventNPC(EVENT_TIMER, cur->mob->CastToNPC(), nullptr, cur->name, 0);