diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-11-22 23:54:14 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-22 23:54:14 +0100 |
commit | 7b11d17f4928d17637ad8182f9c632d90f873db4 (patch) | |
tree | 744ba213d7e1f05d30e14b4408ef4e846ead52bc /src/server/game/Handlers/CharacterHandler.cpp | |
parent | f5ab650f9cdb73ca4fb9f7f81f39f8d752728eaa (diff) |
Core/Players: Load faction change items from db2 instead of db
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index fd0b4c0a07c..7006ff0d2cc 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -2337,14 +2337,17 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa } // Item conversion - for (std::map<uint32, uint32>::const_iterator it = sObjectMgr->FactionChangeItems.begin(); it != sObjectMgr->FactionChangeItems.end(); ++it) + ObjectMgr::CharacterConversionMap const& itemConversionMap = newTeamId == TEAM_ALLIANCE + ? sObjectMgr->FactionChangeItemsHordeToAlliance + : sObjectMgr->FactionChangeItemsAllianceToHorde; + for (std::map<uint32, uint32>::const_iterator it = itemConversionMap.begin(); it != itemConversionMap.end(); ++it) { - uint32 item_alliance = it->first; - uint32 item_horde = it->second; + uint32 oldItemId = it->first; + uint32 newItemId = it->second; stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_INVENTORY_FACTION_CHANGE); - stmt->setUInt32(0, (newTeamId == TEAM_ALLIANCE ? item_alliance : item_horde)); - stmt->setUInt32(1, (newTeamId == TEAM_ALLIANCE ? item_horde : item_alliance)); + stmt->setUInt32(0, newItemId); + stmt->setUInt32(1, oldItemId); stmt->setUInt64(2, lowGuid); trans->Append(stmt); } |