aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLopin <davca.hr@seznam.cz>2011-08-24 22:56:36 +0200
committerLopin <davca.hr@seznam.cz>2011-08-24 22:56:36 +0200
commitf72cff430d5ca0585489e11c2db7b9e26e1fbe8d (patch)
treee93672d200e105afc2b2ae8874b240fcaa674838 /src
parent35b84256563d624a136672afec335ae9a088f48c (diff)
Core/Achievements: Added also check for player's team. Only defenders should get this achievement
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundSA.h5
-rwxr-xr-xsrc/server/scripts/World/achievement_scripts.cpp3
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
index 660e1327df5..1bc00459cd5 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
@@ -487,6 +487,9 @@ class BattlegroundSA : public Battleground
// Achievement Defense of the Ancients
bool gateDestroyed;
+ /// Id of attacker team
+ TeamId Attackers;
+
private:
/**
@@ -539,8 +542,6 @@ class BattlegroundSA : public Battleground
/// Send packet to player for destroy boats (client part)
void SendTransportsRemove(Player* player);
- /// Id of attacker team
- TeamId Attackers;
/// Totale elapsed time of current round
uint32 TotalTime;
/// Max time of round
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index ed49f9a7978..0699cc1b937 100755
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -247,6 +247,9 @@ class achievement_bg_sa_defense_of_ancients : public AchievementCriteriaScript
if (!battleground)
return false;
+ if (player->GetTeamId() == static_cast<BattlegroundSA*>(battleground)->Attackers)
+ return false;
+
if (!static_cast<BattlegroundSA*>(battleground)->gateDestroyed);
return true;