SMSG_SPELLNONMELEEDAMAGELOG

Client Version 1.12

Wowm Representation

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

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

SMSG have a header of 4 bytes.

SMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s's ranged shot hit %s for %u school or %s suffers %u school damage from %s's spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.

Client Version 2.4.3

Wowm Representation

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

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

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

Body

OffsetSize / EndiannessTypeNameComment
0x04- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s's ranged shot hit %s for %u school or %s suffers %u school damage from %s's spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spellnonmeleedamagelog.wowm:21.

smsg SMSG_SPELLNONMELEEDAMAGELOG = 0x0250 {
    PackedGuid target;
    PackedGuid attacker;
    Spell spell;
    u32 damage;
    u32 overkill;
    SpellSchool school;
    u32 absorbed_damage;
    u32 resisted;
    Bool periodic_log;
    u8 unused;
    u32 blocked;
    HitInfo hit_info;
    u8 extend_flag;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize 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 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget
-- / -PackedGuidattacker
-4 / LittleSpellspell
-4 / Littleu32damage
-4 / Littleu32overkill
-1 / -SpellSchoolschool
-4 / Littleu32absorbed_damage
-4 / Littleu32resistedcmangos/mangoszero/vmangos: sent as int32
-1 / -Boolperiodic_logcmangos/mangoszero/vmangos: if 1, then client show spell name (example: %s's ranged shot hit %s for %u school or %s suffers %u school damage from %s's spell_name
-1 / -u8unused
-4 / Littleu32blocked
-4 / -HitInfohit_info
-1 / -u8extend_flagcmangos has some that might be correct https://github.com/cmangos/mangos-classic/blob/524a39412dae7946d06e4b8f319f45b615075815/src/game/Entities/Unit.cpp#L5497.