diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index f2de6e7..dab4522 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -5559,6 +5559,12 @@ bool Player::LoadFromDB(ObjectGuid playerGuid, CharacterDatabaseQueryHolder cons m_reputationMgr->LoadFromDB(holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_REPUTATION)); sScriptMgr->OnPlayerReputationLoadFromDB(this); + // Traitor game mode swaps the player's team without changing race, but the + // reputation list is always rebuilt from the native race. Re-apply the + // traitor reputation state here so the new faction's reputations stay + // visible/friendly and the native ones hidden/at-war on every login. + ApplyTraitorReputationState(); + // xinef: load mails before inventory, so problematic items can be added to already loaded mails _LoadMail(holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_MAILS), holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_MAIL_ITEMS));