diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-04-17 00:06:24 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-04-17 00:06:24 +0200 |
| commit | 280a0b8e35ccf2fde55199938dffb2851892eaa2 (patch) | |
| tree | 8a9a1541b4c592cac569910a3d4ca875057df7ec /src/server/game/Entities | |
| parent | 5c3d8c1e8788909181e7a5ded1592dae767d4807 (diff) | |
Core/PacketIO: Updated and enabled some battleground packets
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 18 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 17 |
2 files changed, 19 insertions, 16 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index fe35fe82108..ae5655a5655 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -751,6 +751,7 @@ Player::Player(WorldSession* session): Unit(true) { m_bgBattlegroundQueueID[j].bgQueueTypeId = BATTLEGROUND_QUEUE_NONE; m_bgBattlegroundQueueID[j].invitedToInstance = 0; + m_bgBattlegroundQueueID[j].joinTime = 0; } m_logintime = time(NULL); @@ -13953,7 +13954,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 men return; } - GetSession()->SendBattleGroundList(guid, bgTypeId); + sBattlegroundMgr->SendBattlegroundList(this, guid, bgTypeId); break; } } @@ -23098,6 +23099,14 @@ Battleground* Player::GetBattleground() const return sBattlegroundMgr->GetBattleground(GetBattlegroundId(), m_bgData.bgTypeID); } +uint32 Player::GetBattlegroundQueueJoinTime(BattlegroundQueueTypeId bgQueueTypeId) const +{ + for (uint8 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i) + if (m_bgBattlegroundQueueID[i].bgQueueTypeId == bgQueueTypeId) + return m_bgBattlegroundQueueID[i].joinTime; + return 0; +} + bool Player::InBattlegroundQueue() const { for (uint8 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i) @@ -23108,7 +23117,10 @@ bool Player::InBattlegroundQueue() const BattlegroundQueueTypeId Player::GetBattlegroundQueueTypeId(uint32 index) const { - return m_bgBattlegroundQueueID[index].bgQueueTypeId; + if (index < PLAYER_MAX_BATTLEGROUND_QUEUES) + return m_bgBattlegroundQueueID[index].bgQueueTypeId; + + return BATTLEGROUND_QUEUE_NONE; } uint32 Player::GetBattlegroundQueueIndex(BattlegroundQueueTypeId bgQueueTypeId) const @@ -23146,6 +23158,7 @@ uint32 Player::AddBattlegroundQueueId(BattlegroundQueueTypeId val) { m_bgBattlegroundQueueID[i].bgQueueTypeId = val; m_bgBattlegroundQueueID[i].invitedToInstance = 0; + m_bgBattlegroundQueueID[i].joinTime = getMSTime(); return i; } } @@ -23168,6 +23181,7 @@ void Player::RemoveBattlegroundQueueId(BattlegroundQueueTypeId val) { m_bgBattlegroundQueueID[i].bgQueueTypeId = BATTLEGROUND_QUEUE_NONE; m_bgBattlegroundQueueID[i].invitedToInstance = 0; + m_bgBattlegroundQueueID[i].joinTime = 0; return; } } diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 104531d84e2..aff2b06f2b0 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1133,14 +1133,12 @@ class Player; struct BGData { BGData() : bgInstanceID(0), bgTypeID(BATTLEGROUND_TYPE_NONE), bgAfkReportedCount(0), bgAfkReportedTimer(0), - bgTeam(0), mountSpell(0) { bgQueuesJoinedTime.clear(); ClearTaxiPath(); } + bgTeam(0), mountSpell(0) { ClearTaxiPath(); } uint32 bgInstanceID; ///< This variable is set to bg->m_InstanceID, /// when player is teleported to BG - (it is battleground's GUID) BattlegroundTypeId bgTypeID; - std::map<uint32, uint32> bgQueuesJoinedTime; - GuidSet bgAfkReporter; uint8 bgAfkReportedCount; time_t bgAfkReportedTimer; @@ -2317,18 +2315,8 @@ class Player : public Unit, public GridObject<Player> BattlegroundTypeId GetBattlegroundTypeId() const { return m_bgData.bgTypeID; } Battleground* GetBattleground() const; - uint32 GetBattlegroundQueueJoinTime(uint32 bgTypeId) const { return m_bgData.bgQueuesJoinedTime.find(bgTypeId)->second; } - void AddBattlegroundQueueJoinTime(uint32 bgTypeId, uint32 joinTime) - { - m_bgData.bgQueuesJoinedTime[bgTypeId] = joinTime; - } - void RemoveBattlegroundQueueJoinTime(uint32 bgTypeId) - { - m_bgData.bgQueuesJoinedTime.erase(m_bgData.bgQueuesJoinedTime.find(bgTypeId)->second); - } - + uint32 GetBattlegroundQueueJoinTime(BattlegroundQueueTypeId bgQueueTypeId) const; bool InBattlegroundQueue() const; - BattlegroundQueueTypeId GetBattlegroundQueueTypeId(uint32 index) const; uint32 GetBattlegroundQueueIndex(BattlegroundQueueTypeId bgQueueTypeId) const; bool IsInvitedForBattlegroundQueueType(BattlegroundQueueTypeId bgQueueTypeId) const; @@ -2652,6 +2640,7 @@ class Player : public Unit, public GridObject<Player> { BattlegroundQueueTypeId bgQueueTypeId; uint32 invitedToInstance; + uint32 joinTime; }; BgBattlegroundQueueID_Rec m_bgBattlegroundQueueID[PLAYER_MAX_BATTLEGROUND_QUEUES]; |
