Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Server/PacketIO: Enable HandleBattlefieldRatedInfoRequest.
Browse files Browse the repository at this point in the history
Signed-off-by: AriDEV <aridev666@gmail.com>
  • Loading branch information
AriDEV committed May 4, 2019
1 parent 73ea7cd commit e026448
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 61 deletions.
50 changes: 0 additions & 50 deletions src/server/game/Handlers/BattleGroundHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -809,40 +809,6 @@ void WorldSession::HandleReportPvPAFK(WorldPacket& recvData)
reportedPlayer->ReportedAfkBy(_player);
}

void WorldSession::HandleRequestRatedBgInfo(WorldPacket & recvData)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_REQUEST_RATED_BG_INFO");

uint8 unk;
recvData >> unk;

SF_LOG_DEBUG("bg.battleground", "WorldSession::HandleRequestRatedBgInfo: unk = %u", unk);

/// @Todo: perfome research in this case
/// The unk fields are related to arenas
WorldPacket data(SMSG_RATED_BG_STATS, 72);
data << uint32(0); // BgWeeklyWins20vs20
data << uint32(0); // BgWeeklyPlayed20vs20
data << uint32(0); // BgWeeklyPlayed15vs15
data << uint32(0);
data << uint32(0); // BgWeeklyWins10vs10
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0); // BgWeeklyWins15vs15
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0); // BgWeeklyPlayed10vs10
data << uint32(0);
data << uint32(0);

SendPacket(&data);
}

void WorldSession::HandleRequestPvpOptions(WorldPacket& /*recvData*/)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_REQUEST_PVP_OPTIONS_ENABLED");
Expand All @@ -867,19 +833,3 @@ void WorldSession::HandleRequestPvpReward(WorldPacket& /*recvData*/)
_player->SendPvpRewards();
}

void WorldSession::HandleRequestRatedBgStats(WorldPacket& /*recvData*/)
{
SF_LOG_DEBUG("network", "WORLD: CMSG_REQUEST_RATED_BG_STATS");

WorldPacket data(SMSG_BATTLEFIELD_RATED_INFO, 29);
data << uint32(0); // Reward
data << uint8(3); // unk
data << uint32(0); // unk
data << uint32(0); // unk
data << _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, true);
data << uint32(0); // unk
data << uint32(0); // unk
data << _player->GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, true);

SendPacket(&data);
}
17 changes: 17 additions & 0 deletions src/server/game/Handlers/BattlefieldHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,3 +312,20 @@ void WorldSession::HandleBfExitRequest(WorldPacket& recvData)
if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid))
bf->AskToLeaveQueue(_player);
}

