SMSG_BATTLEFIELD_STATUS
Client Version 1.12
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:16
.
smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
u32 queue_slot;
Map map;
if (map != EASTERN_KINGDOMS) {
BattlegroundBracket bracket;
u32 client_instance_id;
StatusId status_id;
if (status_id == WAIT_QUEUE) {
u32 average_wait_time_in_ms;
u32 time_in_queue_in_ms;
}
else if (status_id == WAIT_JOIN) {
u32 time_to_remove_in_queue_in_ms;
}
else if (status_id == IN_PROGRESS) {
u32 time_to_bg_autoleave_in_ms;
u32 time_to_bg_start_in_ms;
}
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Client Version 2.4.3
mangosone treats arena_type
, unknown1
, battleground_type_id
, and unknown2
as one big u64 and does not send any fields after these if all fields are 0.
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:44
.
smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
u32 queue_slot;
ArenaType arena_type;
u8 unknown1;
BattlegroundType battleground_type;
u16 unknown2;
u32 client_instance_id;
Bool rated;
StatusId status_id;
if (status_id == WAIT_QUEUE) {
u32 average_wait_time_in_ms;
u32 time_in_queue_in_ms;
}
else if (status_id == WAIT_JOIN) {
u32 time_to_remove_in_queue_in_ms;
}
else if (status_id == IN_PROGRESS) {
u32 time_to_bg_autoleave_in_ms;
u32 time_to_bg_start_in_ms;
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x04 | 4 / Little | u32 | queue_slot | vmangos: players can be in 3 queues at the same time (0..2) |
0x08 | 1 / - | ArenaType | arena_type | |
0x09 | 1 / - | u8 | unknown1 | mangosone sets to 0x0D. |
0x0A | 4 / - | BattlegroundType | battleground_type | |
0x0E | 2 / Little | u16 | unknown2 | mangosone sets to 0x1F90 |
0x10 | 4 / Little | u32 | client_instance_id | |
0x14 | 1 / - | Bool | rated | |
0x15 | 1 / - | StatusId | status_id |
If status_id is equal to WAIT_QUEUE
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x16 | 4 / Little | u32 | average_wait_time_in_ms | |
0x1A | 4 / Little | u32 | time_in_queue_in_ms |
Else If status_id is equal to WAIT_JOIN
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x1E | 4 / Little | u32 | time_to_remove_in_queue_in_ms |
Else If status_id is equal to IN_PROGRESS
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x22 | 4 / Little | u32 | time_to_bg_autoleave_in_ms | |
0x26 | 4 / Little | u32 | time_to_bg_start_in_ms |
Client Version 3.3.5
mangosone treats arena_type
, unknown1
, battleground_type_id
, and unknown2
as one big u64 and does not send any fields after these if all fields are 0.
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/battleground/smsg_battlefield_status.wowm:88
.
smsg SMSG_BATTLEFIELD_STATUS = 0x02D4 {
u32 queue_slot;
ArenaType arena_type;
u8 is_arena;
BattlegroundType battleground_type;
u16 unknown1;
u8 minimum_level;
u8 maximum_level;
u32 client_instance_id;
Bool rated;
StatusId status_id;
if (status_id == WAIT_QUEUE) {
u32 average_wait_time_in_ms;
u32 time_in_queue_in_ms;
}
else if (status_id == WAIT_JOIN) {
Map map1;
u64 unknown2;
u32 time_to_remove_in_queue_in_ms;
}
else if (status_id == IN_PROGRESS) {
Map map2;
u64 unknown3;
u32 time_to_bg_autoleave_in_ms;
u32 time_to_bg_start_in_ms;
ArenaFaction faction;
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
- | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / Little | u32 | queue_slot | vmangos: players can be in 3 queues at the same time (0..2) |
- | 1 / - | ArenaType | arena_type | |
- | 1 / - | u8 | is_arena | azerothcore sets to 0x0E if it is arena, 0 otherwise. |
- | 4 / - | BattlegroundType | battleground_type | |
- | 2 / Little | u16 | unknown1 | azerothcore sets to 0x1F90 |
- | 1 / - | u8 | minimum_level | |
- | 1 / - | u8 | maximum_level | |
- | 4 / Little | u32 | client_instance_id | |
- | 1 / - | Bool | rated | |
- | 1 / - | StatusId | status_id |
If status_id is equal to WAIT_QUEUE
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / Little | u32 | average_wait_time_in_ms | |
- | 4 / Little | u32 | time_in_queue_in_ms |
Else If status_id is equal to WAIT_JOIN
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / - | Map | map1 | |
- | 8 / Little | u64 | unknown2 | azerothcore: 3.3.5 unknown |
- | 4 / Little | u32 | time_to_remove_in_queue_in_ms |
Else If status_id is equal to IN_PROGRESS
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / - | Map | map2 | |
- | 8 / Little | u64 | unknown3 | azerothcore: 3.3.5 unknown |
- | 4 / Little | u32 | time_to_bg_autoleave_in_ms | |
- | 4 / Little | u32 | time_to_bg_start_in_ms | |
- | 1 / - | ArenaFaction | faction |