aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-17 00:06:24 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-17 00:06:24 +0200
commit280a0b8e35ccf2fde55199938dffb2851892eaa2 (patch)
tree8a9a1541b4c592cac569910a3d4ca875057df7ec /src/server/game/Entities
parent5c3d8c1e8788909181e7a5ded1592dae767d4807 (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.cpp18
-rw-r--r--src/server/game/Entities/Player/Player.h17
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];