From a5a10166d90a027bc7a5551697a08af31ecba767 Mon Sep 17 00:00:00 2001 From: sindoring Date: Thu, 18 Jun 2026 00:25:59 +0400 Subject: [PATCH] traitor bug --- src/server/game/Entities/Player/PlayerStorage.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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));