diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-06-04 21:18:29 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-06-04 21:18:29 +0200 |
| commit | e1f3f1254c3214c0a5b71db6de33f8900903d314 (patch) | |
| tree | 22d284b13abf3fa99cda418e45307b8f499b1601 /src/server/game/Spells/SpellMgr.cpp | |
| parent | a0796179b33dd7042330d245b43e8c91534bf8b3 (diff) | |
Core/Spells: Load spell label data for future use
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 6dd3ff6128b..be712095f14 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2515,6 +2515,9 @@ void SpellMgr::LoadSpellInfoStore() for (SpellInterruptsEntry const* interrupts : sSpellInterruptsStore) loadData[{ interrupts->SpellID, Difficulty(interrupts->DifficultyID) }].Interrupts = interrupts; + for (SpellLabelEntry const* label : sSpellLabelStore) + loadData[{ label->LabelID, DIFFICULTY_NONE }].Labels.push_back(label); + for (SpellLevelsEntry const* levels : sSpellLevelsStore) loadData[{ levels->SpellID, Difficulty(levels->DifficultyID) }].Levels = levels; @@ -2568,6 +2571,7 @@ void SpellMgr::LoadSpellInfoStore() if (!spellNameEntry) continue; + std::vector<SpellLabelEntry const*> labels = data.second.Labels; // copy, need to ensure source remains unmodified SpellVisualVector visuals = data.second.Visuals; // copy, need to ensure source remains unmodified // fill blanks @@ -2596,6 +2600,8 @@ void SpellMgr::LoadSpellInfoStore() if (!data.second.Interrupts) data.second.Interrupts = fallbackData->Interrupts; + labels.insert(labels.end(), fallbackData->Labels.begin(), fallbackData->Labels.end()); + if (!data.second.Levels) data.second.Levels = fallbackData->Levels; @@ -2616,7 +2622,7 @@ void SpellMgr::LoadSpellInfoStore() } while (difficultyEntry); } - mSpellInfoMap.emplace(spellNameEntry, data.first.second, data.second, std::move(visuals)); + mSpellInfoMap.emplace(spellNameEntry, data.first.second, data.second, labels, std::move(visuals)); } TC_LOG_INFO("server.loading", ">> Loaded SpellInfo store in %u ms", GetMSTimeDiffToNow(oldMSTime)); |
