mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 07:37:03 +00:00
[12173] Some battleground changes
- bg list works - placeholders for pvp rewards and rated bg stats packets - other bg opcode changes Signed-off-by: Yaki Khadafi <elsoldollo@gmail.com>
This commit is contained in:
parent
dcc57439a7
commit
372e8e04bf
13 changed files with 163 additions and 86 deletions
|
|
@ -72,7 +72,7 @@ void WorldSession::HandleBattlemasterHelloOpcode(WorldPacket& recv_data)
|
|||
void WorldSession::SendBattlegGroundList(ObjectGuid guid, BattleGroundTypeId bgTypeId)
|
||||
{
|
||||
WorldPacket data;
|
||||
sBattleGroundMgr.BuildBattleGroundListPacket(&data, guid, _player, bgTypeId, 0);
|
||||
sBattleGroundMgr.BuildBattleGroundListPacket(&data, guid, _player, bgTypeId);
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
||||
|
|
@ -85,10 +85,15 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recv_data)
|
|||
bool isPremade = false;
|
||||
Group* grp;
|
||||
|
||||
recv_data >> guid; // battlemaster guid
|
||||
recv_data >> bgTypeId_; // battleground type id (DBC id)
|
||||
recv_data >> instanceId; // instance id, 0 if First Available selected
|
||||
recv_data >> joinAsGroup; // join as group
|
||||
recv_data.ReadGuidMask<2, 0, 3, 1, 5>(guid);
|
||||
joinAsGroup = recv_data.ReadBit();
|
||||
recv_data.ReadGuidMask<4, 6, 7>(guid);
|
||||
recv_data.ReadGuidBytes<2, 6, 4, 3, 7, 0, 5, 1>(guid);
|
||||
|
||||
bgTypeId_ = guid.GetCounter();
|
||||
DEBUG_LOG("WORLD: Recvd CMSG_BATTLEMASTER_JOIN Message from %s, typeid: %u, asGroup: %u, bg guid: %u",
|
||||
_player->GetGuidStr().c_str(), bgTypeId_, joinAsGroup, guid.GetString().c_str());
|
||||
|
||||
if (!sBattlemasterListStore.LookupEntry(bgTypeId_))
|
||||
{
|
||||
|
|
@ -98,8 +103,6 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recv_data)
|
|||
|
||||
BattleGroundTypeId bgTypeId = BattleGroundTypeId(bgTypeId_);
|
||||
|
||||
DEBUG_LOG("WORLD: Recvd CMSG_BATTLEMASTER_JOIN Message from %s", guid.GetString().c_str());
|
||||
|
||||
// can do this, since it's battleground, not arena
|
||||
BattleGroundQueueTypeId bgQueueTypeId = BattleGroundMgr::BGQueueTypeId(bgTypeId, ARENA_TYPE_NONE);
|
||||
|
||||
|
|
@ -322,12 +325,6 @@ void WorldSession::HandleBattlefieldListOpcode(WorldPacket& recv_data)
|
|||
uint32 bgTypeId;
|
||||
recv_data >> bgTypeId; // id from DBC
|
||||
|
||||
uint8 fromWhere;
|
||||
recv_data >> fromWhere; // 0 - battlemaster (lua: ShowBattlefieldList), 1 - UI (lua: RequestBattlegroundInstanceInfo)
|
||||
|
||||
uint8 unk1;
|
||||
recv_data >> unk1; // unknown 3.2.2
|
||||
|
||||
BattlemasterListEntry const* bl = sBattlemasterListStore.LookupEntry(bgTypeId);
|
||||
if (!bl)
|
||||
{
|
||||
|
|
@ -336,7 +333,7 @@ void WorldSession::HandleBattlefieldListOpcode(WorldPacket& recv_data)
|
|||
}
|
||||
|
||||
WorldPacket data;
|
||||
sBattleGroundMgr.BuildBattleGroundListPacket(&data, ObjectGuid(), _player, BattleGroundTypeId(bgTypeId), fromWhere);
|
||||
sBattleGroundMgr.BuildBattleGroundListPacket(&data, ObjectGuid(), _player, BattleGroundTypeId(bgTypeId));
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
||||
|
|
@ -819,7 +816,14 @@ void WorldSession::HandleReportPvPAFK(WorldPacket& recv_data)
|
|||
reportedPlayer->ReportedAfkBy(_player);
|
||||
}
|
||||
|
||||
void WorldSession::HandleRequestPvPOptionsEnabled(WorldPacket& recv_data)
|
||||
void WorldSession::HandleRequestRatedBGStatsOpcode(WorldPacket& recv_data)
|
||||
{
|
||||
// null packet
|
||||
|
||||
GetPlayer()->SendRatedBGStats();
|
||||
}
|
||||
|
||||
void WorldSession::HandleRequestPvPOptionsEnabledOpcode(WorldPacket& recv_data)
|
||||
{
|
||||
// null packet
|
||||
|
||||
|
|
@ -829,3 +833,11 @@ void WorldSession::HandleRequestPvPOptionsEnabled(WorldPacket& recv_data)
|
|||
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
||||
void WorldSession::HandleRequestPvPRewardsOpcode(WorldPacket& recv_data)
|
||||
{
|
||||
// null packet
|
||||
|
||||
GetPlayer()->SendPvPRewards();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue