aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-11-22 23:54:14 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-22 23:54:14 +0100
commit7b11d17f4928d17637ad8182f9c632d90f873db4 (patch)
tree744ba213d7e1f05d30e14b4408ef4e846ead52bc /src/server/game/Handlers/CharacterHandler.cpp
parentf5ab650f9cdb73ca4fb9f7f81f39f8d752728eaa (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.cpp13
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);
}