diff options
Diffstat (limited to 'src/server/game/AI/CreatureAI.cpp')
-rw-r--r-- | src/server/game/AI/CreatureAI.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 3c65160aaf6..80d59e4e7cc 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -17,6 +17,7 @@ #include "CreatureAI.h" #include "AreaBoundary.h" +#include "Containers.h" #include "Creature.h" #include "CreatureAIImpl.h" #include "CreatureTextMgr.h" @@ -41,8 +42,11 @@ void CreatureAI::OnCharmed(bool apply) } } -AISpellInfoType* UnitAI::AISpellInfo; -AISpellInfoType* GetAISpellInfo(uint32 i) { return &UnitAI::AISpellInfo[i]; } +std::unordered_map<std::pair<uint32, Difficulty>, AISpellInfoType> UnitAI::AISpellInfo; +AISpellInfoType* GetAISpellInfo(uint32 spellId, Difficulty difficulty) +{ + return Trinity::Containers::MapGetValuePtr(UnitAI::AISpellInfo, { spellId, difficulty }); +} CreatureAI::CreatureAI(Creature* creature) : UnitAI(creature), me(creature), _boundary(nullptr), _negateBoundary(false), m_MoveInLineOfSight_locked(false) { |