From 5ea61c0f14bb627ebafc03af11258a116489c2fe Mon Sep 17 00:00:00 2001 From: Fyre <58180427+i-am-fyre@users.noreply.github.com> Date: Mon, 26 Aug 2024 21:54:07 -0500 Subject: [PATCH] Add RewardXPToTeam Calls for WSG Flag/Win --- src/game/BattleGround/BattleGroundWS.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/game/BattleGround/BattleGroundWS.cpp b/src/game/BattleGround/BattleGroundWS.cpp index 18c2aea7b..f748d7e5d 100644 --- a/src/game/BattleGround/BattleGroundWS.cpp +++ b/src/game/BattleGround/BattleGroundWS.cpp @@ -226,6 +226,7 @@ void BattleGroundWS::EventPlayerCapturedFlag(Player* source) } PlaySoundToAll(BG_WS_SOUND_FLAG_CAPTURED_ALLIANCE); RewardReputationToTeam(890, m_ReputationCapture, ALLIANCE); + RewardXPToTeam(1, ALLIANCE); // event = WS_FLAG_CAPTURE } else { @@ -244,6 +245,7 @@ void BattleGroundWS::EventPlayerCapturedFlag(Player* source) } PlaySoundToAll(BG_WS_SOUND_FLAG_CAPTURED_HORDE); RewardReputationToTeam(889, m_ReputationCapture, HORDE); + RewardXPToTeam(1, HORDE); // event = WS_FLAG_CAPTURE } // for flag capture is reward 2 honorable kills RewardHonorToTeam(GetBonusHonorFromKill(2), source->GetTeam()); @@ -606,10 +608,25 @@ void BattleGroundWS::EndBattleGround(Team winner) if (winner == ALLIANCE) { RewardHonorToTeam(GetBonusHonorFromKill(m_HonorWinKills), ALLIANCE); + + // Earn XP for any remaining flags not captured by the Horde. + for (uint8 i = 0; i < (3 - m_TeamScores[TEAM_INDEX_HORDE]); ++i) + { + RewardXPToTeam(1, ALLIANCE); // event = WS_FLAG_CAPTURE + } + RewardXPToTeam(2, ALLIANCE); // event = WS_WIN } if (winner == HORDE) { RewardHonorToTeam(GetBonusHonorFromKill(m_HonorWinKills), HORDE); + + // Earn XP for any remaining flags not captured by the Horde. + for (uint8 i = 0; i < (3 - m_TeamScores[TEAM_INDEX_ALLIANCE]); ++i) + { + RewardXPToTeam(1, HORDE); // event = WS_FLAG_CAPTURE + } + RewardXPToTeam(2, HORDE); // event = WS_WIN + } // complete map_end rewards (even if no team wins) RewardHonorToTeam(GetBonusHonorFromKill(m_HonorEndKills), ALLIANCE);