diff --git a/zone/attack.cpp b/zone/attack.cpp index 1745e6fc9..b15c95358 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -2457,7 +2457,7 @@ bool NPC::Death(Mob* killer_mob, int64 damage, uint16 spell, EQ::skills::SkillTy give_exp_client->GetCleanName(), GetNPCTypeID() ); - task_manager->HandleUpdateTasksOnKill(give_exp_client, GetNPCTypeID(), GetCleanName()); + task_manager->HandleUpdateTasksOnKill(give_exp_client, GetNPCTypeID(), this); } if (kr) { diff --git a/zone/task_manager.cpp b/zone/task_manager.cpp index 8a43fc8a8..89d70444c 100644 --- a/zone/task_manager.cpp +++ b/zone/task_manager.cpp @@ -1831,7 +1831,7 @@ void TaskManager::SyncClientSharedTaskStateToLocal( } } -void TaskManager::HandleUpdateTasksOnKill(Client *client, uint32 npc_type_id, std::string npc_name) +void TaskManager::HandleUpdateTasksOnKill(Client *client, uint32 npc_type_id, NPC* npc) { for (auto &c: client->GetPartyMembers()) { if (!c->ClientDataLoaded() || !c->HasTaskState()) { @@ -1897,7 +1897,10 @@ void TaskManager::HandleUpdateTasksOnKill(Client *client, uint32 npc_type_id, st std::to_string(npc_type_id) ) && !TaskGoalListManager::IsInMatchListPartial( activity_info->goal_match_list, - npc_name + npc->GetCleanName() + ) && !TaskGoalListManager::IsInMatchListPartial( + activity_info->goal_match_list, + npc->GetName() )) { LogTasksDetail("[HandleUpdateTasksOnKill] Matched list goal"); continue; diff --git a/zone/task_manager.h b/zone/task_manager.h index 0d54c8e37..05fd31668 100644 --- a/zone/task_manager.h +++ b/zone/task_manager.h @@ -73,7 +73,7 @@ public: // shared tasks void SyncClientSharedTaskState(Client *c, ClientTaskState *cts); - void HandleUpdateTasksOnKill(Client *client, uint32 npc_type_id, std::string npc_name); + void HandleUpdateTasksOnKill(Client *client, uint32 npc_type_id, NPC* npc); private: TaskGoalListManager m_goal_list_manager;