From 4cd2ff6ae4b0d9a7d440a0c8030005e8ed5996dd Mon Sep 17 00:00:00 2001 From: treeston Date: Thu, 15 Jun 2017 04:19:12 +0200 Subject: [PATCH] Fixes to all-reputation and all-skill custom option handling: - Move on-create customs (all explored, all reputations) to CharacterHandler::HandlePlayerLogin for first login. - Add Wrath and cata factions to all reputations custom (it only had BC factions). - Remove unused ReputationMgr::SendStates. Add ReputationMgr::SendState handling for sending all updated states in arbitrary order if nullptr is passed (used in point 1). - Fix all weapon skills max custom to properly apply on learning new weapon skills. --- src/server/game/Handlers/CharacterHandler.cpp | 9 +++++++++ src/server/game/Reputation/ReputationMgr.cpp | 10 ---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 22b90c8bb9d..b2efeb58bd7 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1053,6 +1053,11 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1105), 42999, false); // The Oracles repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1119), 42999, false); // The Sons of Hodir repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1091), 42999, false); // The Wyrmrest Accord + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1204), 42999, false); // Avengers of Hyjal + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1158), 42999, false); // Guardians of Hyjal + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1173), 42999, false); // Ramkahen + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1171), 42999, false); // Therazane + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1135), 42999, false); // The Earthen Ring // Factions depending on team, like cities and some more stuff switch (pCurrChar->GetTeam()) @@ -1071,6 +1076,8 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1126), 42999, false); // The Frostborn repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1094), 42999, false); // The Silver Covenant repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1050), 42999, false); // Valiance Expedition + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1177), 42999, false); // Baradin's Wardens + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1174), 42999, false); // Wildhammer Clan break; case HORDE: repMgr.SetOneFactionReputation(sFactionStore.LookupEntry( 76), 42999, false); // Orgrimmar @@ -1086,6 +1093,8 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1124), 42999, false); // The Sunreavers repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1064), 42999, false); // The Taunka repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1085), 42999, false); // Warsong Offensive + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1172), 42999, false); // Dragonmaw Clan + repMgr.SetOneFactionReputation(sFactionStore.LookupEntry(1178), 42999, false); // Hellscream's Reach break; default: break; diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index 7cb6a4276fb..c799cbb68cf 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -239,17 +239,7 @@ void ReputationMgr::SendInitialReputations() _player->SendDirectMessage(&data); } -<<<<<<< HEAD -void ReputationMgr::SendStates() -{ - for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr) - SendState(&(itr->second)); -} - void ReputationMgr::SendVisible(FactionState const* faction, bool visible /* = true*/) const -======= -void ReputationMgr::SendVisible(FactionState const* faction) const ->>>>>>> 4b6351e... Fixes to all-reputation and all-skill custom option handling: { if (_player->GetSession()->PlayerLoading()) return;