diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-01-17 02:17:49 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2018-01-17 02:17:49 -0300 |
commit | b64c5043140dc7b7908e259e441de16cc0261320 (patch) | |
tree | cd3ec7447df76abde2bf4b7ddb9cf591aeffd5f1 /src/server/game/Handlers/CharacterHandler.cpp | |
parent | 72ff2e30c30d4d1b9bf22695b6a097eb82e3c76a (diff) |
Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274
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 bf798bb50ed..1fd4f19d94e 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1958,10 +1958,12 @@ void WorldSession::HandleCharFactionOrRaceChangeCallback(std::shared_ptr<Charact // 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; + uint32 newRaceMask = (newTeam == ALLIANCE) ? RACEMASK_ALLIANCE : RACEMASK_HORDE; if (!(quest->GetAllowableRaces() & newRaceMask)) { |