Core/Packets: updated packet structure of SMSG_BATTLEFIELD_LIST and updated BattlegroundTypeId enum

This commit is contained in:
Ovahlord
2024-08-27 04:48:44 +02:00
parent 3b9845ee44
commit 753c87ce24
6 changed files with 13 additions and 84 deletions

View File

@@ -487,7 +487,7 @@ bool BattlegroundMgr::IsArenaType(BattlegroundTypeId bgTypeId)
bool BattlegroundMgr::IsRandomBattleground(uint32 battlemasterListId)
{
return battlemasterListId == BATTLEGROUND_RB || battlemasterListId == BATTLEGROUND_RANDOM_EPIC;
return battlemasterListId == BATTLEGROUND_RB;
}
BattlegroundQueueTypeId BattlegroundMgr::BGQueueTypeId(uint16 battlemasterListId, BattlegroundQueueIdType type, bool rated, uint8 teamSize)

View File

@@ -1253,8 +1253,7 @@ GroupJoinBattlegroundResult Group::CanJoinBattlegroundQueue(BattlegroundTemplate
if (member->InBattlegroundQueueForBattlegroundQueueType(bgQueueTypeId))
return ERR_BATTLEGROUND_JOIN_FAILED; // not blizz-like
// don't let join if someone from the group is in bg queue random
bool isInRandomBgQueue = member->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RB, BattlegroundQueueIdType::Battleground, false, 0))
|| member->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RANDOM_EPIC, BattlegroundQueueIdType::Battleground, false, 0));
bool isInRandomBgQueue = member->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RB, BattlegroundQueueIdType::Battleground, false, 0));
if (bgOrTemplate->Id != BATTLEGROUND_AA && isInRandomBgQueue)
return ERR_IN_RANDOM_BG;
// don't let join to bg queue random if someone from the group is already in bg queue

View File

