SMSG_PET_SPELLS
Client Version 1, Client Version 2
Wowm Representation
Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:11.
smsg SMSG_PET_SPELLS = 0x0179 {
Guid pet;
optional action_bars {
u32 duration;
PetReactState react;
PetCommandState command;
u8 unknown;
PetEnabled pet_enabled;
u32[10] action_bars;
u8 amount_of_spells;
u32[amount_of_spells] spells;
u8 amount_of_cooldowns;
PetSpellCooldown[amount_of_cooldowns] cooldowns;
}
}
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 | 8 / Little | Guid | pet |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| 0x0C | 4 / Little | u32 | duration | |
| 0x10 | 1 / - | PetReactState | react | |
| 0x11 | 1 / - | PetCommandState | command | |
| 0x12 | 1 / - | u8 | unknown | mangoszero: set to 0 |
| 0x13 | 1 / - | PetEnabled | pet_enabled | |
| 0x14 | 40 / - | u32[10] | action_bars | |
| 0x3C | 1 / - | u8 | amount_of_spells | |
| 0x3D | ? / - | u32[amount_of_spells] | spells | |
| - | 1 / - | u8 | amount_of_cooldowns | |
| - | ? / - | PetSpellCooldown[amount_of_cooldowns] | cooldowns |
Client Version 3.3.5
Wowm Representation
Autogenerated from wowm file at wow_message_parser/wowm/world/pet/smsg_pet_spells.wowm:40.
smsg SMSG_PET_SPELLS = 0x0179 {
Guid pet;
optional action_bars {
(u16)CreatureFamily family;
u32 duration;
PetReactState react;
PetCommandState command;
u8 unknown;
PetEnabled pet_enabled;
u32[10] action_bars;
u8 amount_of_spells;
u32[amount_of_spells] spells;
u8 amount_of_cooldowns;
PetSpellCooldown[amount_of_cooldowns] cooldowns;
}
}
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 |
|---|---|---|---|---|
| - | 8 / Little | Guid | pet |
Optionally the following fields can be present. This can only be detected by looking at the size of the message.
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 2 / - | CreatureFamily | family | |
| - | 4 / Little | u32 | duration | |
| - | 1 / - | PetReactState | react | |
| - | 1 / - | PetCommandState | command | |
| - | 1 / - | u8 | unknown | mangoszero: set to 0 |
| - | 1 / - | PetEnabled | pet_enabled | |
| - | 40 / - | u32[10] | action_bars | |
| - | 1 / - | u8 | amount_of_spells | |
| - | ? / - | u32[amount_of_spells] | spells | |
| - | 1 / - | u8 | amount_of_cooldowns | |
| - | ? / - | PetSpellCooldown[amount_of_cooldowns] | cooldowns |