Talk:COMBAT LOG EVENT

From Warcraft Wiki
Jump to navigation Jump to search

2008

In Base Parameters, source GUID and destGUID, i've found 2 new Unit Type in addition to Player(0x0), NPC(0x3) and Pet(0x4):

If you perform a bit-wise AND on the GUID with the mask 0x00F0000000000000:

Result Unit Type
0x0000000000000000 Player
0x0030000000000000 NPC
0x0040000000000000 Pet
0x0010000000000000 ? Object ?
0x0050000000000000 ? Controlled Object (aka turret, mount, ...) ?

Few exemples from my very limited french development CombatLog sample

Object(0x1)
fishing bob (Flotteur, dest of SPELL_CREATE)
wintergrasp central tower (Tour centrale de Joug-d'hiver, dest of SPELL_BUILDING_DAMAGE)
Controlled Object(0x5)
Wyrmrest Vanquisher (dest of SPELL_AURA_APPLIED/REMOVED BUFF)
Wyrmrest Defender (SPELL_AURA_A/R, SPELL_DAMAGE when your mount takes damage, UNIT_DIED)

Tendra (talk) 11:29, 4 February 2009 (UTC)

I've found an odd quirk with the bit-masking technique, summoned pets, such as DK's gargoyles show up as NPCs, not pets. From a combat log:

5/14 19:55:57.030  SPELL_SUMMON,0x06000000027B533E,"Siyeg",0x514,0xF130006CB5004379,"Ebon Gargoyle",0xa28,49206,"Summon Gargoyle",0x20

Note that the destId is 0xF130006CB5004379 and when masked with 0x00F0000000000000 yields 0x0030000000000000 identifying it as an NPC not a pet as you might expect.

Troutinator (talk) 23:02, 19 May 2009 (UTC)



It doesn't look like _MISSED actually does NOT have an amount passed as its second suffix-specific parameter. Can anyone else verify either way? I only have access to limited logs right now. Farlox (talk) 10:31, 11 December 2008 (UTC)

According to Blizzard_CombatLog.lua, SWING_MISSED and SPELL_MISSED have up to two arguments: missType and amountMissed. A value for amountMissed is only possible when missType is RESIST, BLOCK, or ABSORB. Parser (talk) 21:20, 11 December 2008 (UTC)



There is also an event for arg2 called PARTY_KILL. This fires when a unit dies... I don't know more yet, I was killing random mobs. And there is SPELL_DISPEL when dispelling a debuff.

--Sharandris (talk) 21:42, 17 July 2008 (UTC)

The event PARTY_KILL occurs when you or a member of your group/raid kills something. Parser (talk) 00:14, 7 September 2008 (UTC)



I've added "pet happiness" to the power type. The only time I've encountered this value was for a SPELL_PERIODIC_ENERGIZE log event where someone's pet was energized by "Feed Pet Effect".


While investigating the possibilities of writing a parser for the text combat log, I've been investigating the blizzard interface data. Are there any serious reasons around here why I shouldn't put that info up here? PleegWat 20:36, 27 March 2008 (UTC)

What "info"? Posted by: EGingell (T|C|F) on 21:49, 12 June 2008 (UTC)


Event Descriptions

Summary Of what I have learned about when events fire and when they don't: (Preliminary)

Prefixes

Event Prefix Description
SPELL_ Spell is the prefix for most effects even if the spell is a DoT or channeled. IE when the spell begins to be cast, SPELL_CAST_START is fired and not SPELL_PERIODIC_CAST_START. This is the same with _MISS, _FAILED, ect.
SPELL_PERIODIC Spell_PERIODIC Only the effects that are periodic start with this PREFIX. IE: Successfully casting a DoT only happens once therefor even though the spell is periodic use the SPELL_ prefix. However, the damage is periodic so it will start with SPELL_PERIODIC_. 90% of the time you will only care about _DAMAGE or _HEAL.

Suffixes

Event Prefix Description
_DAMAGE Triggered on damage to health. Nothing Special
_MISSED Triggered When Effect isn't applied but mana/energy is used IE: ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST
_HEAL Triggered when a unit is healed
_ENERGIZE Any effect that restores energy/mana. Spell/trinket/item set bonuses can trigger this event. IE: Vampiric Touch, or Mark of Defiance (Trinket)
_DRAIN Same as _ENERGIZE but this time you are loosing energy/mana. Caused by enemies.
_LEECH
_INTERRUPT
_DISPEL_FAILED
_AURA_DISPELLED AURA means buff/debuff. Any effect that can be seen in the combat frame is handled by aura events. This event is triggered when a buff/debuff is removed early.
_AURA_STOLEN
_EXTRA_ATTACKS
_AURA_APPLIED Triggered When Buffs/Debuffs are Applied. Note: This event doesn't fire if a debuff is applied twice without being removed. IE: casting Vampiric Embrace twice in a row only triggers this event once. This can make it dificult to track whether a debuff was sucessfully reapplied to the target. However, for instant cast spells, SPELL_CAST_SUCCESS can be used.
_AURA_REMOVED Triggered When Buffs/Debuffs expire.
_AURA_APPLIED_DOSE Triggered by stacking Debuffs if the debuff is already applied to a target. IE: If you cast Mind Flay twice it causes 2 doses of shadow vunerability, the first time it will trigger, SPELL_AURA_APPLIED (arg10 = shadow vulnerability), and SPELL_AURA_APPLIED_DOSE (arg10 = shadow vunerability) the second
_AURA_REMOVED_DOSE
_CAST_START Triggered when a spell begins casting. Instant Cast and channeled spells don't invoke this event. They trigger _CAST_SUCCESS, _MISS instead.
_CAST_SUCCESS Triggered when channeled spells begin or when instant cast spells are cast. This (obviously) isn't triggered when this spell misses. On a miss SPELL_MISS will be triggered instead. Also, spells that invoke _CAST_START don't trigger this event when they are done casting. Use _SPELL_MISS or _SPELL_DAMAGE or _SPELL_AURA_APPLIED to see when they were cast
_CAST_FAILED If the cast fails before it starts (IE invalid target), then _CAST_START never triggers. However it is possible for a cast to fail after beginning. (IE you jump, move, hit escape etc.)
_INSTAKILL
_DURABILITY_DAMAGE
_DURABILITY_DAMAGE_ALL
_CREATE
_SUMMON

School Strings

In the current Blizzard_CombatLog.lua, Blizzard has a table with strings for combinations of schools. I'll paste it below. I'd like to know how to best describe this table in the article. Currently, these strings seem to only be used in the combat log name of a spell. As far as I can tell, they don't necessarily result in separate spell schools that need to be handled (though Frostfire is a completely new school). This seems to be the beginning of a much larger spell school table, but not yet?


Blizzard_CombatLog.lua

local SchoolStringTable = {
	-- Single Schools
	[SCHOOL_MASK_PHYSICAL]				= STRING_SCHOOL_PHYSICAL,
	[SCHOOL_MASK_HOLY]				= STRING_SCHOOL_HOLY,
	[SCHOOL_MASK_FIRE]				= STRING_SCHOOL_FIRE,
	[SCHOOL_MASK_NATURE]				= STRING_SCHOOL_NATURE,
	[SCHOOL_MASK_FROST]				= STRING_SCHOOL_FROST,
	[SCHOOL_MASK_SHADOW]				= STRING_SCHOOL_SHADOW,
	[SCHOOL_MASK_ARCANE]				= STRING_SCHOOL_ARCANE,
	-- Physical and a Magical
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_FIRE]	= STRING_SCHOOL_FLAMESTRIKE,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_FROST]	= STRING_SCHOOL_FROSTSTRIKE,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_ARCANE]	= STRING_SCHOOL_SPELLSTRIKE,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_NATURE]	= STRING_SCHOOL_STORMSTRIKE,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_SHADOW]	= STRING_SCHOOL_SHADOWSTRIKE,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_HOLY]	= STRING_SCHOOL_HOLYSTRIKE,
	-- Two Magical Schools
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_FROST]		= STRING_SCHOOL_FROSTFIRE,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_ARCANE]		= STRING_SCHOOL_SPELLFIRE,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_NATURE]		= STRING_SCHOOL_FIRESTORM,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_SHADOW]		= STRING_SCHOOL_SHADOWFLAME,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_HOLY]		= STRING_SCHOOL_HOLYFIRE,
	[SCHOOL_MASK_FROST + SCHOOL_MASK_ARCANE]	= STRING_SCHOOL_SPELLFROST,
	[SCHOOL_MASK_FROST + SCHOOL_MASK_NATURE]	= STRING_SCHOOL_FROSTSTORM,
	[SCHOOL_MASK_FROST + SCHOOL_MASK_SHADOW]	= STRING_SCHOOL_SHADOWFROST,
	[SCHOOL_MASK_FROST + SCHOOL_MASK_HOLY]		= STRING_SCHOOL_HOLYFROST,
	[SCHOOL_MASK_ARCANE + SCHOOL_MASK_NATURE]	= STRING_SCHOOL_SPELLSTORM,
	[SCHOOL_MASK_ARCANE + SCHOOL_MASK_SHADOW]	= STRING_SCHOOL_SPELLSHADOW,
	[SCHOOL_MASK_ARCANE + SCHOOL_MASK_HOLY]		= STRING_SCHOOL_DIVINE,
	[SCHOOL_MASK_NATURE + SCHOOL_MASK_SHADOW]	= STRING_SCHOOL_SHADOWSTORM,
	[SCHOOL_MASK_NATURE + SCHOOL_MASK_HOLY]		= STRING_SCHOOL_HOLYSTORM,
	[SCHOOL_MASK_SHADOW + SCHOOL_MASK_HOLY]		= STRING_SCHOOL_SHADOWLIGHT,
	-- Three or more schools
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_FROST + SCHOOL_MASK_NATURE]	= STRING_SCHOOL_ELEMENTAL,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_FROST + SCHOOL_MASK_ARCANE + SCHOOL_MASK_NATURE + SCHOOL_MASK_SHADOW] = STRING_SCHOOL_CHROMATIC,
	[SCHOOL_MASK_FIRE + SCHOOL_MASK_FROST + SCHOOL_MASK_ARCANE + SCHOOL_MASK_NATURE + SCHOOL_MASK_SHADOW + SCHOOL_MASK_HOLY] = STRING_SCHOOL_MAGIC,
	[SCHOOL_MASK_PHYSICAL + SCHOOL_MASK_FIRE + SCHOOL_MASK_FROST + SCHOOL_MASK_ARCANE + SCHOOL_MASK_NATURE + SCHOOL_MASK_SHADOW + SCHOOL_MASK_HOLY] = STRING_SCHOOL_CHAOS,
};