@@ -152,8 +152,7 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPackets::Battleground::Batt
return;
}
bool isInRandomBgQueue = _player->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RB, BattlegroundQueueIdType::Battleground, false, 0))
|| _player->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RANDOM_EPIC, BattlegroundQueueIdType::Battleground, false, 0));
bool isInRandomBgQueue = _player->InBattlegroundQueueForBattlegroundQueueType(BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RB, BattlegroundQueueIdType::Battleground, false, 0));
if (!BattlegroundMgr::IsRandomBattleground(bgTypeId) && isInRandomBgQueue)
{
// player is already in random queue

View File

@@ -6385,7 +6385,7 @@ enum PvPTeamId : uint8
uint8 constexpr PVP_TEAMS_COUNT = 2;
// Indexes of BattlemasterList.db2 (9.0.2.37176)
// Indexes of BattlemasterList.db2 (4.4.0.56014)
enum BattlegroundTypeId : uint32
{
BATTLEGROUND_TYPE_NONE = 0, // None
@@ -6407,83 +6407,12 @@ enum BattlegroundTypeId : uint32
BATTLEGROUND_RATED_25_VS_25 = 102, // Rated Battleground 25 vs 25
BATTLEGROUND_TP = 108, // Twin Peaks
BATTLEGROUND_BFG = 120, // Battle For Gilneas
// 656 = "Rated Eye of the Storm"
BATTLEGROUND_TK = 699, // Temple of Kotmogu
// 706 = "CTF3"
BATTLEGROUND_SM = 708, // Silvershard Mines
BATTLEGROUND_TVA = 719, // Tol'Viron Arena
BATTLEGROUND_DG = 754, // Deepwind Gorge
BATTLEGROUND_TTP = 757, // The Tiger's Peak
BATTLEGROUND_SS_VS_TM = 789, // Southshore vs. Tarren Mill
BATTLEGROUND_SMALL_D = 803, // Small Battleground D
BATTLEGROUND_BRH = 808, // Black Rook Hold Arena
// 809 = "New Nagrand Arena (Legion)"
BATTLEGROUND_AF = 816, // Ashamane's Fall
// 844 = "New Blade's Edge Arena (Legion)"
BATTLEGROUND_BRAWL_TBG = 846, // Brawl - The Battle for Gilneas (Old City Map)
BATTLEGROUND_BRAWL_ABW = 847, // Brawl - Arathi Basin Winter
// 848 = "AI Test - Arathi Basin"
BATTLEGROUND_BRAWL_DD = 849, // Brawl - Deepwind Dunk
BATTLEGROUND_BRAWL_SPS = 853, // Brawl - Shadow-Pan Showdown
// 856 = "[TEMP] RaceTrackBG"
BATTLEGROUND_BR = 857, // Blackrock
BATTLEGROUND_BRAWL_TH = 858, // Brawl - Temple of Hotmogu
BATTLEGROUND_BRAWL_GL = 859, // Brawl - Gravity Lapse
BATTLEGROUND_BRAWL_DD2 = 860, // Brawl - Deepwind Dunk
BATTLEGROUND_BRAWL_WS = 861, // Brawl - Warsong Scramble
BATTLEGROUND_BRAWL_EH = 862, // Brawl - Eye of the Horn
BATTLEGROUND_BRAWL_AA = 866, // Brawl - All Arenas
BATTLEGROUND_RL2 = 868, // Ruins of Lordaeron
BATTLEGROUND_DS2 = 869, // Dalaran Sewers
BATTLEGROUND_TVA2 = 870, // Tol'Viron Arena
BATTLEGROUND_TTP2 = 871, // The Tiger's Peak
BATTLEGROUND_BRHA2 = 872, // Black Rook Hold Arena
BATTLEGROUND_NA2 = 873, // Nagrand Arena
BATTLEGROUND_AF2 = 874, // Ashamane's Fall
BATTLEGROUND_BEA2 = 875, // Blade's Edge Arena
// 878 = "AI Test - Warsong Gulch"
BATTLEGROUND_BRAWL_DS = 879, // Brawl - Deep Six
BATTLEGROUND_BRAWL_AB = 880, // Brawl - Arathi Basin
BATTLEGROUND_BRAWL_DG = 881, // Brawl - Deepwind Gorge
BATTLEGROUND_BRAWL_ES = 882, // Brawl - Eye of the Storm
BATTLEGROUND_BRAWL_SM = 883, // Brawl - Silvershard Mines
BATTLEGROUND_BRAWL_TK = 884, // Brawl - Temple of Kotmogue
BATTLEGROUND_BRAWL_TBG2 = 885, // Brawl - The Battle for Gilneas
BATTLEGROUND_BRAWL_WG = 886, // Brawl - Warsong Gulch
BATTLEGROUND_CI = 887, // Cooking: Impossible
BATTLEGROUND_DOM_SS = 890, // Domination - Seething Strand
// 893 = "8.0 BG Temp"
BATTLEGROUND_SS = 894, // Seething Shore
BATTLEGROUND_HP = 897, // Hooking Point
BATTLEGROUND_RANDOM_EPIC = 901, // Random Epic Battleground
BATTLEGROUND_TTP3 = 902, // The Tiger's Peak
BATTLEGROUND_MB = 903, // Mugambala
BATTLEGROUND_BRAWL_AA2 = 904, // Brawl - All Arenas
BATTLEGROUND_BRAWL_AASH = 905, // Brawl - All Arenas - Stocked House
BATTLEGROUND_AF3 = 906, // Ashamane's Fall
BATTLEGROUND_BEA3 = 907, // Blade's Edge Arena
BATTLEGROUND_BE2 = 908, // Blade's Edge
BATTLEGROUND_DS3 = 909, // Dalaran Sewers
BATTLEGROUND_NA3 = 910, // Nagrand Arena
BATTLEGROUND_RL3 = 911, // Ruins of Lordaeron
BATTLEGROUND_TVA3 = 912, // Tol'Viron Arena
BATTLEGROUND_BRHA3 = 913, // Black Rook Hold Arena
BATTLEGROUND_WG_CTF = 1014, // Warsong Gulch Capture the Flag
BATTLEGROUND_EB_BW = 1017, // Epic Battleground - Battle for Wintergrasp
BATTLEGROUND_DOM_AB = 1018, // Domination - Arathi Basin
BATTLEGROUND_AB_CS = 1019, // Arathi Basin Comp Stomp
BATTLEGROUND_EB_A = 1020, // Epic Battleground - Ashran
BATTLEGROUND_CA = 1021, // Classic Ashran (Endless)
BATTLEGROUND_BRAWL_AB2 = 1022, // Brawl - Arathi Basin
BATTLEGROUND_TR = 1025, // The Robodrome (Arena)
BATTLEGROUND_RANDOM_BG = 1029, // Random Battleground
BATTLEGROUND_EB_BW2 = 1030, // Epic Battleground - Battle for Wintergrasp
// 1031 = "Programmer Map - Battlefield"
BATTLEGROUND_KR = 1033, // Korrak's Revenge
BATTLEGROUND_EPIC_BG_WF = 1036, // Epic Battleground - Warfront Arathi (PvP)
BATTLEGROUND_DOM_DG = 1037, // Domination - Deepwind Gorge
BATTLEGROUND_DOM_DG2 = 1039, // Domination - Deepwind Gorge
BATTLEGROUND_ED = 1041, // Empyrean Domain
BATTLEGROUND_ICC = 441, // Icecrown Citadel
BATTLEGROUND_RS = 443, // The Ruby Sanctum
BATTLEGROUND_RATED_EY = 656, // Rated Eye of the Storm
BATTLEGROUND_WG = 1089, // Wintergrasp
BATTLEGROUND_TB = 1116, // Battle for Tol Barad
BATTLEGROUND_BFG_OLD = 1121 // The Battle for Gilneas (Old City Map)
};
#define MAX_BATTLEGROUND_TYPE_ID 845

View File

@@ -228,6 +228,7 @@ void WorldPackets::Battleground::BattlefieldListRequest::Read()
WorldPacket const* WorldPackets::Battleground::BattlefieldList::Write()
{
_worldPacket << BattlemasterGuid;
_worldPacket << int32(CurrentMaxInstanceIndex);
_worldPacket << int32(BattlemasterListID);
_worldPacket << uint8(MinLevel);
_worldPacket << uint8(MaxLevel);

View File

@@ -284,6 +284,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid BattlemasterGuid;
int32 CurrentMaxInstanceIndex = 0;
int32 BattlemasterListID = 0;
uint8 MinLevel = 0;
uint8 MaxLevel = 0;
@@ -303,7 +304,7 @@ namespace WorldPackets
class PVPOptionsEnabled final : public ServerPacket
{
public:
PVPOptionsEnabled() : ServerPacket(SMSG_PVP_OPTIONS_ENABLED, 1) { }
PVPOptionsEnabled() : ServerPacket(SMSG_PVP_OPTIONS_ENABLED, 1 + 1) { }
WorldPacket const* Write() override;