diff options
| author | SnapperRy <snapperryen@gmail.com> | 2016-10-08 03:54:09 +0200 |
|---|---|---|
| committer | SnapperRy <snapperryen@gmail.com> | 2016-10-08 03:54:09 +0200 |
| commit | d72b025fcbf67eb58beccc755d910e9707beaf2f (patch) | |
| tree | 5b787379575b2c9632e825107d231ee966ee11b3 /src | |
| parent | 4ec50ecec5ec04c82a8efe189ca11389f74608af (diff) | |
Core/Wintergrasp: fix Defend the Siege quests.
Closes #7953.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Battlefield/Zones/BattlefieldWG.cpp | 22 | ||||
| -rw-r--r-- | src/server/game/Battlefield/Zones/BattlefieldWG.h | 5 |
2 files changed, 10 insertions, 17 deletions
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index b82d5ed5837..818a1bef718 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -1317,25 +1317,17 @@ void BattlefieldWG::SendInitWorldStatesToAll() SendInitWorldStatesTo(player); } -void BattlefieldWG::BrokenWallOrTower(TeamId /*team*/) +void BattlefieldWG::BrokenWallOrTower(TeamId team, BfWGGameObjectBuilding* building) { -/* -uint32 const WGQuest[2][6] = -{ - { 13186, 13181, 13222, 13538, 13177, 13179 }, - { 13185, 13183, 13223, 13539, 13178, 13180 }, -}; -*/ - -// might be some use for this in the future. old code commented out below. KL -/* if (team == GetDefenderTeam()) + if (team == GetDefenderTeam()) { - for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr) + for (auto itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr) { if (Player* player = ObjectAccessor::FindPlayer(*itr)) - IncrementQuest(player, WGQuest[player->GetTeamId()][2], true); + if (player->GetDistance2d(GetGameObject(building->GetGUID())) < 50.0f) + player->KilledMonsterCredit(QUEST_CREDIT_DEFEND_SIEGE); } - }*/ + } } // Called when a tower is broke @@ -1634,7 +1626,7 @@ void BfWGGameObjectBuilding::Destroyed() break; } - _wg->BrokenWallOrTower(_teamControl); + _wg->BrokenWallOrTower(_teamControl, this); } void BfWGGameObjectBuilding::Init(GameObject* go) diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 8fa72bea8fd..1352fa5e4cc 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -154,7 +154,8 @@ enum WintergraspQuests { QUEST_VICTORY_WINTERGRASP_A = 13181, QUEST_VICTORY_WINTERGRASP_H = 13183, - QUEST_CREDIT_TOWERS_DESTROYED = 35074 + QUEST_CREDIT_TOWERS_DESTROYED = 35074, + QUEST_CREDIT_DEFEND_SIEGE = 31284 }; /*######################### @@ -343,7 +344,7 @@ class TC_GAME_API BattlefieldWG : public Battlefield * \brief Called when a wall/tower is broken * - Update quest */ - void BrokenWallOrTower(TeamId team); + void BrokenWallOrTower(TeamId team, BfWGGameObjectBuilding* building); /** * \brief Called when a tower is damaged |
