aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp22
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h5
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 36561498f55..abd92bb19d3 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 fe318755152..5528be655e9 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