diff options
author | CoderKane <97305199+CoderKane@users.noreply.github.com> | 2022-08-02 15:03:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-02 22:03:12 +0200 |
commit | 2ad36c37b430694dfa61f43fb7c135037423bdb2 (patch) | |
tree | f14355abced0dc008bfb6aa43511577b0b6dd816 /src | |
parent | 3735a3df0ea73b81442c0057acd228b2b287a1ea (diff) |
Core/Battlegrounds: Capture flags immediately when standing on capture point and your team's flag gets returned (#28087)
Closes #28076
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp index 58bb774a507..c19015dd095 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp @@ -534,6 +534,11 @@ void BattlegroundWS::EventPlayerClickedOnFlag(Player* player, GameObject* target PlaySoundToAll(BG_WS_SOUND_FLAG_RETURNED); UpdatePlayerScore(player, SCORE_FLAG_RETURNS, 1); _bothFlagsKept = false; + + // Check Horde flag if it is in capture zone; if so, capture it + if (Player* hordeFlagCarrier = ObjectAccessor::GetPlayer(GetBgMap(), GetFlagPickerGUID(TEAM_HORDE))) + if (hordeFlagCarrier->IsInAreaTriggerRadius(sAreaTriggerStore.LookupEntry(3646))) + EventPlayerCapturedFlag(hordeFlagCarrier); } else { @@ -567,6 +572,11 @@ void BattlegroundWS::EventPlayerClickedOnFlag(Player* player, GameObject* target PlaySoundToAll(BG_WS_SOUND_FLAG_RETURNED); UpdatePlayerScore(player, SCORE_FLAG_RETURNS, 1); _bothFlagsKept = false; + + // Check Alliance flag if it is in capture zone; if so, capture it + if (Player* allianceFlagCarrier = ObjectAccessor::GetPlayer(GetBgMap(), GetFlagPickerGUID(TEAM_ALLIANCE))) + if (allianceFlagCarrier->IsInAreaTriggerRadius(sAreaTriggerStore.LookupEntry(3647))) + EventPlayerCapturedFlag(allianceFlagCarrier); } else { |