Core/Achievements: Fixed some Alterac Valley achievements:
- Stormpike Perfection - Frostwolf Perfection - Everything Counts
This commit is contained in:
@@ -1491,3 +1491,62 @@ void BattlegroundAV::ResetBGSubclass()
|
||||
DelCreature(i);
|
||||
|
||||
}
|
||||
|
||||
bool BattlegroundAV::IsBothMinesControlledByTeam(uint32 team) const
|
||||
{
|
||||
for (uint8 mine = 0; mine < 2; mine++)
|
||||
if (m_Mine_Owner[mine] != team)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BattlegroundAV::IsAllTowersControlledAndCaptainAlive(uint32 team) const
|
||||
{
|
||||
if (team == ALLIANCE)
|
||||
{
|
||||
for (BG_AV_Nodes i = BG_AV_NODES_DUNBALDAR_SOUTH; i <= BG_AV_NODES_STONEHEART_BUNKER; ++i) // alliance towers controlled
|
||||
{
|
||||
if (m_Nodes[i].State == POINT_CONTROLED)
|
||||
{
|
||||
if (m_Nodes[i].Owner != ALLIANCE)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
for (BG_AV_Nodes i = BG_AV_NODES_ICEBLOOD_TOWER; i <= BG_AV_NODES_FROSTWOLF_WTOWER; ++i) // horde towers destroyed
|
||||
if (m_Nodes[i].State != POINT_DESTROYED)
|
||||
return false;
|
||||
|
||||
if (!m_CaptainAlive[0])
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (team == HORDE)
|
||||
{
|
||||
for (BG_AV_Nodes i = BG_AV_NODES_ICEBLOOD_TOWER; i <= BG_AV_NODES_FROSTWOLF_WTOWER; ++i) // horde towers controlled
|
||||
{
|
||||
if (m_Nodes[i].State == POINT_CONTROLED)
|
||||
{
|
||||
if (m_Nodes[i].Owner != HORDE)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
for (BG_AV_Nodes i = BG_AV_NODES_DUNBALDAR_SOUTH; i <= BG_AV_NODES_STONEHEART_BUNKER; ++i) // alliance towers destroyed
|
||||
if (m_Nodes[i].State != POINT_DESTROYED)
|
||||
return false;
|
||||
|
||||
if (!m_CaptainAlive[1])
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -1563,6 +1563,10 @@ class BattlegroundAV : public Battleground
|
||||
|
||||
virtual WorldSafeLocsEntry const* GetClosestGraveYard(Player* player);
|
||||
|
||||
/* achievement req. */
|
||||
bool IsBothMinesControlledByTeam(uint32 team) const;
|
||||
bool IsAllTowersControlledAndCaptainAlive(uint32 team) const;
|
||||
|
||||
private:
|
||||
virtual void PostUpdateImpl(uint32 diff);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user