CMSG_CAST_SPELL

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:1.

cmsg CMSG_CAST_SPELL = 0x012E {
    Spell spell;
    SpellCastTargets targets;
}

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellspell
0x0A- / -SpellCastTargetstargets

Examples

Example 1

0, 10, // size
46, 1, 0, 0, // opcode (302)
120, 80, 0, 0, // spell: Spell
0, 0, // SpellCastTargets.target_flags: SpellCastTargetFlags  SELF (0)

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:1.

cmsg CMSG_CAST_SPELL = 0x012E {
    Spell spell;
    SpellCastTargets targets;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / LittleSpellspell
0x0A- / -SpellCastTargetstargets

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/cmsg_cast_spell.wowm:8.

cmsg CMSG_CAST_SPELL = 0x012E {
    u8 cast_count;
    Spell spell;
    ClientCastFlags cast_flags;
    SpellCastTargets targets;
    if (cast_flags == EXTRA) {
        f32 elevation;
        f32 speed;
        ClientMovementData movement_data;
        if (movement_data == PRESENT) {
            u32 opcode;
            PackedGuid guid;
            MovementInfo info;
        }
    }
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x061 / -u8cast_count
0x074 / LittleSpellspell
0x0B1 / -ClientCastFlagscast_flags
0x0C- / -SpellCastTargetstargets

If cast_flags is equal to EXTRA:

OffsetSize / EndiannessTypeNameComment
-4 / Littlef32elevation
-4 / Littlef32speed
-1 / -ClientMovementDatamovement_data

If movement_data is equal to PRESENT:

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32opcode
-- / -PackedGuidguid
-- / -MovementInfoinfo