SMSG_SPELL_GO
Client Version 1.12
Wowm Representation
Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:1.
smsg SMSG_SPELL_GO = 0x0132 {
PackedGuid cast_item;
PackedGuid caster;
Spell spell;
CastFlags flags;
u8 amount_of_hits;
Guid[amount_of_hits] hits;
u8 amount_of_misses;
SpellMiss[amount_of_misses] misses;
SpellCastTargets targets;
if (flags & AMMO) {
u32 ammo_display_id;
u32 ammo_inventory_type;
}
}
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 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 2 / - | CastFlags | flags | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_inventory_type |
Client Version 2.4.3
Wowm Representation
Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:23.
smsg SMSG_SPELL_GO = 0x0132 {
PackedGuid cast_item;
PackedGuid caster;
Spell spell;
CastFlags flags;
u32 timestamp;
u8 amount_of_hits;
Guid[amount_of_hits] hits;
u8 amount_of_misses;
SpellMiss[amount_of_misses] misses;
SpellCastTargets targets;
if (flags & AMMO) {
u32 ammo_display_id;
u32 ammo_inventory_type;
}
}
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 | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 4 / Little | Spell | spell | |
| - | 2 / - | CastFlags | flags | |
| - | 4 / Little | u32 | timestamp | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_inventory_type |
Client Version 3.3.5
Wowm Representation
Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spell_go.wowm:47.
smsg SMSG_SPELL_GO = 0x0132 {
PackedGuid cast_item;
PackedGuid caster;
u8 extra_casts;
Spell spell;
GameobjectCastFlags flags;
u32 timestamp;
u8 amount_of_hits;
Guid[amount_of_hits] hits;
u8 amount_of_misses;
SpellMiss[amount_of_misses] misses;
SpellCastTargets targets;
if (flags & POWER_UPDATE) {
(u32)Power power;
}
if (flags & RUNE_UPDATE) {
u8 rune_mask_initial;
u8 rune_mask_after_cast;
u8[6] rune_cooldowns;
}
if (flags & ADJUST_MISSILE) {
f32 elevation;
u32 delay_trajectory;
}
if (flags & AMMO) {
u32 ammo_display_id;
u32 ammo_inventory_type;
}
if (flags & VISUAL_CHAIN) {
u32 unknown1;
u32 unknown2;
}
if (flags & DEST_LOCATION) {
u8 unknown3;
}
}
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 |
|---|---|---|---|---|
| - | - / - | PackedGuid | cast_item | cmangos/vmangos/mangoszero: if cast item is used, set this to guid of cast item, otherwise set it to same as caster. |
| - | - / - | PackedGuid | caster | |
| - | 1 / - | u8 | extra_casts | |
| - | 4 / Little | Spell | spell | |
| - | 4 / - | GameobjectCastFlags | flags | |
| - | 4 / Little | u32 | timestamp | |
| - | 1 / - | u8 | amount_of_hits | |
| - | ? / - | Guid[amount_of_hits] | hits | |
| - | 1 / - | u8 | amount_of_misses | |
| - | ? / - | SpellMiss[amount_of_misses] | misses | |
| - | - / - | SpellCastTargets | targets |
If flags contains POWER_UPDATE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / - | Power | power |
If flags contains RUNE_UPDATE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | rune_mask_initial | |
| - | 1 / - | u8 | rune_mask_after_cast | |
| - | 6 / - | u8[6] | rune_cooldowns |
If flags contains ADJUST_MISSILE:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | f32 | elevation | |
| - | 4 / Little | u32 | delay_trajectory |
If flags contains AMMO:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | ammo_display_id | |
| - | 4 / Little | u32 | ammo_inventory_type |
If flags contains VISUAL_CHAIN:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 4 / Little | u32 | unknown1 | |
| - | 4 / Little | u32 | unknown2 |
If flags contains DEST_LOCATION:
| Offset | Size / Endianness | Type | Name | Comment |
|---|---|---|---|---|
| - | 1 / - | u8 | unknown3 |