diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-01-17 02:17:49 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-06-16 01:00:11 +0200 |
commit | 21556667c16b282b77934bddee3d86f0c632ef31 (patch) | |
tree | 4669148763e4d450f12a46a7f2c8a7a2f6913a87 /src/server/game/Handlers/CharacterHandler.cpp | |
parent | 5b5bc4c5c7cad020bd831185057451b674c234d8 (diff) |
Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274
(cherry picked from commit b64c5043140dc7b7908e259e441de16cc0261320)
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 1b8aef79de5..66b91c80497 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -2365,10 +2365,12 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa // Disable all old-faction specific quests { - ObjectMgr::QuestMap const& questTemplates = sObjectMgr->GetQuestTemplates(); - for (ObjectMgr::QuestMap::const_iterator iter = questTemplates.begin(); iter != questTemplates.end(); ++iter) + ObjectMgr::QuestContainer const& questTemplates = sObjectMgr->GetQuestTemplates(); + for (auto const& quest : questTemplates) { - Quest const* quest = iter->second; + if (!quest) + continue; + uint64 newRaceMask = (newTeamId == TEAM_ALLIANCE) ? RACEMASK_ALLIANCE : RACEMASK_HORDE; if (quest->GetAllowableRaces().RawValue != uint64(-1) && !(quest->GetAllowableRaces().RawValue & newRaceMask)) { |