diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-10-07 00:51:52 -0300 | 
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-08-26 23:23:32 +0200 | 
| commit | c7cd9102d364fa8225b9952ccfa245c54bb6654b (patch) | |
| tree | 92a2cea4743c7a085d087deeaab7de4ace5e9062 /src/server/game/Spells/SpellMgr.cpp | |
| parent | ee0e9c8578486879a27059b82f30618ef2ebb4fd (diff) | |
Core/Globals: cache SpellSpecific and AuraState information instead of computing them each time they're needed
(cherry picked from commit ce45e1bf95a03be6b1f42c785e4c01dd55999d33)
# Conflicts:
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/game/Spells/SpellInfo.h
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/game/World/World.cpp
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 0a2ae57ffd1..0d949f26d75 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3746,6 +3746,23 @@ void SpellMgr::LoadSpellInfoCorrections()      TC_LOG_INFO("server.loading", ">> Loaded SpellInfo corrections in %u ms", GetMSTimeDiffToNow(oldMSTime));  } +void SpellMgr::LoadSpellInfoSpellSpecificAndAuraState() +{ +    uint32 oldMSTime = getMSTime(); + +    for (SpellInfo* spellInfo : mSpellInfoMap) +    { +        if (!spellInfo) +            continue; + +        // AuraState depends on SpellSpecific +        spellInfo->_LoadSpellSpecific(); +        spellInfo->_LoadAuraState(); +    } + +    TC_LOG_INFO("server.loading", ">> Loaded SpellInfo SpellSpecific and AuraState in %u ms", GetMSTimeDiffToNow(oldMSTime)); +} +  void SpellMgr::LoadPetFamilySpellsStore()  {      std::unordered_map<uint32, SpellLevelsEntry const*> levelsBySpell; | 
