SpellLog

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:143.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        Guid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == HEAL
        || effect == HEAL_MAX_HEALTH) {
        Guid target2;
        u32 heal_amount;
        u32 heal_critical;
    }
    else if (effect == ENERGIZE) {
        Guid target3;
        u32 energize_amount;
        u32 energize_power;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        Guid target4;
        u32 extra_attacks;
    }
    else if (effect == CREATE_ITEM) {
        Item item;
    }
    else if (effect == INTERRUPT_CAST) {
        Guid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        Guid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == FEED_PET) {
        Item feed_pet_item;
    }
    else if (effect == INSTAKILL
        || effect == RESURRECT
        || effect == DISPEL
        || effect == THREAT
        || effect == DISTRACT
        || effect == SANCTUARY
        || effect == THREAT_ALL
        || effect == DISPEL_MECHANIC
        || effect == RESURRECT_NEW
        || effect == ATTACK_ME
        || effect == SKIN_PLAYER_CORPSE
        || effect == MODIFY_THREAT_PERCENT
        || effect == UNKNOWN126
        || effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM
        || effect == DISMISS_PET
        || effect == TRANS_DOOR
        || effect == SUMMON
        || effect == SUMMON_PET
        || effect == SUMMON_WILD
        || effect == SUMMON_GUARDIAN
        || effect == SUMMON_TOTEM_SLOT1
        || effect == SUMMON_TOTEM_SLOT2
        || effect == SUMMON_TOTEM_SLOT3
        || effect == SUMMON_TOTEM_SLOT4
        || effect == SUMMON_POSSESSED
        || effect == SUMMON_TOTEM
        || effect == SUMMON_CRITTER
        || effect == SUMMON_OBJECT_WILD
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4
        || effect == SUMMON_DEMON) {
        Guid target7;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x088 / LittleGuidtarget1
0x104 / Littleu32amount
0x144 / -Powerpower
0x184 / Littlef32multiplier

Else If effect is equal to HEAL or is equal to HEAL_MAX_HEALTH:

OffsetSize / EndiannessTypeNameComment
0x1C8 / LittleGuidtarget2
0x244 / Littleu32heal_amount
0x284 / Littleu32heal_critical

Else If effect is equal to ENERGIZE:

OffsetSize / EndiannessTypeNameComment
0x2C8 / LittleGuidtarget3
0x344 / Littleu32energize_amount
0x384 / Littleu32energize_power

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
0x3C8 / LittleGuidtarget4
0x444 / Littleu32extra_attacks

Else If effect is equal to CREATE_ITEM:

OffsetSize / EndiannessTypeNameComment
0x484 / LittleItemitem

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
0x4C8 / LittleGuidtarget5
0x544 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
0x588 / LittleGuidtarget6
0x604 / LittleItemitem_to_damage
0x644 / Littleu32unknown5

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
0x684 / LittleItemfeed_pet_item

Else If effect is equal to INSTAKILL or is equal to RESURRECT or is equal to DISPEL or is equal to THREAT or is equal to DISTRACT or is equal to SANCTUARY or is equal to THREAT_ALL or is equal to DISPEL_MECHANIC or is equal to RESURRECT_NEW or is equal to ATTACK_ME or is equal to SKIN_PLAYER_CORPSE or is equal to MODIFY_THREAT_PERCENT or is equal to UNKNOWN126 or is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM or is equal to DISMISS_PET or is equal to TRANS_DOOR or is equal to SUMMON or is equal to SUMMON_PET or is equal to SUMMON_WILD or is equal to SUMMON_GUARDIAN or is equal to SUMMON_TOTEM_SLOT1 or is equal to SUMMON_TOTEM_SLOT2 or is equal to SUMMON_TOTEM_SLOT3 or is equal to SUMMON_TOTEM_SLOT4 or is equal to SUMMON_POSSESSED or is equal to SUMMON_TOTEM or is equal to SUMMON_CRITTER or is equal to SUMMON_OBJECT_WILD or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4 or is equal to SUMMON_DEMON:

OffsetSize / EndiannessTypeNameComment
0x6C8 / LittleGuidtarget7

Used in:

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:385.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        PackedGuid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        PackedGuid target4;
        u32 extra_attacks;
    }
    else if (effect == INTERRUPT_CAST) {
        PackedGuid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        PackedGuid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM) {
        PackedGuid lock_target;
    }
    else if (effect == CREATE_ITEM) {
        Item item;
    }
    else if (effect == SUMMON
        || effect == TRANS_DOOR
        || effect == SUMMON_PET
        || effect == SUMMON_OBJECT_WILD
        || effect == CREATE_HOUSE
        || effect == DUEL
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4) {
        PackedGuid summon_target;
    }
    else if (effect == FEED_PET) {
        PackedGuid pet_feed_guid;
    }
    else if (effect == DISMISS_PET) {
        PackedGuid pet_dismiss_guid;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x08- / -PackedGuidtarget1
-4 / Littleu32amount
-4 / -Powerpower
-4 / Littlef32multiplier

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget4
-4 / Littleu32extra_attacks

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget5
-4 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget6
-4 / LittleItemitem_to_damage
-4 / Littleu32unknown5

Else If effect is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidlock_target

Else If effect is equal to CREATE_ITEM:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem

Else If effect is equal to SUMMON or is equal to TRANS_DOOR or is equal to SUMMON_PET or is equal to SUMMON_OBJECT_WILD or is equal to CREATE_HOUSE or is equal to DUEL or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidsummon_target

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_feed_guid

Else If effect is equal to DISMISS_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_dismiss_guid

Used in:

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/spell/smsg_spelllogexecute.wowm:602.

struct SpellLog {
    SpellEffect effect;
    u32 amount_of_logs = 1;
    if (effect == POWER_DRAIN) {
        PackedGuid target1;
        u32 amount;
        (u32)Power power;
        f32 multiplier;
    }
    else if (effect == ADD_EXTRA_ATTACKS) {
        PackedGuid target4;
        u32 extra_attacks;
    }
    else if (effect == INTERRUPT_CAST) {
        PackedGuid target5;
        Spell interrupted_spell;
    }
    else if (effect == DURABILITY_DAMAGE) {
        PackedGuid target6;
        Item item_to_damage;
        u32 unknown5;
    }
    else if (effect == OPEN_LOCK
        || effect == OPEN_LOCK_ITEM) {
        PackedGuid lock_target;
    }
    else if (effect == CREATE_ITEM
        || effect == CREATE_ITEM2) {
        Item item;
    }
    else if (effect == SUMMON
        || effect == TRANS_DOOR
        || effect == SUMMON_PET
        || effect == SUMMON_OBJECT_WILD
        || effect == CREATE_HOUSE
        || effect == DUEL
        || effect == SUMMON_OBJECT_SLOT1
        || effect == SUMMON_OBJECT_SLOT2
        || effect == SUMMON_OBJECT_SLOT3
        || effect == SUMMON_OBJECT_SLOT4) {
        PackedGuid summon_target;
    }
    else if (effect == FEED_PET) {
        PackedGuid pet_feed_guid;
    }
    else if (effect == DISMISS_PET) {
        PackedGuid pet_dismiss_guid;
    }
    else if (effect == RESURRECT
        || effect == RESURRECT_NEW) {
        PackedGuid resurrect_guid;
    }
}

Body

OffsetSize / EndiannessTypeNameComment
0x004 / -SpellEffecteffect
0x044 / Littleu32amount_of_logsvmangos/cmangos/mangoszero: Can be variable but all use constant 1

If effect is equal to POWER_DRAIN:

OffsetSize / EndiannessTypeNameComment
0x08- / -PackedGuidtarget1
-4 / Littleu32amount
-4 / -Powerpower
-4 / Littlef32multiplier

Else If effect is equal to ADD_EXTRA_ATTACKS:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget4
-4 / Littleu32extra_attacks

Else If effect is equal to INTERRUPT_CAST:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget5
-4 / LittleSpellinterrupted_spell

Else If effect is equal to DURABILITY_DAMAGE:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidtarget6
-4 / LittleItemitem_to_damage
-4 / Littleu32unknown5

Else If effect is equal to OPEN_LOCK or is equal to OPEN_LOCK_ITEM:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidlock_target

Else If effect is equal to CREATE_ITEM or is equal to CREATE_ITEM2:

OffsetSize / EndiannessTypeNameComment
-4 / LittleItemitem

Else If effect is equal to SUMMON or is equal to TRANS_DOOR or is equal to SUMMON_PET or is equal to SUMMON_OBJECT_WILD or is equal to CREATE_HOUSE or is equal to DUEL or is equal to SUMMON_OBJECT_SLOT1 or is equal to SUMMON_OBJECT_SLOT2 or is equal to SUMMON_OBJECT_SLOT3 or is equal to SUMMON_OBJECT_SLOT4:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidsummon_target

Else If effect is equal to FEED_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_feed_guid

Else If effect is equal to DISMISS_PET:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidpet_dismiss_guid

Else If effect is equal to RESURRECT or is equal to RESURRECT_NEW:

OffsetSize / EndiannessTypeNameComment
-- / -PackedGuidresurrect_guid

Used in: