aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/BattleGroundSA.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/game/BattleGroundSA.cpp b/src/game/BattleGroundSA.cpp
index 429ec07ff83..ccde43ce948 100644
--- a/src/game/BattleGroundSA.cpp
+++ b/src/game/BattleGroundSA.cpp
@@ -645,15 +645,18 @@ void BattleGroundSA::EventPlayerClickedOnFlag(Player *Source, GameObject* target
{
case 191307:
case 191308:
- CaptureGraveyard(BG_SA_LEFT_CAPTURABLE_GY, Source);
+ if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
+ CaptureGraveyard(BG_SA_LEFT_CAPTURABLE_GY, Source);
break;
case 191305:
case 191306:
- CaptureGraveyard(BG_SA_RIGHT_CAPTURABLE_GY, Source);
+ if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
+ CaptureGraveyard(BG_SA_RIGHT_CAPTURABLE_GY, Source);
break;
case 191310:
case 191309:
- CaptureGraveyard(BG_SA_CENTRAL_CAPTURABLE_GY, Source);
+ if ((GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED) && (GateStatus[BG_SA_RED_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_PURPLE_GATE] == BG_SA_GATE_DESTROYED))
+ CaptureGraveyard(BG_SA_CENTRAL_CAPTURABLE_GY, Source);
break;
default:
return;
@@ -732,7 +735,7 @@ void BattleGroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
void BattleGroundSA::EventPlayerUsedGO(Player* Source, GameObject* object)
{
- if (object->GetEntry() == BG_SA_ObjEntries[BG_SA_TITAN_RELIC])
+ if (object->GetEntry() == BG_SA_ObjEntries[BG_SA_TITAN_RELIC] && GateStatus[BG_SA_ANCIENT_GATE] == BG_SA_GATE_DESTROYED)
{
if (Source->GetTeamId() == attackers)
{