aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorthomas33 <tomaszeq93@gmail.com>2012-03-12 15:07:27 +0100
committerKandera <KanderaDev@gmail.com>2012-08-20 13:49:14 -0400
commit547bb4757539aab76771061b9a25fdf7785978ed (patch)
treec397b917345a7863852aea774f674863429cd958 /src/server/game
parentb04ad4401d986a8f7fb0a1b0928d67cbda86dd64 (diff)
Core/Battlefield: plr -> player
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp272
-rw-r--r--src/server/game/Battlefield/Battlefield.h48
-rw-r--r--src/server/game/Battlefield/BattlefieldHandler.cpp2
-rw-r--r--src/server/game/Battlefield/BattlefieldMgr.cpp143
-rw-r--r--src/server/game/Battlefield/BattlefieldMgr.h8
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h20
6 files changed, 318 insertions, 175 deletions
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index 009a1974422..085be81c98f 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -63,62 +63,62 @@ Battlefield::~Battlefield()
{
}
-void Battlefield::HandlePlayerEnterZone(Player *plr, uint32 /*zone */ )
+void Battlefield::HandlePlayerEnterZone(Player *player, uint32 /*zone */ )
{
//If battle is start,
// if it not fully > invite player to join the war
// if it fully > announce to player that BF is full and kick after few second if he dont leave
if (IsWarTime())
{
- if (m_PlayersInWar[plr->GetTeamId()].size() + m_InvitedPlayers[plr->GetTeamId()].size() < m_MaxPlayer) //Not fully
+ if (m_PlayersInWar[player->GetTeamId()].size() + m_InvitedPlayers[player->GetTeamId()].size() < m_MaxPlayer) //Not fully
{
- InvitePlayerToWar(plr);
+ InvitePlayerToWar(player);
}
else //Full
{
//TODO:Send packet for announce it to player
- m_PlayersWillBeKick[plr->GetTeamId()][plr->GetGUID()] = time(NULL) + 10;
- InvitePlayerToQueue(plr);
+ m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
+ InvitePlayerToQueue(player);
}
}
else
{
//If time left is <15 minutes invite player to join queue
if (m_Timer <= m_StartGroupingTimer)
- InvitePlayerToQueue(plr);
+ InvitePlayerToQueue(player);
}
//Add player in list of player in zone
- m_players[plr->GetTeamId()].insert(plr->GetGUID());
- OnPlayerEnterZone(plr); //for scripting
+ m_players[player->GetTeamId()].insert(player->GetGUID());
+ OnPlayerEnterZone(player); //for scripting
}
//Called when a player leave the zone
-void Battlefield::HandlePlayerLeaveZone(Player *plr, uint32 /*zone */ )
+void Battlefield::HandlePlayerLeaveZone(Player *player, uint32 /*zone */ )
{
if (IsWarTime())
{
//if player is in war list
- if (m_PlayersInWar[plr->GetTeamId()].find(plr->GetGUID()) != m_PlayersInWar[plr->GetTeamId()].end())
+ if (m_PlayersInWar[player->GetTeamId()].find(player->GetGUID()) != m_PlayersInWar[player->GetTeamId()].end())
{
- m_PlayersInWar[plr->GetTeamId()].erase(plr->GetGUID());
- plr->GetSession()->SendBfLeaveMessage(m_BattleId);
- if (Group* group = plr->GetGroup()) // remove from raid group if player is member
- group->RemoveMember(plr->GetGUID());
+ m_PlayersInWar[player->GetTeamId()].erase(player->GetGUID());
+ player->GetSession()->SendBfLeaveMessage(m_BattleId);
+ if (Group* group = player->GetGroup()) // remove from raid group if player is member
+ group->RemoveMember(player->GetGUID());
- OnPlayerLeaveWar(plr); //For scripting
+ OnPlayerLeaveWar(player); //For scripting
}
}
for (BfCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr)
- itr->second->HandlePlayerLeave(plr);
-
- m_InvitedPlayers[plr->GetTeamId()].erase(plr->GetGUID());
- m_PlayersWillBeKick[plr->GetTeamId()].erase(plr->GetGUID());
- m_players[plr->GetTeamId()].erase(plr->GetGUID());
- SendRemoveWorldStates(plr);
- RemovePlayerFromResurrectQueue(plr->GetGUID());
- OnPlayerLeaveZone(plr); //For scripting
+ itr->second->HandlePlayerLeave(player);
+
+ m_InvitedPlayers[player->GetTeamId()].erase(player->GetGUID());
+ m_PlayersWillBeKick[player->GetTeamId()].erase(player->GetGUID());
+ m_players[player->GetTeamId()].erase(player->GetGUID());
+ SendRemoveWorldStates(player);
+ RemovePlayerFromResurrectQueue(player->GetGUID());
+ OnPlayerLeaveZone(player); //For scripting
}
bool Battlefield::Update(uint32 diff)
@@ -196,17 +196,17 @@ void Battlefield::InvitePlayerInZoneToQueue()
{
for (uint8 team = 0; team < 2; ++team)
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- InvitePlayerToQueue(plr);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ InvitePlayerToQueue(player);
}
-void Battlefield::InvitePlayerToQueue(Player *plr)
+void Battlefield::InvitePlayerToQueue(Player *player)
{
- if (m_PlayersInQueue[plr->GetTeamId()].count(plr->GetGUID()))
+ if (m_PlayersInQueue[player->GetTeamId()].count(player->GetGUID()))
return;
- if (m_PlayersInQueue[plr->GetTeam()].size() <= m_MinPlayer || m_PlayersInQueue[plr->GetTeam() == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE].size() >= m_MinPlayer)
- plr->GetSession()->SendBfInvitePlayerToQueue(m_BattleId);
+ if (m_PlayersInQueue[player->GetTeam()].size() <= m_MinPlayer || m_PlayersInQueue[player->GetTeam() == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE].size() >= m_MinPlayer)
+ player->GetSession()->SendBfInvitePlayerToQueue(m_BattleId);
}
void Battlefield::InvitePlayerInQueueToWar()
@@ -215,10 +215,10 @@ void Battlefield::InvitePlayerInQueueToWar()
{
for (GuidSet::const_iterator itr = m_PlayersInQueue[team].begin(); itr != m_PlayersInQueue[team].end(); ++itr)
{
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
{
- if (m_PlayersInWar[plr->GetTeamId()].size() + m_InvitedPlayers[plr->GetTeamId()].size() < m_MaxPlayer)
- InvitePlayerToWar(plr);
+ if (m_PlayersInWar[player->GetTeamId()].size() + m_InvitedPlayers[player->GetTeamId()].size() < m_MaxPlayer)
+ InvitePlayerToWar(player);
else
{
//Full
@@ -234,49 +234,49 @@ void Battlefield::InvitePlayerInZoneToWar()
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
{
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
{
- if (m_PlayersInWar[plr->GetTeamId()].count(plr->GetGUID()) || m_InvitedPlayers[plr->GetTeamId()].count(plr->GetGUID()))
+ if (m_PlayersInWar[player->GetTeamId()].count(player->GetGUID()) || m_InvitedPlayers[player->GetTeamId()].count(player->GetGUID()))
continue;
- if (m_PlayersInWar[plr->GetTeamId()].size() + m_InvitedPlayers[plr->GetTeamId()].size() < m_MaxPlayer)
- InvitePlayerToWar(plr);
+ if (m_PlayersInWar[player->GetTeamId()].size() + m_InvitedPlayers[player->GetTeamId()].size() < m_MaxPlayer)
+ InvitePlayerToWar(player);
else
{
//full
- m_PlayersWillBeKick[plr->GetTeamId()][plr->GetGUID()] = time(NULL) + 10;
+ m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
}
}
}
}
-void Battlefield::InvitePlayerToWar(Player *plr)
+void Battlefield::InvitePlayerToWar(Player *player)
{
- if (!plr)
+ if (!player)
return;
// TODO : needed ?
- if (plr->isInFlight())
+ if (player->isInFlight())
return;
- if (plr->InArena() || plr->GetBattleground())
+ if (player->InArena() || player->GetBattleground())
{
- m_PlayersInQueue[plr->GetTeamId()].erase(plr->GetGUID());
+ m_PlayersInQueue[player->GetTeamId()].erase(player->GetGUID());
return;
}
- if (plr->getLevel() < m_MinLevel)
+ if (player->getLevel() < m_MinLevel)
{
- if (m_PlayersWillBeKick[plr->GetTeamId()].count(plr->GetGUID()) == 0)
- m_PlayersWillBeKick[plr->GetTeamId()][plr->GetGUID()] = time(NULL) + 10;
+ if (m_PlayersWillBeKick[player->GetTeamId()].count(player->GetGUID()) == 0)
+ m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
return;
}
//Check if player is not already in war
- if (m_PlayersInWar[plr->GetTeamId()].count(plr->GetGUID()) || m_InvitedPlayers[plr->GetTeamId()].count(plr->GetGUID()))
+ if (m_PlayersInWar[player->GetTeamId()].count(player->GetGUID()) || m_InvitedPlayers[player->GetTeamId()].count(player->GetGUID()))
return;
- m_PlayersWillBeKick[plr->GetTeamId()].erase(plr->GetGUID());
- m_InvitedPlayers[plr->GetTeamId()][plr->GetGUID()] = time(NULL) + m_TimeForAcceptInvite;
- plr->GetSession()->SendBfInvitePlayerToWar(m_BattleId, m_ZoneId, m_TimeForAcceptInvite);
+ m_PlayersWillBeKick[player->GetTeamId()].erase(player->GetGUID());
+ m_InvitedPlayers[player->GetTeamId()][player->GetGUID()] = time(NULL) + m_TimeForAcceptInvite;
+ player->GetSession()->SendBfInvitePlayerToWar(m_BattleId, m_ZoneId, m_TimeForAcceptInvite);
}
void Battlefield::InitStalker(uint32 entry, float x, float y, float z, float o)
@@ -291,16 +291,16 @@ void Battlefield::KickAfk()
{
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- if (plr->isAFK())
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ if (player->isAFK())
KickPlayerFromBf(*itr);
}
void Battlefield::KickPlayerFromBf(uint64 guid)
{
- if (Player* plr = sObjectAccessor->FindPlayer(guid))
- if (plr->GetZoneId() == GetZoneId())
- plr->TeleportTo(KickPosition);
+ if (Player* player = sObjectAccessor->FindPlayer(guid))
+ if (player->GetZoneId() == GetZoneId())
+ player->TeleportTo(KickPosition);
}
void Battlefield::StartBattle()
@@ -358,47 +358,47 @@ void Battlefield::PlaySoundToAll(uint32 SoundID)
for (int team = 0; team < BG_TEAMS_COUNT; team++)
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
{
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->GetSession()->SendPacket(&data);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->GetSession()->SendPacket(&data);
}
}
-bool Battlefield::HasPlayer(Player *plr) const
+bool Battlefield::HasPlayer(Player *player) const
{
- return m_players[plr->GetTeamId()].find(plr->GetGUID()) != m_players[plr->GetTeamId()].end();
+ return m_players[player->GetTeamId()].find(player->GetGUID()) != m_players[player->GetTeamId()].end();
}
// Called in WorldSession::HandleBfQueueInviteResponse
-void Battlefield::PlayerAcceptInviteToQueue(Player *plr)
+void Battlefield::PlayerAcceptInviteToQueue(Player *player)
{
// Add player in queueVenez
- m_PlayersInQueue[plr->GetTeamId()].insert(plr->GetGUID());
+ m_PlayersInQueue[player->GetTeamId()].insert(player->GetGUID());
// Send notification
- plr->GetSession()->SendBfQueueInviteResponce(m_BattleId, m_ZoneId);
+ player->GetSession()->SendBfQueueInviteResponce(m_BattleId, m_ZoneId);
}
// Called in WorldSession::HandleBfExitRequest
-void Battlefield::AskToLeaveQueue(Player *plr)
+void Battlefield::AskToLeaveQueue(Player *player)
{
// Remove player from queue
- m_PlayersInQueue[plr->GetTeamId()].erase(plr->GetGUID());
+ m_PlayersInQueue[player->GetTeamId()].erase(player->GetGUID());
}
// Called in WorldSession::HandleBfEntryInviteResponse
-void Battlefield::PlayerAcceptInviteToWar(Player *plr)
+void Battlefield::PlayerAcceptInviteToWar(Player *player)
{
if (!IsWarTime())
return;
- if (AddOrSetPlayerToCorrectBfGroup(plr))
+ if (AddOrSetPlayerToCorrectBfGroup(player))
{
- plr->GetSession()->SendBfEntered(m_BattleId);
- m_PlayersInWar[plr->GetTeamId()].insert(plr->GetGUID());
- m_InvitedPlayers[plr->GetTeamId()].erase(plr->GetGUID());
+ player->GetSession()->SendBfEntered(m_BattleId);
+ m_PlayersInWar[player->GetTeamId()].insert(player->GetGUID());
+ m_InvitedPlayers[player->GetTeamId()].erase(player->GetGUID());
//Remove player AFK
- if (plr->isAFK())
- plr->ToggleAFK();
+ if (player->isAFK())
+ player->ToggleAFK();
- OnPlayerJoinWar(plr); //for scripting
+ OnPlayerJoinWar(player); //for scripting
}
}
@@ -406,36 +406,36 @@ void Battlefield::TeamCastSpell(TeamId team, int32 spellId)
{
if (spellId > 0)
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->CastSpell(plr, (uint32) spellId, true);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->CastSpell(player, (uint32) spellId, true);
else
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->RemoveAuraFromStack((uint32) - spellId);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->RemoveAuraFromStack((uint32) - spellId);
}
void Battlefield::BroadcastPacketZone(WorldPacket & data) const
{
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->GetSession()->SendPacket(&data);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->GetSession()->SendPacket(&data);
}
void Battlefield::BroadcastPacketQueue(WorldPacket & data) const
{
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
for (GuidSet::const_iterator itr = m_PlayersInQueue[team].begin(); itr != m_PlayersInQueue[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->GetSession()->SendPacket(&data);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->GetSession()->SendPacket(&data);
}
void Battlefield::BroadcastPacketWar(WorldPacket & data) const
{
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
for (GuidSet::const_iterator itr = m_PlayersInWar[team].begin(); itr != m_PlayersInWar[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->GetSession()->SendPacket(&data);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->GetSession()->SendPacket(&data);
}
WorldPacket Battlefield::BuildWarningAnnPacket(std::string msg)
@@ -477,22 +477,22 @@ void Battlefield::SendWarningToAllInZone(uint32 entry)
WorldPacket data = BuildWarningAnnPacket(msg);
BroadcastPacketWar(data);
}*/
-void Battlefield::SendWarningToPlayer(Player *plr, uint32 entry)
+void Battlefield::SendWarningToPlayer(Player *player, uint32 entry)
{
- if (!plr)
+ if (!player)
return;
if (Unit* unit = sObjectAccessor->FindUnit(StalkerGuid))
if (Creature* stalker = unit->ToCreature())
- sCreatureTextMgr->SendChat(stalker, (uint8)entry, plr->GetGUID());
+ sCreatureTextMgr->SendChat(stalker, (uint8)entry, player->GetGUID());
}
void Battlefield::SendUpdateWorldState(uint32 field, uint32 value)
{
for (uint8 i = 0; i < BG_TEAMS_COUNT; ++i)
for (GuidSet::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->SendUpdateWorldState(field, value);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->SendUpdateWorldState(field, value);
}
void Battlefield::RegisterZone(uint32 zoneId)
@@ -550,30 +550,30 @@ Group *Battlefield::GetGroupPlayer(uint64 guid, TeamId TeamId)
return NULL;
}
-bool Battlefield::AddOrSetPlayerToCorrectBfGroup(Player *plr)
+bool Battlefield::AddOrSetPlayerToCorrectBfGroup(Player *player)
{
- if (!plr->IsInWorld())
+ if (!player->IsInWorld())
return false;
- if (Group* group = plr->GetGroup())
- group->RemoveMember(plr->GetGUID());
+ if (Group* group = player->GetGroup())
+ group->RemoveMember(player->GetGUID());
- Group* group = GetFreeBfRaid(plr->GetTeamId());
+ Group* group = GetFreeBfRaid(player->GetTeamId());
if (!group)
{
group = new Group;
group->SetBattlefieldGroup(this);
- group->Create(plr);
+ group->Create(player);
sGroupMgr->AddGroup(group);
- m_Groups[plr->GetTeamId()].insert(group->GetGUID());
+ m_Groups[player->GetTeamId()].insert(group->GetGUID());
}
- else if (group->IsMember(plr->GetGUID()))
+ else if (group->IsMember(player->GetGUID()))
{
- uint8 subgroup = group->GetMemberGroup(plr->GetGUID());
- plr->SetBattlegroundOrBattlefieldRaid(group, subgroup);
+ uint8 subgroup = group->GetMemberGroup(player->GetGUID());
+ player->SetBattlegroundOrBattlefieldRaid(group, subgroup);
}
else
- group->AddMember(plr);
+ group->AddMember(player);
return true;
}
@@ -601,7 +601,7 @@ BfGraveYard *Battlefield::GetGraveYardById(uint32 id)
return NULL;
}
-WorldSafeLocsEntry const *Battlefield::GetClosestGraveYard(Player *plr)
+WorldSafeLocsEntry const *Battlefield::GetClosestGraveYard(Player *player)
{
BfGraveYard* closestGY = NULL;
float maxdist = -1;
@@ -609,10 +609,10 @@ WorldSafeLocsEntry const *Battlefield::GetClosestGraveYard(Player *plr)
{
if (m_GraveYardList[i])
{
- if (m_GraveYardList[i]->GetControlTeamId() != plr->GetTeamId())
+ if (m_GraveYardList[i]->GetControlTeamId() != player->GetTeamId())
continue;
- float dist = m_GraveYardList[i]->GetDistance(plr);
+ float dist = m_GraveYardList[i]->GetDistance(player);
if (dist < maxdist || maxdist < 0)
{
closestGY = m_GraveYardList[i];
@@ -699,10 +699,10 @@ void BfGraveYard::SetSpirit(Creature* spirit, TeamId team)
spirit->SetReactState(REACT_PASSIVE);
}
-float BfGraveYard::GetDistance(Player *plr)
+float BfGraveYard::GetDistance(Player *player)
{
const WorldSafeLocsEntry* ws = sWorldSafeLocsStore.LookupEntry(m_GraveyardId);
- return plr->GetDistance2d(ws->x, ws->y);
+ return player->GetDistance2d(ws->x, ws->y);
}
void BfGraveYard::AddPlayer(uint64 player_guid)
@@ -711,8 +711,8 @@ void BfGraveYard::AddPlayer(uint64 player_guid)
{
m_ResurrectQueue.insert(player_guid);
- if (Player* plr = sObjectAccessor->FindPlayer(player_guid))
- plr->CastSpell(plr, SPELL_WAITING_FOR_RESURRECT, true);
+ if (Player* player = sObjectAccessor->FindPlayer(player_guid))
+ player->CastSpell(player, SPELL_WAITING_FOR_RESURRECT, true);
}
}
@@ -720,8 +720,8 @@ void BfGraveYard::RemovePlayer(uint64 player_guid)
{
m_ResurrectQueue.erase(m_ResurrectQueue.find(player_guid));
- if (Player* plr = sObjectAccessor->FindPlayer(player_guid))
- plr->RemoveAurasDueToSpell(SPELL_WAITING_FOR_RESURRECT);
+ if (Player* player = sObjectAccessor->FindPlayer(player_guid))
+ player->RemoveAurasDueToSpell(SPELL_WAITING_FOR_RESURRECT);
}
void BfGraveYard::Resurrect()
@@ -732,22 +732,22 @@ void BfGraveYard::Resurrect()
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
{
// Get player object from his guid
- Player* plr = sObjectAccessor->FindPlayer(*itr);
- if (!plr)
+ Player* player = sObjectAccessor->FindPlayer(*itr);
+ if (!player)
continue;
// Check player isinworld and player is on good graveyard
- if (plr->IsInWorld())
+ if (player->IsInWorld())
if (Unit* spirit = sObjectAccessor->FindUnit(m_SpiritGuide[m_ControlTeam]))
spirit->CastSpell(spirit, SPELL_SPIRIT_HEAL, true);
// Resurect player
- plr->CastSpell(plr, SPELL_RESURRECTION_VISUAL, true);
- plr->ResurrectPlayer(1.0f);
- plr->CastSpell(plr, 6962, true);
- plr->CastSpell(plr, SPELL_SPIRIT_HEAL_MANA, true);
+ player->CastSpell(player, SPELL_RESURRECTION_VISUAL, true);
+ player->ResurrectPlayer(1.0f);
+ player->CastSpell(player, 6962, true);
+ player->CastSpell(player, SPELL_SPIRIT_HEAL_MANA, true);
- sObjectAccessor->ConvertCorpseForPlayer(plr->GetGUID());
+ sObjectAccessor->ConvertCorpseForPlayer(player->GetGUID());
}
m_ResurrectQueue.clear();
@@ -773,17 +773,17 @@ void BfGraveYard::RelocateDeadPlayers()
WorldSafeLocsEntry const* ClosestGrave = NULL;
for (GuidSet::const_iterator itr = m_ResurrectQueue.begin(); itr != m_ResurrectQueue.end(); ++itr)
{
- Player* plr = sObjectAccessor->FindPlayer(*itr);
- if (!plr)
+ Player* player = sObjectAccessor->FindPlayer(*itr);
+ if (!player)
continue;
if (ClosestGrave)
- plr->TeleportTo(plr->GetMapId(), ClosestGrave->x, ClosestGrave->y, ClosestGrave->z, plr->GetOrientation());
+ player->TeleportTo(player->GetMapId(), ClosestGrave->x, ClosestGrave->y, ClosestGrave->z, player->GetOrientation());
else
{
- ClosestGrave = m_Bf->GetClosestGraveYard(plr);
+ ClosestGrave = m_Bf->GetClosestGraveYard(player);
if (ClosestGrave)
- plr->TeleportTo(plr->GetMapId(), ClosestGrave->x, ClosestGrave->y, ClosestGrave->z, plr->GetOrientation());
+ player->TeleportTo(player->GetMapId(), ClosestGrave->x, ClosestGrave->y, ClosestGrave->z, player->GetOrientation());
}
}
}
@@ -877,22 +877,22 @@ BfCapturePoint::BfCapturePoint(Battlefield *Bf):m_Bf(Bf), m_capturePoint(NULL)
m_maxSpeed = 0;
}
-bool BfCapturePoint::HandlePlayerEnter(Player *plr)
+bool BfCapturePoint::HandlePlayerEnter(Player *player)
{
if (m_capturePoint)
{
- plr->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldState1, 1);
- plr->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldstate2, (uint32) ceil((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f));
- plr->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldstate3, m_neutralValuePct);
+ player->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldState1, 1);
+ player->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldstate2, (uint32) ceil((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f));
+ player->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldstate3, m_neutralValuePct);
}
- return m_activePlayers[plr->GetTeamId()].insert(plr->GetGUID()).second;
+ return m_activePlayers[player->GetTeamId()].insert(player->GetGUID()).second;
}
-void BfCapturePoint::HandlePlayerLeave(Player *plr)
+void BfCapturePoint::HandlePlayerLeave(Player *player)
{
if (m_capturePoint)
- plr->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldState1, 0);
- m_activePlayers[plr->GetTeamId()].erase(plr->GetGUID());
+ player->SendUpdateWorldState(m_capturePoint->GetGOInfo()->capturePoint.worldState1, 0);
+ m_activePlayers[player->GetTeamId()].erase(player->GetGUID());
}
void BfCapturePoint::SendChangePhase()
@@ -965,9 +965,9 @@ bool BfCapturePoint::Update(uint32 diff)
for (uint8 team = 0; team < 2; ++team)
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- if (!m_capturePoint->IsWithinDistInMap(plr, radius) || !plr->IsOutdoorPvPActive())
- HandlePlayerLeave(plr);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ if (!m_capturePoint->IsWithinDistInMap(player, radius) || !player->IsOutdoorPvPActive())
+ HandlePlayerLeave(player);
std::list < Player * >players;
Trinity::AnyPlayerInObjectRangeCheck checker(m_capturePoint, radius);
@@ -1069,8 +1069,8 @@ void BfCapturePoint::SendUpdateWorldState(uint32 field, uint32 value)
{
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
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->SendUpdateWorldState(field, value);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->SendUpdateWorldState(field, value);
}
void BfCapturePoint::SendObjectiveComplete(uint32 id, uint64 guid)
@@ -1090,11 +1090,11 @@ void BfCapturePoint::SendObjectiveComplete(uint32 id, uint64 guid)
// send to all players present in the area
for (GuidSet::iterator itr = m_activePlayers[team].begin(); itr != m_activePlayers[team].end(); ++itr)
- if (Player* plr = sObjectAccessor->FindPlayer(*itr))
- plr->KilledMonsterCredit(id, guid);
+ if (Player* player = sObjectAccessor->FindPlayer(*itr))
+ player->KilledMonsterCredit(id, guid);
}
-bool BfCapturePoint::IsInsideObjective(Player *plr) const
+bool BfCapturePoint::IsInsideObjective(Player *player) const
{
- return m_activePlayers[plr->GetTeamId()].find(plr->GetGUID()) != m_activePlayers[plr->GetTeamId()].end();
+ return m_activePlayers[player->GetTeamId()].find(player->GetGUID()) != m_activePlayers[player->GetTeamId()].end();
}
diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h
index 9f3bcb18f53..e14a09e29ea 100644
--- a/src/server/game/Battlefield/Battlefield.h
+++ b/src/server/game/Battlefield/Battlefield.h
@@ -88,12 +88,12 @@ public:
void SendObjectiveComplete(uint32 id, uint64 guid);
// used when player is activated/inactivated in the area
- virtual bool HandlePlayerEnter(Player * plr);
- virtual void HandlePlayerLeave(Player * plr);
- //virtual void HandlePlayerActivityChanged(Player * plr);
+ virtual bool HandlePlayerEnter(Player * player);
+ virtual void HandlePlayerLeave(Player * player);
+ //virtual void HandlePlayerActivityChanged(Player * player);
// checks if player is in range of a capture credit marker
- bool IsInsideObjective(Player * plr) const;
+ bool IsInsideObjective(Player * player) const;
// returns true if the state of the objective has changed, in this case, the OutdoorPvP must send a world state ui update.
virtual bool Update(uint32 diff);
@@ -144,7 +144,7 @@ public:
TeamId GetControlTeamId() { return m_ControlTeam; }
// use for found the nearest graveyard
- float GetDistance(Player * plr);
+ float GetDistance(Player * player);
void Initialize(TeamId startcontrol, uint32 gy);
void SetSpirit(Creature* spirit, TeamId team);
void AddPlayer(uint64 player_guid);
@@ -237,10 +237,10 @@ class Battlefield:public ZoneScript
*/
void KickPlayerFromBf(uint64 guid);
- /// Called when player (plr) enter in zone
- void HandlePlayerEnterZone(Player * plr, uint32 zone);
- /// Called when player (plr) leave the zone
- void HandlePlayerLeaveZone(Player * plr, uint32 zone);
+ /// Called when player (player) enter in zone
+ void HandlePlayerEnterZone(Player * player, uint32 zone);
+ /// Called when player (player) leave the zone
+ void HandlePlayerLeaveZone(Player * player, uint32 zone);
// All-purpose data storage 64 bit
virtual uint64 GetData64(uint32 DataId) { return m_Data64[DataId]; }
@@ -258,17 +258,17 @@ class Battlefield:public ZoneScript
// Group methods
/**
* \brief Find a not full battlefield group, if there is no, create one
- * \param TeamId : Id of player team for who we search a group (plr->GetTeamId())
+ * \param TeamId : Id of player team for who we search a group (player->GetTeamId())
*/
Group *GetFreeBfRaid(TeamId TeamId);
/// Return battlefield group where player is.
Group *GetGroupPlayer(uint64 guid, TeamId TeamId);
/// Force player to join a battlefield group
- bool AddOrSetPlayerToCorrectBfGroup(Player * plr);
+ bool AddOrSetPlayerToCorrectBfGroup(Player * player);
// Graveyard methods
// Find which graveyard the player must be teleported to to be resurrected by spiritguide
- WorldSafeLocsEntry const *GetClosestGraveYard(Player * plr);
+ WorldSafeLocsEntry const *GetClosestGraveYard(Player * player);
virtual void AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_guid);
void RemovePlayerFromResurrectQueue(uint64 player_guid);
@@ -289,23 +289,23 @@ class Battlefield:public ZoneScript
/// Called x minutes before battle start when player in zone are invite to join queue
virtual void OnStartGrouping() {};
/// Called when a player accept to join the battle
- virtual void OnPlayerJoinWar(Player * /*plr */ ) {};
+ virtual void OnPlayerJoinWar(Player * /*player */ ) {};
/// Called when a player leave the battle
- virtual void OnPlayerLeaveWar(Player * /*plr */ ) {};
+ virtual void OnPlayerLeaveWar(Player * /*player */ ) {};
/// Called when a player leave battlefield zone
- virtual void OnPlayerLeaveZone(Player * /*plr */ ) {};
+ virtual void OnPlayerLeaveZone(Player * /*player */ ) {};
/// Called when a player enter in battlefield zone
- virtual void OnPlayerEnterZone(Player * /*plr */ ) {};
+ virtual void OnPlayerEnterZone(Player * /*player */ ) {};
WorldPacket BuildWarningAnnPacket(std::string msg);
void SendWarningToAllInZone(uint32 entry);
//void SendWarningToAllInWar(int32 entry, ...); -- UNUSED
- void SendWarningToPlayer(Player * plr, uint32 entry);
+ void SendWarningToPlayer(Player * player, uint32 entry);
- void PlayerAcceptInviteToQueue(Player * plr);
- void PlayerAcceptInviteToWar(Player * plr);
+ void PlayerAcceptInviteToQueue(Player * player);
+ void PlayerAcceptInviteToWar(Player * player);
uint32 GetBattleId() { return m_BattleId; }
- void AskToLeaveQueue(Player * plr);
+ void AskToLeaveQueue(Player * player);
virtual void DoCompleteOrIncrementAchievement(uint32 /*achievement */ , Player * /*player */ , uint8 /*incrementNumber = 1 */ ) {};
@@ -329,8 +329,8 @@ class Battlefield:public ZoneScript
void PlaySoundToAll(uint32 SoundID);
- void InvitePlayerToQueue(Player * plr);
- void InvitePlayerToWar(Player * plr);
+ void InvitePlayerToQueue(Player * player);
+ void InvitePlayerToWar(Player * player);
void InitStalker(uint32 entry, float x, float y, float z, float o);
@@ -382,7 +382,7 @@ protected:
void KickAfk();
// use for switch off all worldstate for client
- virtual void SendRemoveWorldStates(Player * /*plr */ ) {}
+ virtual void SendRemoveWorldStates(Player * /*player */ ) {}
// use for send a packet for all player list
void BroadcastPacketZone(WorldPacket & data) const;
@@ -401,7 +401,7 @@ protected:
}
void RegisterZone(uint32 zoneid);
- bool HasPlayer(Player * plr) const;
+ bool HasPlayer(Player * player) const;
void TeamCastSpell(TeamId team, int32 spellId);
};
diff --git a/src/server/game/Battlefield/BattlefieldHandler.cpp b/src/server/game/Battlefield/BattlefieldHandler.cpp
index 0b26ae8dc55..7f7613b3950 100644
--- a/src/server/game/Battlefield/BattlefieldHandler.cpp
+++ b/src/server/game/Battlefield/BattlefieldHandler.cpp
@@ -75,7 +75,7 @@ void WorldSession::SendBfQueueInviteResponce(uint32 BattleId,uint32 ZoneId, bool
//Param1:(BattleId) the BattleId of Bf
void WorldSession::SendBfEntered(uint32 BattleId)
{
-// m_PlayerInWar[plr->GetTeamId()].insert(plr->GetGUID());
+// m_PlayerInWar[player->GetTeamId()].insert(player->GetGUID());
WorldPacket data(SMSG_BATTLEFIELD_MGR_ENTERED, 7);
data << uint32(BattleId);
data << uint8(1); //unk
diff --git a/src/server/game/Battlefield/BattlefieldMgr.cpp b/src/server/game/Battlefield/BattlefieldMgr.cpp
new file mode 100644
index 00000000000..095ec4fd18a
--- /dev/null
+++ b/src/server/game/Battlefield/BattlefieldMgr.cpp
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2008-2010 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "BattlefieldMgr.h"
+#include "Zones/BattlefieldWG.h"
+#include "ObjectMgr.h"
+#include "Player.h"
+
+BattlefieldMgr::BattlefieldMgr()
+{
+ m_UpdateTimer = 0;
+ //sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Instantiating BattlefieldMgr");
+}
+
+BattlefieldMgr::~BattlefieldMgr()
+{
+ //sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Deleting BattlefieldMgr");
+ for (BattlefieldSet::iterator itr = m_BattlefieldSet.begin(); itr != m_BattlefieldSet.end(); ++itr)
+ delete *itr;
+}
+
+void BattlefieldMgr::InitBattlefield()
+{
+ Battlefield* pBf = new BattlefieldWG;
+ // respawn, init variables
+ if (!pBf->SetupBattlefield())
+ {
+ sLog->outString();
+ sLog->outString("Battlefield : Wintergrasp init failed.");
+ delete pBf;
+ }
+ else
+ {
+ m_BattlefieldSet.push_back(pBf);
+ sLog->outString();
+ sLog->outString("Battlefield : Wintergrasp successfully initiated.");
+ }
+
+ /* For Cataclysm: Tol Barad
+ pBf = new BattlefieldTB;
+ // respawn, init variables
+ if(!pBf->SetupBattlefield())
+ {
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad init failed.");
+ delete pBf;
+ }
+ else
+ {
+ m_BattlefieldSet.push_back(pBf);
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad successfully initiated.");
+ } */
+}
+
+void BattlefieldMgr::AddZone(uint32 zoneid, Battlefield *handle)
+{
+ m_BattlefieldMap[zoneid] = handle;
+}
+
+void BattlefieldMgr::HandlePlayerEnterZone(Player * player, uint32 zoneid)
+{
+ BattlefieldMap::iterator itr = m_BattlefieldMap.find(zoneid);
+ if (itr == m_BattlefieldMap.end())
+ return;
+
+ if (itr->second->HasPlayer(player))
+ return;
+ if (itr->second->GetEnable() == false)
+ return;
+ itr->second->HandlePlayerEnterZone(player, zoneid);
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u entered outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+}
+
+void BattlefieldMgr::HandlePlayerLeaveZone(Player * player, uint32 zoneid)
+{
+ BattlefieldMap::iterator itr = m_BattlefieldMap.find(zoneid);
+ if (itr == m_BattlefieldMap.end())
+ return;
+
+ // teleport: remove once in removefromworld, once in updatezone
+ if (!itr->second->HasPlayer(player))
+ return;
+ itr->second->HandlePlayerLeaveZone(player, zoneid);
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u left outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+}
+
+Battlefield *BattlefieldMgr::GetBattlefieldToZoneId(uint32 zoneid)
+{
+ BattlefieldMap::iterator itr = m_BattlefieldMap.find(zoneid);
+ if (itr == m_BattlefieldMap.end())
+ {
+ // no handle for this zone, return
+ return NULL;
+ }
+ if (itr->second->GetEnable() == false)
+ return NULL;
+ return itr->second;
+}
+
+Battlefield *BattlefieldMgr::GetBattlefieldByBattleId(uint32 battleid)
+{
+ for (BattlefieldSet::iterator itr = m_BattlefieldSet.begin(); itr != m_BattlefieldSet.end(); ++itr)
+ {
+ if ((*itr)->GetBattleId() == battleid)
+ return (*itr);
+ }
+ return NULL;
+}
+
+void BattlefieldMgr::Update(uint32 diff)
+{
+ m_UpdateTimer += diff;
+ if (m_UpdateTimer > BATTLEFIELD_OBJECTIVE_UPDATE_INTERVAL)
+ {
+ for (BattlefieldSet::iterator itr = m_BattlefieldSet.begin(); itr != m_BattlefieldSet.end(); ++itr)
+ if ((*itr)->GetEnable())
+ (*itr)->Update(m_UpdateTimer);
+ m_UpdateTimer = 0;
+ }
+}
+
+ZoneScript *BattlefieldMgr::GetZoneScript(uint32 zoneId)
+{
+ BattlefieldMap::iterator itr = m_BattlefieldMap.find(zoneId);
+ if (itr != m_BattlefieldMap.end())
+ return itr->second;
+ else
+ return NULL;
+}
diff --git a/src/server/game/Battlefield/BattlefieldMgr.h b/src/server/game/Battlefield/BattlefieldMgr.h
index a447d787be7..4ee37e424fd 100644
--- a/src/server/game/Battlefield/BattlefieldMgr.h
+++ b/src/server/game/Battlefield/BattlefieldMgr.h
@@ -40,11 +40,11 @@ class BattlefieldMgr
// create battlefield events
void InitBattlefield();
// called when a player enters an battlefield area
- void HandlePlayerEnterZone(Player * plr, uint32 areaflag);
+ void HandlePlayerEnterZone(Player * player, uint32 areaflag);
// called when player leaves an battlefield area
- void HandlePlayerLeaveZone(Player * plr, uint32 areaflag);
+ void HandlePlayerLeaveZone(Player * player, uint32 areaflag);
// called when player resurrects
- void HandlePlayerResurrects(Player * plr, uint32 areaflag);
+ void HandlePlayerResurrects(Player * player, uint32 areaflag);
// return assigned battlefield
Battlefield *GetBattlefieldToZoneId(uint32 zoneid);
Battlefield *GetBattlefieldByBattleId(uint32 battleid);
@@ -59,7 +59,7 @@ class BattlefieldMgr
bool CanTalkTo(Player * player, Creature * creature, GossipMenuItems gso);
- void HandleDropFlag(Player * plr, uint32 spellId);
+ void HandleDropFlag(Player * player, uint32 spellId);
typedef std::vector < Battlefield * >BattlefieldSet;
typedef std::map < uint32 /* zoneid */ , Battlefield * >BattlefieldMap;
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h
index b5f4ffe8ad7..4ec448fe3e5 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.h
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h
@@ -315,30 +315,30 @@ class BattlefieldWG : public Battlefield
* -Teleport if it needed
* -Update worldstate
* -Update tenacity
- * \param plr: Player who accept invite
+ * \param player: Player who accept invite
*/
- void OnPlayerJoinWar(Player *plr);
+ void OnPlayerJoinWar(Player *player);
/**
* \brief Called when player leave battle
* -Update player aura
- * \param plr : Player who leave battle
+ * \param player : Player who leave battle
*/
- void OnPlayerLeaveWar(Player *plr);
+ void OnPlayerLeaveWar(Player *player);
/**
* \brief Called when player leave WG zone
- * \param plr : Player who leave zone
+ * \param player : Player who leave zone
*/
- void OnPlayerLeaveZone(Player *plr);
+ void OnPlayerLeaveZone(Player *player);
/**
* \brief Called when player enter in WG zone
* -Update aura
* -Update worldstate
- * \param plr : Player who leave zone
+ * \param player : Player who leave zone
*/
- void OnPlayerEnterZone(Player *plr);
+ void OnPlayerEnterZone(Player *player);
/**
* \brief Called for update battlefield data
@@ -415,13 +415,13 @@ class BattlefieldWG : public Battlefield
m_CanClickOnOrb = allow;
}
- void RewardMarkOfHonor(Player *plr, uint32 count);
+ void RewardMarkOfHonor(Player *player, uint32 count);
void UpdateVehicleCountWG();
void UpdateCounterVehicle(bool init);
WorldPacket BuildInitWorldStates();
- void SendInitWorldStatesTo(Player * plr);
+ void SendInitWorldStatesTo(Player * player);
void SendInitWorldStatesToAll();
void HandleKill(Player *killer, Unit *victim);