merge master into wintergrasp and fix build errors. yay me!
This commit is contained in:
@@ -204,7 +204,7 @@ void Battlefield::InvitePlayerInZoneToQueue()
|
|||||||
{
|
{
|
||||||
for (uint8 team = 0; team < 2; ++team)
|
for (uint8 team = 0; team < 2; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
InvitePlayerToQueue(plr);
|
InvitePlayerToQueue(plr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@ void Battlefield::InvitePlayerInZoneToWar()
|
|||||||
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
if (m_PlayersInWar[plr->GetTeamId()].count(plr->GetGUID()) || m_InvitedPlayers[plr->GetTeamId()].count(plr->GetGUID()))
|
if (m_PlayersInWar[plr->GetTeamId()].count(plr->GetGUID()) || m_InvitedPlayers[plr->GetTeamId()].count(plr->GetGUID()))
|
||||||
continue;
|
continue;
|
||||||
@@ -363,7 +363,7 @@ void Battlefield::PlaySoundToAll(uint32 SoundID)
|
|||||||
for (int team = 0; team < BG_TEAMS_COUNT; team++)
|
for (int team = 0; team < BG_TEAMS_COUNT; team++)
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->GetSession()->SendPacket(&data);
|
plr->GetSession()->SendPacket(&data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -411,11 +411,11 @@ void Battlefield::TeamCastSpell(TeamId team, int32 spellId)
|
|||||||
{
|
{
|
||||||
if (spellId > 0)
|
if (spellId > 0)
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->CastSpell(plr, (uint32) spellId, true);
|
plr->CastSpell(plr, (uint32) spellId, true);
|
||||||
else
|
else
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->RemoveAuraFromStack((uint32) - spellId);
|
plr->RemoveAuraFromStack((uint32) - spellId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,7 +423,7 @@ void Battlefield::BroadcastPacketZone(WorldPacket & data) const
|
|||||||
{
|
{
|
||||||
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->GetSession()->SendPacket(&data);
|
plr->GetSession()->SendPacket(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -431,7 +431,7 @@ void Battlefield::BroadcastPacketQueue(WorldPacket & data) const
|
|||||||
{
|
{
|
||||||
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInQueue[team].begin(); itr != m_PlayersInQueue[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInQueue[team].begin(); itr != m_PlayersInQueue[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->GetSession()->SendPacket(&data);
|
plr->GetSession()->SendPacket(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -439,7 +439,7 @@ void Battlefield::BroadcastPacketWar(WorldPacket & data) const
|
|||||||
{
|
{
|
||||||
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->GetSession()->SendPacket(&data);
|
plr->GetSession()->SendPacket(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -496,7 +496,7 @@ void Battlefield::SendUpdateWorldState(uint32 field, uint32 value)
|
|||||||
{
|
{
|
||||||
for (uint8 i = 0; i < BG_TEAMS_COUNT; ++i)
|
for (uint8 i = 0; i < BG_TEAMS_COUNT; ++i)
|
||||||
for (GuidSet::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr)
|
for (GuidSet::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->SendUpdateWorldState(field, value);
|
plr->SendUpdateWorldState(field, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -691,8 +691,8 @@ bool Battlefield::IncrementQuest(Player *player, uint32 quest, bool complete)
|
|||||||
{
|
{
|
||||||
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
|
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
|
||||||
{
|
{
|
||||||
int32 creature = pQuest->ReqCreatureOrGOId[i];
|
int32 creature = pQuest->RequiredNpcOrGo[i];
|
||||||
if (uint32 spell_id = pQuest->ReqSpell[i])
|
if (uint32 spell_id = pQuest->RequiredSpellCast[i])
|
||||||
{
|
{
|
||||||
player->CastedCreatureOrGO(creature, 0, spell_id);
|
player->CastedCreatureOrGO(creature, 0, spell_id);
|
||||||
return true;
|
return true;
|
||||||
@@ -763,7 +763,7 @@ void BfGraveYard::AddPlayer(uint64 player_guid)
|
|||||||
{
|
{
|
||||||
m_ResurrectQueue.insert(player_guid);
|
m_ResurrectQueue.insert(player_guid);
|
||||||
|
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(player_guid))
|
if (Player* plr = sObjectAccessor->FindPlayer(player_guid))
|
||||||
plr->CastSpell(plr, SPELL_WAITING_FOR_RESURRECT, true);
|
plr->CastSpell(plr, SPELL_WAITING_FOR_RESURRECT, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -772,7 +772,7 @@ void BfGraveYard::RemovePlayer(uint64 player_guid)
|
|||||||
{
|
{
|
||||||
m_ResurrectQueue.erase(m_ResurrectQueue.find(player_guid));
|
m_ResurrectQueue.erase(m_ResurrectQueue.find(player_guid));
|
||||||
|
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(player_guid))
|
if (Player* plr = sObjectAccessor->FindPlayer(player_guid))
|
||||||
plr->RemoveAurasDueToSpell(SPELL_WAITING_FOR_RESURRECT);
|
plr->RemoveAurasDueToSpell(SPELL_WAITING_FOR_RESURRECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -784,7 +784,7 @@ void BfGraveYard::Resurrect()
|
|||||||
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
|
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
|
||||||
{
|
{
|
||||||
// Get player object from his guid
|
// Get player object from his guid
|
||||||
Player* plr = sObjectMgr->GetPlayer(*itr);
|
Player* plr = sObjectAccessor->FindPlayer(*itr);
|
||||||
if (!plr)
|
if (!plr)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -824,7 +824,7 @@ void BfGraveYard::RelocateDeadPlayers()
|
|||||||
WorldSafeLocsEntry const* ClosestGrave = NULL;
|
WorldSafeLocsEntry const* ClosestGrave = NULL;
|
||||||
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
|
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
|
||||||
{
|
{
|
||||||
Player* plr = sObjectMgr->GetPlayer(*itr);
|
Player* plr = sObjectAccessor->FindPlayer(*itr);
|
||||||
if (!plr)
|
if (!plr)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -882,7 +882,7 @@ Creature *Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, fl
|
|||||||
pCreature->SetSpeed(MOVE_RUN, cinfo->speed_run);
|
pCreature->SetSpeed(MOVE_RUN, cinfo->speed_run);
|
||||||
|
|
||||||
// Set creature in world
|
// Set creature in world
|
||||||
map->Add(pCreature);
|
map->AddToMap(pCreature);
|
||||||
pCreature->setActive(true);
|
pCreature->setActive(true);
|
||||||
|
|
||||||
return pCreature;
|
return pCreature;
|
||||||
@@ -907,7 +907,7 @@ GameObject *Battlefield::SpawnGameObject(uint32 entry, float x, float y, float z
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add in the world
|
// Add in the world
|
||||||
map->Add(go);
|
map->AddToMap(go);
|
||||||
go->setActive(true);
|
go->setActive(true);
|
||||||
return go;
|
return go;
|
||||||
}
|
}
|
||||||
@@ -1016,7 +1016,7 @@ bool BfCapturePoint::Update(uint32 diff)
|
|||||||
|
|
||||||
for (uint8 team = 0; team < 2; ++team)
|
for (uint8 team = 0; team < 2; ++team)
|
||||||
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
|
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
if (!m_capturePoint->IsWithinDistInMap(plr, radius) || !plr->IsOutdoorPvPActive())
|
if (!m_capturePoint->IsWithinDistInMap(plr, radius) || !plr->IsOutdoorPvPActive())
|
||||||
HandlePlayerLeave(plr);
|
HandlePlayerLeave(plr);
|
||||||
|
|
||||||
@@ -1120,7 +1120,7 @@ void BfCapturePoint::SendUpdateWorldState(uint32 field, uint32 value)
|
|||||||
{
|
{
|
||||||
for (uint8 team = 0; team < 2; ++team)
|
for (uint8 team = 0; team < 2; ++team)
|
||||||
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr) // send to all players present in the area
|
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr) // send to all players present in the area
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->SendUpdateWorldState(field, value);
|
plr->SendUpdateWorldState(field, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1141,7 +1141,7 @@ void BfCapturePoint::SendObjectiveComplete(uint32 id, uint64 guid)
|
|||||||
|
|
||||||
// send to all players present in the area
|
// send to all players present in the area
|
||||||
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
|
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
|
||||||
if (Player* plr = sObjectMgr->GetPlayer(*itr))
|
if (Player* plr = sObjectAccessor->FindPlayer(*itr))
|
||||||
plr->KilledMonsterCredit(id, guid);
|
plr->KilledMonsterCredit(id, guid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include "ObjectMgr.h"
|
#include "ObjectMgr.h"
|
||||||
#include "BattlefieldWG.h"
|
#include "BattlefieldWG.h"
|
||||||
#include "SpellAuras.h"
|
#include "SpellAuras.h"
|
||||||
|
#include "Vehicle.h"
|
||||||
|
|
||||||
enum eWGBfData
|
enum eWGBfData
|
||||||
{
|
{
|
||||||
@@ -221,7 +222,7 @@ bool BattlefieldWG::Update(uint32 diff)
|
|||||||
m_saveTimer -= diff;
|
m_saveTimer -= diff;
|
||||||
|
|
||||||
for (GuidSet::const_iterator itr = m_PlayersIsSpellImu.begin(); itr != m_PlayersIsSpellImu.end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersIsSpellImu.begin(); itr != m_PlayersIsSpellImu.end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
if (player->HasAura(SPELL_SPIRITUAL_IMMUNITY))
|
if (player->HasAura(SPELL_SPIRITUAL_IMMUNITY))
|
||||||
{
|
{
|
||||||
@@ -253,7 +254,7 @@ bool BattlefieldWG::Update(uint32 diff)
|
|||||||
|
|
||||||
for (uint8 team = 0; team < 2; ++team)
|
for (uint8 team = 0; team < 2; ++team)
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
for (BfCapturePointMap::iterator cp_itr = m_capturePoints.begin(); cp_itr != m_capturePoints.end(); ++cp_itr)
|
for (BfCapturePointMap::iterator cp_itr = m_capturePoints.begin(); cp_itr != m_capturePoints.end(); ++cp_itr)
|
||||||
{
|
{
|
||||||
if ((*cp_itr).second->GetCapturePointGo()->GetExactDist2dSq(player) < 22500.0f) // 150*150
|
if ((*cp_itr).second->GetCapturePointGo()->GetExactDist2dSq(player) < 22500.0f) // 150*150
|
||||||
@@ -272,7 +273,7 @@ void BattlefieldWG::AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_gui
|
|||||||
Battlefield::AddPlayerToResurrectQueue(npc_guid, player_guid);
|
Battlefield::AddPlayerToResurrectQueue(npc_guid, player_guid);
|
||||||
if (IsWarTime())
|
if (IsWarTime())
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(player_guid))
|
if (Player* player = sObjectAccessor->FindPlayer(player_guid))
|
||||||
{
|
{
|
||||||
if (!player->HasAura(SPELL_SPIRITUAL_IMMUNITY))
|
if (!player->HasAura(SPELL_SPIRITUAL_IMMUNITY))
|
||||||
{
|
{
|
||||||
@@ -337,7 +338,7 @@ void BattlefieldWG::OnBattleStart()
|
|||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
{
|
{
|
||||||
// Kick player in orb room, TODO: offline player ?
|
// Kick player in orb room, TODO: offline player ?
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
player->GetPosition(x, y, z);
|
player->GetPosition(x, y, z);
|
||||||
@@ -469,7 +470,7 @@ void BattlefieldWG::OnBattleEnd(bool endbytimer)
|
|||||||
|
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
player->AddAura(SPELL_ESSENCE_OF_WINTERGRASP, player);
|
player->AddAura(SPELL_ESSENCE_OF_WINTERGRASP, player);
|
||||||
if (player->HasAura(SPELL_LIEUTENANT))
|
if (player->HasAura(SPELL_LIEUTENANT))
|
||||||
@@ -492,7 +493,7 @@ void BattlefieldWG::OnBattleEnd(bool endbytimer)
|
|||||||
}
|
}
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
if (player->HasAura(SPELL_LIEUTENANT))
|
if (player->HasAura(SPELL_LIEUTENANT))
|
||||||
{
|
{
|
||||||
@@ -511,7 +512,7 @@ void BattlefieldWG::OnBattleEnd(bool endbytimer)
|
|||||||
{
|
{
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
player->RemoveAura(SPELL_TOWER_CONTROL);
|
player->RemoveAura(SPELL_TOWER_CONTROL);
|
||||||
player->RemoveAurasDueToSpell(SPELL_RECRUIT);
|
player->RemoveAurasDueToSpell(SPELL_RECRUIT);
|
||||||
@@ -539,7 +540,7 @@ void BattlefieldWG::OnBattleEnd(bool endbytimer)
|
|||||||
{
|
{
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
player->RemoveAurasDueToSpell(m_DefenderTeam == TEAM_ALLIANCE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player->GetGUID());
|
player->RemoveAurasDueToSpell(m_DefenderTeam == TEAM_ALLIANCE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player->GetGUID());
|
||||||
player->AddAura(m_DefenderTeam == TEAM_HORDE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player);
|
player->AddAura(m_DefenderTeam == TEAM_HORDE ? SPELL_HORDE_CONTROL_PHASE_SHIFT : SPELL_ALLIANCE_CONTROL_PHASE_SHIFT, player);
|
||||||
@@ -925,7 +926,7 @@ void BattlefieldWG::SendInitWorldStatesToAll()
|
|||||||
WorldPacket data = BuildInitWorldStates();
|
WorldPacket data = BuildInitWorldStates();
|
||||||
for (uint8 team = 0; team < 2; team++)
|
for (uint8 team = 0; team < 2; team++)
|
||||||
for (GuidSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
player->GetSession()->SendPacket(&data);
|
player->GetSession()->SendPacket(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -935,7 +936,7 @@ void BattlefieldWG::BrokenWallOrTower(TeamId team)
|
|||||||
{
|
{
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
IncrementQuest(player, WGQuest[player->GetTeamId()][2], true);
|
IncrementQuest(player, WGQuest[player->GetTeamId()][2], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -952,12 +953,12 @@ void BattlefieldWG::AddBrokenTower(TeamId team)
|
|||||||
|
|
||||||
// Remove buff stack
|
// Remove buff stack
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[GetAttackerTeam()].begin(); itr != m_PlayersInWar[GetAttackerTeam()].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
player->RemoveAuraFromStack(SPELL_TOWER_CONTROL);
|
player->RemoveAuraFromStack(SPELL_TOWER_CONTROL);
|
||||||
|
|
||||||
// Add buff stack
|
// Add buff stack
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
{
|
{
|
||||||
player->CastSpell(player, SPELL_TOWER_CONTROL, true);
|
player->CastSpell(player, SPELL_TOWER_CONTROL, true);
|
||||||
IncrementQuest(player, WGQuest[player->GetTeamId()][3], true);
|
IncrementQuest(player, WGQuest[player->GetTeamId()][3], true);
|
||||||
@@ -1071,7 +1072,7 @@ void BattlefieldWG::UpdateTenacity()
|
|||||||
if (team != TEAM_NEUTRAL)
|
if (team != TEAM_NEUTRAL)
|
||||||
{
|
{
|
||||||
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
if (player->getLevel() >= m_MinLevel)
|
if (player->getLevel() >= m_MinLevel)
|
||||||
player->RemoveAurasDueToSpell(SPELL_TENACITY);
|
player->RemoveAurasDueToSpell(SPELL_TENACITY);
|
||||||
|
|
||||||
@@ -1097,7 +1098,7 @@ void BattlefieldWG::UpdateTenacity()
|
|||||||
buff_honor = (newStack < 5) ? 0 : buff_honor;
|
buff_honor = (newStack < 5) ? 0 : buff_honor;
|
||||||
|
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
player->SetAuraStack(SPELL_TENACITY, player, newStack);
|
player->SetAuraStack(SPELL_TENACITY, player, newStack);
|
||||||
for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr)
|
||||||
if (Unit* unit = sObjectAccessor->FindUnit(*itr))
|
if (Unit* unit = sObjectAccessor->FindUnit(*itr))
|
||||||
@@ -1107,7 +1108,7 @@ void BattlefieldWG::UpdateTenacity()
|
|||||||
if (buff_honor != 0)
|
if (buff_honor != 0)
|
||||||
{
|
{
|
||||||
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
|
||||||
if (Player* player = sObjectMgr->GetPlayer(*itr))
|
if (Player* player = sObjectAccessor->FindPlayer(*itr))
|
||||||
player->AddAura(buff_honor, player);
|
player->AddAura(buff_honor, player);
|
||||||
for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr)
|
for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr)
|
||||||
if (Unit* unit = sObjectAccessor->FindUnit(*itr))
|
if (Unit* unit = sObjectAccessor->FindUnit(*itr))
|
||||||
|
|||||||
@@ -821,6 +821,11 @@ class ObjectMgr
|
|||||||
return &_creatureQuestRelations;
|
return &_creatureQuestRelations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QuestRelations* GetCreatureQuestInvolvedRelation()
|
||||||
|
{
|
||||||
|
return &_creatureQuestInvolvedRelations;
|
||||||
|
}
|
||||||
|
|
||||||
QuestRelationBounds GetCreatureQuestRelationBounds(uint32 creature_entry)
|
QuestRelationBounds GetCreatureQuestRelationBounds(uint32 creature_entry)
|
||||||
{
|
{
|
||||||
return _creatureQuestRelations.equal_range(creature_entry);
|
return _creatureQuestRelations.equal_range(creature_entry);
|
||||||
|
|||||||
@@ -565,46 +565,6 @@ void WorldSession::HandleBattlefieldStatusOpcode(WorldPacket & /*recv_data*/)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorldSession::HandleAreaSpiritHealerQueryOpcode(WorldPacket & recv_data)
|
|
||||||
{
|
|
||||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUERY");
|
|
||||||
|
|
||||||
Battleground* bg = _player->GetBattleground();
|
|
||||||
|
|
||||||
uint64 guid;
|
|
||||||
recv_data >> guid;
|
|
||||||
|
|
||||||
Creature* unit = GetPlayer()->GetMap()->GetCreature(guid);
|
|
||||||
if (!unit)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!unit->isSpiritService()) // it's not spirit service
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (bg)
|
|
||||||
sBattlegroundMgr->SendAreaSpiritHealerQueryOpcode(_player, bg, guid);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WorldSession::HandleAreaSpiritHealerQueueOpcode(WorldPacket & recv_data)
|
|
||||||
{
|
|
||||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUEUE");
|
|
||||||
|
|
||||||
Battleground* bg = _player->GetBattleground();
|
|
||||||
|
|
||||||
uint64 guid;
|
|
||||||
recv_data >> guid;
|
|
||||||
|
|
||||||
Creature* unit = GetPlayer()->GetMap()->GetCreature(guid);
|
|
||||||
if (!unit)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!unit->isSpiritService()) // it's not spirit service
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (bg)
|
|
||||||
bg->AddPlayerToResurrectQueue(guid, _player->GetGUID());
|
|
||||||
}
|
|
||||||
|
|
||||||
void WorldSession::HandleBattlemasterJoinArena(WorldPacket & recv_data)
|
void WorldSession::HandleBattlemasterJoinArena(WorldPacket & recv_data)
|
||||||
{
|
{
|
||||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_BATTLEMASTER_JOIN_ARENA");
|
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_BATTLEMASTER_JOIN_ARENA");
|
||||||
|
|||||||
@@ -1120,6 +1120,16 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32
|
|||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 58730: // No fly Zone - Wintergrasp
|
||||||
|
{
|
||||||
|
if (!player)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
Battlefield* Bf = sBattlefieldMgr.GetBattlefieldToZoneId(player->GetZoneId());
|
||||||
|
if (!Bf || Bf->CanFlyIn() || (!player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY)))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 68719: // Oil Refinery - Isle of Conquest.
|
case 68719: // Oil Refinery - Isle of Conquest.
|
||||||
case 68720: // Quarry - Isle of Conquest.
|
case 68720: // Quarry - Isle of Conquest.
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1201,6 +1201,14 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
m_bool_configs[CONFIG_PDUMP_NO_OVERWRITE] = ConfigMgr::GetBoolDefault("PlayerDump.DisallowOverwrite", true);
|
m_bool_configs[CONFIG_PDUMP_NO_OVERWRITE] = ConfigMgr::GetBoolDefault("PlayerDump.DisallowOverwrite", true);
|
||||||
|
|
||||||
// call ScriptMgr if we're reloading the configuration
|
// call ScriptMgr if we're reloading the configuration
|
||||||
|
m_bool_configs[CONFIG_WINTERGRASP_ENABLE] = ConfigMgr::GetBoolDefault("Wintergrasp.Enable", false);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_PLR_MAX] = ConfigMgr::GetIntDefault("Wintergrasp.PlayerMax", 100);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_PLR_MIN] = ConfigMgr::GetIntDefault("Wintergrasp.PlayerMin", 0);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_PLR_MIN_LVL] = ConfigMgr::GetIntDefault("Wintergrasp.PlayerMinLvl", 77);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_BATTLETIME] = ConfigMgr::GetIntDefault("Wintergrasp.BattleTimer", 30);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_NOBATTLETIME] = ConfigMgr::GetIntDefault("Wintergrasp.NoBattleTimer", 150);
|
||||||
|
m_int_configs[CONFIG_WINTERGRASP_RESTART_AFTER_CRASH] = ConfigMgr::GetIntDefault("Wintergrasp.CrashRestartTimer", 10);
|
||||||
|
|
||||||
if (reload)
|
if (reload)
|
||||||
sScriptMgr->OnConfigLoad(reload);
|
sScriptMgr->OnConfigLoad(reload);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,13 +14,13 @@
|
|||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ScriptPCH.h"
|
|
||||||
#include "BattlefieldMgr.h"
|
#include "BattlefieldMgr.h"
|
||||||
#include "BattlefieldWG.h"
|
#include "BattlefieldWG.h"
|
||||||
#include "Battlefield.h"
|
#include "Battlefield.h"
|
||||||
#include "ScriptSystem.h"
|
#include "ScriptSystem.h"
|
||||||
#include "WorldSession.h"
|
#include "WorldSession.h"
|
||||||
#include "ObjectMgr.h"
|
#include "ObjectMgr.h"
|
||||||
|
#include "Vehicle.h"
|
||||||
|
|
||||||
#define GOSSIP_HELLO_DEMO1 "Build catapult."
|
#define GOSSIP_HELLO_DEMO1 "Build catapult."
|
||||||
#define GOSSIP_HELLO_DEMO2 "Build demolisher."
|
#define GOSSIP_HELLO_DEMO2 "Build demolisher."
|
||||||
|
|||||||
Reference in New Issue
Block a user