Did Blizzard Take out this event??

SPELL_AURA_APPLIED/SPELL_AURA_REMOVED amount

Experimentally, it appears that SPELL_AURA_APPLIED and SPELL_AURA_REMOVED have another argument, the amount for an absorb. I'm going to add this to the wiki page, but I don't know if this argument is ever used for any non-shield auras. It would be helpful if anyone else knows anything on this subject.

Chaos damage coloring

All right, which one of you snarky people added the rainbow coloring around the bitflags for the Chaos school of magic?

...carry on.  :-p Farmbuyer (talk) 16:37, 6 July 2012 (UTC)

I liked colors a bit too much lmao Ketho (talk) 04:38, 4 January 2022 (UTC)

Parameters for WoW 6.0.2 & subsequent

In my experience with WoW Warlords of Draenor 6.0.2 and subsequent, the parameters have changed. The first parameter is either "COMBAT_LOG_EVENT" OR "COMBAT_LOG_EVENT_UNFILTERED" (without the quotes). Each of the other paramters is as documented on this page, but the number for each one has increased by 1 so that there are 12 base parameters now, not 11. I edited the page to correct it, but that was evidently a waste of time, since the outdated content has been restored. I don't know who is responsible for that, but I am not going to waste any more time and effort updating any of the API functions or events.

I changed it back because it was incorrect. An event handler declaration is always function(self, event, ...) then when event == "COMBAT_LOG_EVENT" or "COMBAT_LOG_EVENT_UNFILTERED", ... starts with timestamp, event, etc. Not sure why you added the actual event as part of the event args, that's just wrong. Nebula169 (talk) 14:23, 11 November 2014 (UTC)