diff options
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 1fd4f19d94e..ec4873b35ed 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1959,17 +1959,14 @@ void WorldSession::HandleCharFactionOrRaceChangeCallback(std::shared_ptr<Charact // Disable all old-faction specific quests { ObjectMgr::QuestContainer const& questTemplates = sObjectMgr->GetQuestTemplates(); - for (auto const& quest : questTemplates) + for (auto const& questTemplatePair : questTemplates) { - if (!quest) - continue; - uint32 newRaceMask = (newTeam == ALLIANCE) ? RACEMASK_ALLIANCE : RACEMASK_HORDE; - if (!(quest->GetAllowableRaces() & newRaceMask)) + if (!(questTemplatePair.second.GetAllowableRaces() & newRaceMask)) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST); stmt->setUInt32(0, lowGuid); - stmt->setUInt32(1, quest->GetQuestId()); + stmt->setUInt32(1, questTemplatePair.first); trans->Append(stmt); } } |