From 850be61d979003d621402179dfd8c051b6ab6694 Mon Sep 17 00:00:00 2001 From: Foereaper Date: Tue, 23 Nov 2021 00:56:26 +0100 Subject: [PATCH] Fix GetAITargets and GetAITargetsCount for TC These really need to be rewritten at some point, define hell --- CreatureMethods.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/CreatureMethods.h b/CreatureMethods.h index 8d2e7ae..3e578f0 100644 --- a/CreatureMethods.h +++ b/CreatureMethods.h @@ -858,19 +858,28 @@ namespace LuaCreature int GetAITargets(lua_State* L, Creature* creature) { #if defined(TRINITY) - auto const& threatlist = creature->GetThreatManager().GetThreatenedByMeList(); + auto const& threatlist = creature->GetThreatManager().GetSortedThreatList(); #elif defined(AZEROTHCORE) -auto const& threatlist = creature->getThreatMgr().getThreatList(); + auto const& threatlist = creature->getThreatMgr().getThreatList(); #else ThreatList const& threatlist = creature->GetThreatManager().getThreatList(); #endif + +#if defined(TRINITY) + lua_createtable(L, creature->GetThreatManager().GetThreatListSize(), 0); +#else lua_createtable(L, threatlist.size(), 0); +#endif int tbl = lua_gettop(L); uint32 i = 0; +#if defined(TRINITY) + for (ThreatReference const* itr : threatlist) +#else for (auto itr = threatlist.begin(); itr != threatlist.end(); ++itr) +#endif { #if defined(TRINITY) - Unit* target = itr->second->GetOwner(); + Unit* target = itr->GetVictim(); #else Unit* target = (*itr)->getTarget(); #endif @@ -892,7 +901,7 @@ auto const& threatlist = creature->getThreatMgr().getThreatList(); int GetAITargetsCount(lua_State* L, Creature* creature) { #if defined(TRINITY) - Eluna::Push(L, creature->GetThreatManager().GetThreatenedByMeList().size()); + Eluna::Push(L, creature->GetThreatManager().GetThreatListSize()); #elif defined(AZEROTHCORE) Eluna::Push(L, creature->getThreatMgr().getThreatList().size()); #else