void WorldSession::HandleBattlefieldRatedInfoRequest(WorldPacket& recvData)
{
WorldPacket data(SMSG_BATTLEFIELD_RATED_INFO, 4 * (8 * 4));
for (uint8 i = 0; i < 4; i++)
{
//TODO: PLAYER_FIELD_PVP_INFO, Updatefield Data 8*3 = size 24
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
data << uint32(0);
}
}
7 changes: 2 additions & 5 deletions src/server/game/Server/Protocol/Opcodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_BATTLEFIELD_MGR_EXIT_REQUEST, 0x08B3, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBfExitRequest ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE, 0x0A97, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBfQueueInviteResponse ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLEFIELD_PORT, 0x1379, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattleFieldPortOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLEFIELD_RATED_INFO_REQUEST 0x0826, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldRatedInfoRequest ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLEMASTER_JOIN, 0x0769, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLEMASTER_JOIN_ARENA, 0x02D2, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_BATTLE_CHAR_BOOST, 0x08E3, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattleCharBoost ); // 5.4.8 18414
Expand Down Expand Up @@ -583,8 +584,6 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_CATEGORY_COOLDOWNS, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestCategoryCooldowns);
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_INSPECT_RATED_BG_STATS, 0x0882, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_PET_INFO, 0x0000, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfoOpcode);
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_RATED_BG_INFO, 0x0826, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestRatedBgInfo);
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_RATED_BG_STATS, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestRatedBgStats);
DEFINE_OPCODE_HANDLER(CMSG_REQUEST_RESEARCH_HISTORY, 0x15E2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_RESET_FACTION_CHEAT, 0x10B6, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SAVE_CUF_PROFILES, 0x06E6, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles);
Expand Down Expand Up @@ -675,6 +674,7 @@ void OpcodeTable::InitializeServerTable()
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, 0x160E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EJECTED, 0x18C2, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_ENTERED, 0x081B, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_RATED_INFO, 0x0EBA, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS, 0x0433, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_QUEUED, 0x122E, STATUS_NEVER ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_ACTIVE, 0x1AAF, STATUS_NEVER ); // 5.4.8 18414
Expand Down Expand Up @@ -1137,7 +1137,6 @@ void OpcodeTable::InitializeServerTable()
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_STATE_CHANGE, 0x083A, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_PLAYER_POSITIONS, 0x0000, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_PORT_DENIED, 0x149A, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_RATED_INFO, 0x0EBA, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS, 0x10A6, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLEGROUND_INFO_THROTTLED, 0x1E1E, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_BATTLE_PAY_ACK_FAILED, 0x103E, STATUS_UNHANDLED);
Expand Down Expand Up @@ -1318,8 +1317,6 @@ void OpcodeTable::InitializeServerTable()
DEFINE_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, 0x008A, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_RAID_READY_CHECK_THROTTLED_ERROR, 0x0000, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_RAID_SUMMON_FAILED, 0x108A, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_RATED_BG_RATING, 0x0000, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_RATED_BG_STATS, 0x0000, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_REALM_SPLIT, 0x1A2E, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_REAL_GROUP_UPDATE, 0x0000, STATUS_UNHANDLED);
DEFINE_OPCODE_HANDLER(SMSG_CONNECT_TO, 0x1149, STATUS_UNHANDLED);
Expand Down
5 changes: 1 addition & 4 deletions src/server/game/Server/Protocol/Opcodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ enum Opcodes
CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE,
CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST,
CMSG_BATTLEFIELD_PORT,
CMSG_BATTLEFIELD_RATED_INFO_REQUEST,
CMSG_BATTLEFIELD_REQUEST_SCORE_DATA,
CMSG_BATTLEFIELD_STATUS,
CMSG_BATTLEGROUND_PLAYER_POSITIONS,
Expand Down Expand Up @@ -496,8 +497,6 @@ enum Opcodes
CMSG_REQUEST_PVP_OPTIONS_ENABLED,
CMSG_REQUEST_PVP_REWARDS,
CMSG_REQUEST_RAID_INFO,
CMSG_REQUEST_RATED_BG_INFO,
CMSG_REQUEST_RATED_BG_STATS,
CMSG_REQUEST_RESEARCH_HISTORY,
CMSG_REQUEST_VEHICLE_EXIT,
CMSG_REQUEST_VEHICLE_NEXT_SEAT,
Expand Down Expand Up @@ -1250,8 +1249,6 @@ enum Opcodes
SMSG_RAID_TARGET_UPDATE_SINGLE,
SMSG_RANDOM_ROLL,
SMSG_RANDOMIZE_CHAR_NAME,
SMSG_RATED_BG_RATING,
SMSG_RATED_BG_STATS,
SMSG_READ_ITEM_RESULT_FAILED,
SMSG_READ_ITEM_RESULT_OK,
SMSG_REALM_SPLIT,
Expand Down
3 changes: 1 addition & 2 deletions src/server/game/Server/WorldSession.h
Original file line number Diff line number Diff line change
Expand Up @@ -883,10 +883,8 @@ class WorldSession
void HandleBattlefieldLeaveOpcode(WorldPacket& recvData);
void HandleBattlemasterJoinArena(WorldPacket& recvData);
void HandleReportPvPAFK(WorldPacket& recvData);
void HandleRequestRatedBgInfo(WorldPacket& recvData);
void HandleRequestPvpOptions(WorldPacket& recvData);
void HandleRequestPvpReward(WorldPacket& recvData);
void HandleRequestRatedBgStats(WorldPacket& recvData);

void HandleWardenDataOpcode(WorldPacket& recvData);
void HandleWorldTeleportOpcode(WorldPacket& recvData);
Expand All @@ -904,6 +902,7 @@ class WorldSession
void HandleInstanceLockResponse(WorldPacket& recvPacket);

// Battlefield
void HandleBattlefieldRatedInfoRequest(WorldPacket& recvData);
void SendBfInvitePlayerToWar(uint64 guid, uint32 zoneId, uint32 time);
void SendBfInvitePlayerToQueue(uint64 guid);
void SendBfQueueInviteResponse(uint64 guid, uint32 zoneId, bool canQueue = true, bool full = false);
Expand Down

0 comments on commit e026448

Please sign in to comment.