Wikia

WoWWiki

Changes: API COMBAT LOG EVENT

Edit

Back to page

m
(Suffixes)
 
(6 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
=== Base Parameters ===
 
=== Base Parameters ===
 
{| class="darktable"
 
{| class="darktable"
!1st Param!!2nd Param!!3rd Param!!4th Param!!5th Param!!6th Param!!7th Param!!8th Param!!9th Param!!10th Param!!11th Param
+
!1st Param!!2nd Param!!3rd Param!!4th Param!!5th Param!!6th Param!!7th Param!!8th Param!!9th Param!
 
|-
 
|-
|timestamp||event||hideCaster||sourceGUID||sourceName||[[unitFlag|sourceFlags]]||sourceFlags2||destGUID||destName||[[unitFlag|destFlags]]||destFlags2
+
|unknown||sourceGUID||sourceName||[[unitFlag|sourceFlags]]||sourceFlags2||destGUID||destName||[[unitFlag|destFlags]]||destFlags2
 
|}
 
|}
   
The timestamp parameter has almost the same format as the return value of the [[API time|time()]] function. You can use it as the second parameter to [[API date|date()]]. The only difference is that time() returns an integer (the unit is seconds), while the timestamp parameter has three decimal places (milliseconds). That means (timestamp-floor(timestamp))*1000 is the number of milliseconds of the timestamp.
+
<s>The timestamp parameter has almost the same format as the return value of the [[API time|time()]] function. You can use it as the second parameter to [[API date|date()]]. The only difference is that time() returns an integer (the unit is seconds), while the timestamp parameter has three decimal places (milliseconds). That means (timestamp-floor(timestamp))*1000 is the number of milliseconds of the timestamp.</s>
   
 
The parameters sourceFlags2 and destFlags2 appeared in patch 4.2.
 
The parameters sourceFlags2 and destFlags2 appeared in patch 4.2.
   
 
More information on GUIDs (including format, how to tell a player from an NPC, pets, mob IDs, and more) can be found on the [[API UnitGUID]] page.
 
More information on GUIDs (including format, how to tell a player from an NPC, pets, mob IDs, and more) can be found on the [[API UnitGUID]] page.
 
   
 
== Events ==
 
== Events ==
Line 23: Line 22:
 
The Parameters listed with prefixes are numbered in the order they come after the base 8 parameters.
 
The Parameters listed with prefixes are numbered in the order they come after the base 8 parameters.
 
{| class="darktable"
 
{| class="darktable"
!Prefix!!1st Parameter (12th)!!2nd Paramater (13th)!!3rd Parameter (14th)
+
!Prefix!!1st Parameter (10th)!!2nd Paramater (11th)!!3rd Parameter (12th)
 
|-
 
|-
 
|SWING
 
|SWING
|-class="alt"
+
|- class="alt"
 
|RANGE||spellId||spellName||spellSchool
 
|RANGE||spellId||spellName||spellSchool
 
|-
 
|-
 
|SPELL||spellId||spellName||spellSchool
 
|SPELL||spellId||spellName||spellSchool
|-class="alt"
+
|- class="alt"
 
|SPELL_PERIODIC||spellId||spellName||spellSchool
 
|SPELL_PERIODIC||spellId||spellName||spellSchool
 
|-
 
|-
 
|SPELL_BUILDING||spellId||spellName||spellSchool
 
|SPELL_BUILDING||spellId||spellName||spellSchool
|-class="alt"
+
|- class="alt"
 
|ENVIRONMENTAL||environmentalType
 
|ENVIRONMENTAL||environmentalType
 
|}
 
|}
Line 41: Line 40:
 
The Parameters listed with suffixes are numbered in the order they come after the prefix parameters.
 
The Parameters listed with suffixes are numbered in the order they come after the prefix parameters.
 
{| class="darktable"
 
{| class="darktable"
!Suffix!!1st Param (15th)!!2nd Param (16th)!!3rd Param (17th)!!4th Param (18th)!!5th Param (19th)!!6th Param (20th)!!7th Param (21th)!!8th Param (22th)!!9th Param (23th)
+
!Suffix!!1st Param (13th)!!2nd Param (14th)!!3rd Param (15th)!!4th Param (16th)!!5th Param (17th)!!6th Param (18th)!!7th Param (19th)!!8th Param (20th)!!9th Param (21th)
 
|-
 
|-
 
|_DAMAGE||amount||overkill||school||resisted||blocked||absorbed||critical (1 or nil)||glancing (1 or nil)||crushing (1 or nil)
 
|_DAMAGE||amount||overkill||school||resisted||blocked||absorbed||critical (1 or nil)||glancing (1 or nil)||crushing (1 or nil)
|-class="alt"
+
|- class="alt"
 
|_MISSED||missType||isOffHand||amountMissed*
 
|_MISSED||missType||isOffHand||amountMissed*
 
|-
 
|-
 
|_HEAL||amount||overhealing||absorbed||critical
 
|_HEAL||amount||overhealing||absorbed||critical
|-class="alt"
+
|- class="alt"
 
|_ENERGIZE||amount||powerType
 
|_ENERGIZE||amount||powerType
 
|-
 
|-
 
|_DRAIN||amount||powerType||extraAmount
 
|_DRAIN||amount||powerType||extraAmount
|-class="alt"
+
|- class="alt"
 
|_LEECH||amount||powerType||extraAmount
 
|_LEECH||amount||powerType||extraAmount
 
|-
 
|-
 
|_INTERRUPT||extraSpellID||extraSpellName||extraSchool
 
|_INTERRUPT||extraSpellID||extraSpellName||extraSchool
|-class="alt"
+
|- class="alt"
 
|_DISPEL||extraSpellID||extraSpellName||extraSchool||auraType
 
|_DISPEL||extraSpellID||extraSpellName||extraSchool||auraType
 
|-
 
|-
 
|_DISPEL_FAILED||extraSpellID||extraSpellName||extraSchool
 
|_DISPEL_FAILED||extraSpellID||extraSpellName||extraSchool
|-class="alt"
+
|- class="alt"
 
|_STOLEN||extraSpellID||extraSpellName||extraSchool||auraType
 
|_STOLEN||extraSpellID||extraSpellName||extraSchool||auraType
 
|-
 
|-
 
|_EXTRA_ATTACKS||amount
 
|_EXTRA_ATTACKS||amount
|-class="alt"
+
|- class="alt"
 
|_AURA_APPLIED||auraType
 
|_AURA_APPLIED||auraType
 
|-
 
|-
 
|_AURA_REMOVED||auraType
 
|_AURA_REMOVED||auraType
|-class="alt"
+
|- class="alt"
 
|_AURA_APPLIED_DOSE||auraType||amount
 
|_AURA_APPLIED_DOSE||auraType||amount
 
|-
 
|-
 
|_AURA_REMOVED_DOSE||auraType||amount
 
|_AURA_REMOVED_DOSE||auraType||amount
|-class="alt"
+
|- class="alt"
 
|_AURA_REFRESH||auraType
 
|_AURA_REFRESH||auraType
 
|-
 
|-
 
|_AURA_BROKEN||auraType
 
|_AURA_BROKEN||auraType
|-class="alt"
+
|- class="alt"
 
|_AURA_BROKEN_SPELL||extraSpellID||extraSpellName||extraSchool||auraType
 
|_AURA_BROKEN_SPELL||extraSpellID||extraSpellName||extraSchool||auraType
 
|-
 
|-
 
|_CAST_START
 
|_CAST_START
|-class="alt"
+
|- class="alt"
 
|_CAST_SUCCESS
 
|_CAST_SUCCESS
 
|-
 
|-
 
|_CAST_FAILED||failedType
 
|_CAST_FAILED||failedType
|-class="alt"
+
|- class="alt"
 
|_INSTAKILL
 
|_INSTAKILL
 
|-
 
|-
 
|_DURABILITY_DAMAGE
 
|_DURABILITY_DAMAGE
|-class="alt"
+
|- class="alt"
 
|_DURABILITY_DAMAGE_ALL
 
|_DURABILITY_DAMAGE_ALL
 
|-
 
|-
 
|_CREATE
 
|_CREATE
|-class="alt"
+
|- class="alt"
 
|_SUMMON
 
|_SUMMON
 
|-
 
|-
Line 104: Line 103:
 
|-
 
|-
 
|DAMAGE_SHIELD||SPELL||_DAMAGE
 
|DAMAGE_SHIELD||SPELL||_DAMAGE
|-class="alt"
+
|- class="alt"
 
|DAMAGE_SPLIT||SPELL||_DAMAGE
 
|DAMAGE_SPLIT||SPELL||_DAMAGE
 
|-
 
|-
Line 113: Line 112:
 
|-
 
|-
 
|ENCHANT_APPLIED †||spellName||itemID||itemName
 
|ENCHANT_APPLIED †||spellName||itemID||itemName
|-class="alt"
+
|- class="alt"
 
|ENCHANT_REMOVED †||spellName||itemID||itemName
 
|ENCHANT_REMOVED †||spellName||itemID||itemName
 
|-
 
|-
 
|PARTY_KILL
 
|PARTY_KILL
|-class="alt"
+
|- class="alt"
 
|UNIT_DIED
 
|UNIT_DIED
 
|-
 
|-
Line 132: Line 131:
 
=== Spell School ===
 
=== Spell School ===
 
{| class="darktable"
 
{| class="darktable"
!spellSchool<br />(binary / bitmask)!!spellSchool<br />(hex)!!spellSchool<br />(decimal)!!<font size="3">Type!!</font>Color Codes / School Combination
+
!spellSchool<br />(binary / bitmask)!!spellSchool<br />(hex)!!spellSchool<br />(decimal)!!<font size="3">Type!!Color Codes / School Combination
 
|-
 
|-
 
|<center>0000000<font color="#FFFF00">'''1'''</font></center>||0x1|||1||Physical||<font color="#FFFF00"> #FFFF00 &nbsp;&nbsp;&nbsp; (255, 255, &nbsp;&nbsp;&nbsp; 0) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 1.00, 0.00)</font>
 
|<center>0000000<font color="#FFFF00">'''1'''</font></center>||0x1|||1||Physical||<font color="#FFFF00"> #FFFF00 &nbsp;&nbsp;&nbsp; (255, 255, &nbsp;&nbsp;&nbsp; 0) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 1.00, 0.00)</font>
|-class="alt"
+
|- class="alt"
 
|<center>000000<font color="#FFE680">'''1'''</font>0</center>||0x2||2||Holy||<font color="#FFE680"> #FFE680 &nbsp;&nbsp;&nbsp; (255, 230, 128) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 0.90, 0.50)</font>
 
|<center>000000<font color="#FFE680">'''1'''</font>0</center>||0x2||2||Holy||<font color="#FFE680"> #FFE680 &nbsp;&nbsp;&nbsp; (255, 230, 128) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 0.90, 0.50)</font>
 
|-
 
|-
 
|<center>00000<font color="#FF8000">'''1'''</font>00</center>||0x4||4||Fire||<font color="#FF8000"> #FF8000 &nbsp;&nbsp;&nbsp; (255, 128, &nbsp;&nbsp;&nbsp; 0) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 0.50, 0.00)</font>
 
|<center>00000<font color="#FF8000">'''1'''</font>00</center>||0x4||4||Fire||<font color="#FF8000"> #FF8000 &nbsp;&nbsp;&nbsp; (255, 128, &nbsp;&nbsp;&nbsp; 0) &nbsp;&nbsp;&nbsp;&nbsp; (1.00, 0.50, 0.00)</font>
|-class="alt"
+
|- class="alt"
 
|<center>0000<font color="#4DFF4D">'''1'''</font>000</center>||0x8||8||Nature||<font color="#4DFF4D"> #4DFF4D &nbsp;&nbsp; ( &nbsp;77, 255, &nbsp;&nbsp;77) &nbsp;&nbsp;&nbsp;&nbsp; (0.30, 1.00, 0.30)</font>
 
|<center>0000<font color="#4DFF4D">'''1'''</font>000</center>||0x8||8||Nature||<font color="#4DFF4D"> #4DFF4D &nbsp;&nbsp; ( &nbsp;77, 255, &nbsp;&nbsp;77) &nbsp;&nbsp;&nbsp;&nbsp; (0.30, 1.00, 0.30)</font>
 
|-
 
|-
 
|<center>000<font color="#80FFFF">'''1'''</font>0000</center>||0x10||16||Frost||<font color="#80FFFF"> #80FFFF &nbsp;&nbsp;&nbsp; (128, 255, 255) &nbsp;&nbsp;&nbsp;&nbsp; (0.50, 1.00, 1.00)</font>
 
|<center>000<font color="#80FFFF">'''1'''</font>0000</center>||0x10||16||Frost||<font color="#80FFFF"> #80FFFF &nbsp;&nbsp;&nbsp; (128, 255, 255) &nbsp;&nbsp;&nbsp;&nbsp; (0.50, 1.00, 1.00)</font>
|-class="alt"
+
|- class="alt"
 
|<center>00<font color="#8080FF">'''1'''</font>00000</center>||0x20||32||Shadow||<font color="#8080FF"> #8080FF &nbsp;&nbsp;&nbsp; (128, 128, 255) &nbsp;&nbsp;&nbsp;&nbsp; (0.50, 0.50, 1.00)</font>
 
|<center>00<font color="#8080FF">'''1'''</font>00000</center>||0x20||32||Shadow||<font color="#8080FF"> #8080FF &nbsp;&nbsp;&nbsp; (128, 128, 255) &nbsp;&nbsp;&nbsp;&nbsp; (0.50, 0.50, 1.00)</font>
 
|-
 
|-
Line 149: Line 148:
 
|-
 
|-
 
! colspan="5" | <center>'''Double schools'''</center>
 
! colspan="5" | <center>'''Double schools'''</center>
|-class="alt"
+
|- class="alt"
 
|<center>00000011</center>||0x3||3||Holystrike||<font color="#FFE680">Holy</font> + <font color="#FFFF00">Physical</font>
 
|<center>00000011</center>||0x3||3||Holystrike||<font color="#FFE680">Holy</font> + <font color="#FFFF00">Physical</font>
 
|-
 
|-
 
|<center>00000101</center>||0x5||5||Flamestrike||<font color="#FF8000">Fire</font> + <font color="#FFFF00">Physical</font>
 
|<center>00000101</center>||0x5||5||Flamestrike||<font color="#FF8000">Fire</font> + <font color="#FFFF00">Physical</font>
|-class="alt"
+
|- class="alt"
 
|<center>00000110</center>||0x6||6||Holyfire||<font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font>
 
|<center>00000110</center>||0x6||6||Holyfire||<font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font>
 
|-
 
|-
 
|<center>00001001</center>||0x9||9||Stormstrike||<font color="#4DFF4D">Nature</font> + <font color="#FFFF00">Physical</font>
 
|<center>00001001</center>||0x9||9||Stormstrike||<font color="#4DFF4D">Nature</font> + <font color="#FFFF00">Physical</font>
|-class="alt"
+
|- class="alt"
 
|<center>00001010</center>||0xA||10||Holystorm||<font color="#4DFF4D">Nature</font> + <font color="#FFE680">Holy</font>
 
|<center>00001010</center>||0xA||10||Holystorm||<font color="#4DFF4D">Nature</font> + <font color="#FFE680">Holy</font>
 
|-
 
|-
 
|<center>00001100</center>||0xC||12||Firestorm||<font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
 
|<center>00001100</center>||0xC||12||Firestorm||<font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
|-class="alt"
+
|- class="alt"
 
|<center>00010001</center>||0x11||17||Froststrike||<font color="#80FFFF">Frost</font> + <font color="#FFFF00">Physical</font>
 
|<center>00010001</center>||0x11||17||Froststrike||<font color="#80FFFF">Frost</font> + <font color="#FFFF00">Physical</font>
 
|-
 
|-
 
|<center>00010010</center>||0x12||18||Holyfrost||<font color="#80FFFF">Frost</font> + <font color="#FFE680">Holy</font>
 
|<center>00010010</center>||0x12||18||Holyfrost||<font color="#80FFFF">Frost</font> + <font color="#FFE680">Holy</font>
|-class="alt"
+
|- class="alt"
 
|<center>00010100</center>||0x14||20||Frostfire||<font color="#80FFFF">Frost</font> + <font color="#FF8000">Fire</font>
 
|<center>00010100</center>||0x14||20||Frostfire||<font color="#80FFFF">Frost</font> + <font color="#FF8000">Fire</font>
 
|-
 
|-
 
|<center>00011000</center>||0x18||24||Froststorm||<font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font>
 
|<center>00011000</center>||0x18||24||Froststorm||<font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font>
|-class="alt"
+
|- class="alt"
 
|<center>00100001</center>||0x21||33||Shadowstrike||<font color="#8080FF">Shadow</font> + <font color="#FFFF00">Physical</font>
 
|<center>00100001</center>||0x21||33||Shadowstrike||<font color="#8080FF">Shadow</font> + <font color="#FFFF00">Physical</font>
 
|-
 
|-
 
|<center>00100010</center>||0x22||34||Shadowlight (Twilight)||<font color="#8080FF">Shadow</font> + <font color="#FFE680">Holy</font>
 
|<center>00100010</center>||0x22||34||Shadowlight (Twilight)||<font color="#8080FF">Shadow</font> + <font color="#FFE680">Holy</font>
|-class="alt"
+
|- class="alt"
 
|<center>00100100</center>||0x24||36||Shadowflame||<font color="#8080FF">Shadow</font> + <font color="#FF8000">Fire</font>
 
|<center>00100100</center>||0x24||36||Shadowflame||<font color="#8080FF">Shadow</font> + <font color="#FF8000">Fire</font>
 
|-
 
|-
 
|<center>00101000</center>||0x28||40||Shadowstorm (Plague)||<font color="#8080FF">Shadow</font> + <font color="#4DFF4D">Nature</font>
 
|<center>00101000</center>||0x28||40||Shadowstorm (Plague)||<font color="#8080FF">Shadow</font> + <font color="#4DFF4D">Nature</font>
|-class="alt"
+
|- class="alt"
 
|<center>00110000</center>||0x30||48||Shadowfrost||<font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font>
 
|<center>00110000</center>||0x30||48||Shadowfrost||<font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font>
 
|-
 
|-
 
|<center>01000001</center>||0x41||65||Spellstrike||<font color="#FF80FF">Arcane</font> + <font color="#FFFF00">Physical</font>
 
|<center>01000001</center>||0x41||65||Spellstrike||<font color="#FF80FF">Arcane</font> + <font color="#FFFF00">Physical</font>
|-class="alt"
+
|- class="alt"
 
|<center>01000010</center>||0x42||66||Divine||<font color="#FF80FF">Arcane</font> + <font color="#FFE680">Holy</font>
 
|<center>01000010</center>||0x42||66||Divine||<font color="#FF80FF">Arcane</font> + <font color="#FFE680">Holy</font>
 
|-
 
|-
 
|<center>01000100</center>||0x44||68||Spellfire||<font color="#FF80FF">Arcane</font> + <font color="#FF8000">Fire</font>
 
|<center>01000100</center>||0x44||68||Spellfire||<font color="#FF80FF">Arcane</font> + <font color="#FF8000">Fire</font>
|-class="alt"
+
|- class="alt"
 
|<center>01001000</center>||0x48||72||Spellstorm||<font color="#FF80FF">Arcane</font> + <font color="#4DFF4D">Nature</font>
 
|<center>01001000</center>||0x48||72||Spellstorm||<font color="#FF80FF">Arcane</font> + <font color="#4DFF4D">Nature</font>
 
|-
 
|-
 
|<center>01010000</center>||0x50||80||Spellfrost||<font color="#FF80FF">Arcane</font> + <font color="#80FFFF">Frost</font>
 
|<center>01010000</center>||0x50||80||Spellfrost||<font color="#FF80FF">Arcane</font> + <font color="#80FFFF">Frost</font>
|-class="alt"
+
|- class="alt"
 
|<center>01100000</center>||0x60||96||Spellshadow||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font>
 
|<center>01100000</center>||0x60||96||Spellshadow||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font>
 
|-
 
|-
Line 195: Line 194:
 
|-
 
|-
 
|<center>00011100</center>||0x1C||28||Elemental||<font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
 
|<center>00011100</center>||0x1C||28||Elemental||<font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
|-class="alt"
+
|- class="alt"
 
|<center>01111100</center>||0x7C||124||Chromatic||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
 
|<center>01111100</center>||0x7C||124||Chromatic||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font>
 
|-
 
|-
 
|<center>01111110</center>||0x7E||126||Magic||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font>
 
|<center>01111110</center>||0x7E||126||Magic||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font>
|-class="alt"
+
|- class="alt"
 
|<center>0'''<font color="#FF80FF">1</font><font color="#8080FF">1</font><font color="#80FFFF">1</font><font color="#4DFF4D">1</font><font color="#FF8000">1</font><font color="#FFE680">1</font><font color="#FFFF00">1</font>'''</center>||0x7F||127||Chaos||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font> + <font color="#FFFF00">Physical</font>
 
|<center>0'''<font color="#FF80FF">1</font><font color="#8080FF">1</font><font color="#80FFFF">1</font><font color="#4DFF4D">1</font><font color="#FF8000">1</font><font color="#FFE680">1</font><font color="#FFFF00">1</font>'''</center>||0x7F||127||Chaos||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> + <font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font> + <font color="#FFE680">Holy</font> + <font color="#FFFF00">Physical</font>
 
|}
 
|}
Line 210: Line 209:
 
|-
 
|-
 
| -2||health
 
| -2||health
|-class="alt"
+
|- class="alt"
 
|0||mana
 
|0||mana
 
|-
 
|-
 
|1||rage
 
|1||rage
|-class="alt"
+
|- class="alt"
 
|2||focus
 
|2||focus
 
|-
 
|-
 
|3||energy
 
|3||energy
|-class="alt"
+
|- class="alt"
 
|4||pet happiness
 
|4||pet happiness
 
|-
 
|-
 
|5||runes
 
|5||runes
|-class="alt"
+
|- class="alt"
 
|6||runic power
 
|6||runic power
 
|-
 
|-
 
|7||soul shard
 
|7||soul shard
|-class="alt"
+
|- class="alt"
 
|8||eclipse energy (solar is negative, lunar is positive)
 
|8||eclipse energy (solar is negative, lunar is positive)
 
|-
 
|-
 
|9||holy power
 
|9||holy power
|-class="alt"
+
|- class="alt"
 
|10||sound for [[Atramedes]]
 
|10||sound for [[Atramedes]]
 
|-
 
|-
 
|11||?
 
|11||?
|-class="alt"
+
|- class="alt"
 
|12||chi
 
|12||chi
 
|}
 
|}
Line 393: Line 392:
 
function Foo_OnEvent(self, event, ...)
 
function Foo_OnEvent(self, event, ...)
 
 
local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags = select(1, ...)
+
local timestamp, type, hideCaster, sourceGUID, sourceName, sourceFlags, sourceFlags2, destGUID, destName, destFlags, destFlags2 = select(1, ...)
 
-- Note, for this example, you could just use 'local type = select(2, ...)'. The others are included so that it's clear what's available.
 
-- Note, for this example, you could just use 'local type = select(2, ...)'. The others are included so that it's clear what's available.
 
 
Line 399: Line 398:
 
if (type=="SPELL_DAMAGE") then
 
if (type=="SPELL_DAMAGE") then
 
 
local spellId, spellName, spellSchool = select(9, ...)
+
local spellId, spellName, spellSchool = select(12, ...)
 
-- Use the following line in game version 3.0 or higher, for previous versions use the line after
 
-- Use the following line in game version 3.0 or higher, for previous versions use the line after
local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(12, ...)
+
local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(15, ...)
 
 
 
if (spellName=="Mind Blast" and critical==true) then -- ==true for clarity only. Not needed.
 
if (spellName=="Mind Blast" and critical==true) then -- ==true for clarity only. Not needed.
Line 409: Line 408:
 
end
 
end
 
end
 
end
 
   
 
== Event Descriptions ==
 
== Event Descriptions ==
Line 436: Line 434:
 
{| class="darktable"
 
{| class="darktable"
 
|-
 
|-
! Event Prefix
+
! Event Suffix
 
! Description
 
! Description
 
|-
 
|-
Line 444: Line 442:
 
| _MISSED
 
| _MISSED
 
| Triggered When Effect isn't applied but mana/energy is used IE: ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST
 
| Triggered When Effect isn't applied but mana/energy is used IE: ABSORB BLOCK DEFLECT DODGE EVADE IMMUNE MISS PARRY REFLECT RESIST
|-
+
|-
 
| _HEAL
 
| _HEAL
 
| Triggered when a unit is healed
 
| Triggered when a unit is healed

Latest revision as of 13:25, September 17, 2014

COMBAT_LOG_EVENT_UNFILTERED redirects to this page, but most add-on developers will want to use it in preference to COMBAT_LOG_EVENT, because the events provided by the latter will only reflect the user's actual combat log.
Note: COMBAT_LOG_EVENT and COMBAT_LOG_EVENT_UNFILTERED have identical parameters. All information provided here applies to both events.

Base Parameters Edit

1st Param2nd Param3rd Param4th Param5th Param6th Param7th Param8th Param9th Param!
unknownsourceGUIDsourceNamesourceFlagssourceFlags2destGUIDdestNamedestFlagsdestFlags2

The timestamp parameter has almost the same format as the return value of the time() function. You can use it as the second parameter to date(). The only difference is that time() returns an integer (the unit is seconds), while the timestamp parameter has three decimal places (milliseconds). That means (timestamp-floor(timestamp))*1000 is the number of milliseconds of the timestamp.

The parameters sourceFlags2 and destFlags2 appeared in patch 4.2.

More information on GUIDs (including format, how to tell a player from an NPC, pets, mob IDs, and more) can be found on the API UnitGUID page.

Events Edit

How to get full event strings: Read prefix to suffix in order and use the parameter table as specified. Unused entries are nil. A Blank cell means that there are no additional arguments for this pre- or suffix.

Prefixes Edit

The Parameters listed with prefixes are numbered in the order they come after the base 8 parameters.

Prefix1st Parameter (10th)2nd Paramater (11th)3rd Parameter (12th)
SWING
RANGEspellIdspellNamespellSchool
SPELLspellIdspellNamespellSchool
SPELL_PERIODICspellIdspellNamespellSchool
SPELL_BUILDINGspellIdspellNamespellSchool
ENVIRONMENTALenvironmentalType

Suffixes Edit

The Parameters listed with suffixes are numbered in the order they come after the prefix parameters.

Suffix1st Param (13th)2nd Param (14th)3rd Param (15th)4th Param (16th)5th Param (17th)6th Param (18th)7th Param (19th)8th Param (20th)9th Param (21th)
_DAMAGEamountoverkillschoolresistedblockedabsorbedcritical (1 or nil)glancing (1 or nil)crushing (1 or nil)
_MISSEDmissTypeisOffHandamountMissed*
_HEALamountoverhealingabsorbedcritical
_ENERGIZEamountpowerType
_DRAINamountpowerTypeextraAmount
_LEECHamountpowerTypeextraAmount
_INTERRUPTextraSpellIDextraSpellNameextraSchool
_DISPELextraSpellIDextraSpellNameextraSchoolauraType
_DISPEL_FAILEDextraSpellIDextraSpellNameextraSchool
_STOLENextraSpellIDextraSpellNameextraSchoolauraType
_EXTRA_ATTACKSamount
_AURA_APPLIEDauraType
_AURA_REMOVEDauraType
_AURA_APPLIED_DOSEauraTypeamount
_AURA_REMOVED_DOSEauraTypeamount
_AURA_REFRESHauraType
_AURA_BROKENauraType
_AURA_BROKEN_SPELLextraSpellIDextraSpellNameextraSchoolauraType
_CAST_START
_CAST_SUCCESS
_CAST_FAILEDfailedType
_INSTAKILL
_DURABILITY_DAMAGE
_DURABILITY_DAMAGE_ALL
_CREATE
_SUMMON
_RESURRECT

* Its possible that this value does not exists. (For instance MISS or IMMUNE)

Special EventsEdit

EventPrefix to useSuffix to use
DAMAGE_SHIELDSPELL_DAMAGE
DAMAGE_SPLITSPELL_DAMAGE
DAMAGE_SHIELD_MISSEDSPELL_MISSED
Event1st Param2nd Param3rd Param
ENCHANT_APPLIED †spellNameitemIDitemName
ENCHANT_REMOVED †spellNameitemIDitemName
PARTY_KILL
UNIT_DIED
UNIT_DESTROYED

† These events are pretty much useless. They are triggered when a weapon's enchant changes, but before the API information is updated to reflect the change. It is possible for main-hand and off-hand wielded weapons to have the same itemID. So we might not even know for sure which weapon the enchant changed on. When an enchant is reapplied the original is removed first, triggering an ENCHANT_REMOVED event before a ENCHANT_APPLIED event is triggered.

A much better way of tracking temporary weapon enchants is to use the UNIT_INVENTORY_CHANGED event (a true event, not part of a COMBAT_LOG_EVENT_UNFILTERED) which is triggered every time an enchant changes. What's more, the information on the temporary enchants available through the API has been updated at the point this event is triggered. Sometimes the event is triggered twice however.

Icon Cataclysm 18x18 The UNIT_DESTROYED event will fire for deaths of totems and certain NPCs instead of UNIT_DIED

Parameter Values Edit

Spell School Edit

spellSchool
(binary / bitmask)
spellSchool
(hex)
spellSchool
(decimal)
TypeColor Codes / School Combination
00000001
0x11Physical #FFFF00     (255, 255,     0)      (1.00, 1.00, 0.00)
00000010
0x22Holy #FFE680     (255, 230, 128)      (1.00, 0.90, 0.50)
00000100
0x44Fire #FF8000     (255, 128,     0)      (1.00, 0.50, 0.00)
00001000
0x88Nature #4DFF4D    (  77, 255,   77)      (0.30, 1.00, 0.30)
00010000
0x1016Frost #80FFFF     (128, 255, 255)      (0.50, 1.00, 1.00)
00100000
0x2032Shadow #8080FF     (128, 128, 255)      (0.50, 0.50, 1.00)
01000000
0x4064Arcane #FF80FF     (255, 128, 255)      (1.00, 0.50, 1.00)
Double schools
00000011
0x33HolystrikeHoly + Physical
00000101
0x55FlamestrikeFire + Physical
00000110
0x66HolyfireFire + Holy
00001001
0x99StormstrikeNature + Physical
00001010
0xA10HolystormNature + Holy
00001100
0xC12FirestormNature + Fire
00010001
0x1117FroststrikeFrost + Physical
00010010
0x1218HolyfrostFrost + Holy
00010100
0x1420FrostfireFrost + Fire
00011000
0x1824FroststormFrost + Nature
00100001
0x2133ShadowstrikeShadow + Physical
00100010
0x2234Shadowlight (Twilight)Shadow + Holy
00100100
0x2436ShadowflameShadow + Fire
00101000
0x2840Shadowstorm (Plague)Shadow + Nature
00110000
0x3048ShadowfrostShadow + Frost
01000001
0x4165SpellstrikeArcane + Physical
01000010
0x4266DivineArcane + Holy
01000100
0x4468SpellfireArcane + Fire
01001000
0x4872SpellstormArcane + Nature
01010000
0x5080SpellfrostArcane + Frost
01100000
0x6096SpellshadowArcane + Shadow
Triple and multi schools
00011100
0x1C28ElementalFrost + Nature + Fire
01111100
0x7C124ChromaticArcane + Shadow + Frost + Nature + Fire
01111110
0x7E126MagicArcane + Shadow + Frost + Nature + Fire + Holy
01111111
0x7F127ChaosArcane + Shadow + Frost + Nature + Fire + Holy + Physical

Power Type Edit

powerTypeType
-2health
0mana
1rage
2focus
3energy
4pet happiness
5runes
6runic power
7soul shard
8eclipse energy (solar is negative, lunar is positive)
9holy power
10sound for Atramedes
11?
12chi

Miss type Edit

  • "ABSORB"
  • "BLOCK"
  • "DEFLECT"
  • "DODGE"
  • "EVADE"
  • "IMMUNE"
  • "MISS"
  • "PARRY"
  • "REFLECT"
  • "RESIST"

Aura Type Edit

  • "BUFF"
  • "DEBUFF"

Environmental Type Edit

  • "DROWNING"
  • "FALLING"
  • "FATIGUE"
  • "FIRE"
  • "LAVA"
  • "SLIME"
  • More possible but currently unconfirmed

Failed Type Edit

  • "A more powerful spell is already active"
  • "Another action is in progress"
  • "Can only use outside"
  • "Can only use while swimming"
  • "Can't do that while asleep"
  • "Can't do that while charmed"
  • "Can't do that while confused"
  • "Can't do that while fleeing"
  • "Can't do that while horrified"
  • "Can't do that while incapacitated"
  • "Can't do that while moving"
  • "Can't do that while silenced"
  • "Can't do that while stunned"
  • "Interrupted"
  • "Invalid target"
  • "Item is not ready yet"
  • "Must be in Bear Form, Dire Bear Form"
  • "Must have a Ranged Weapon equipped"
  • "No path available"
  • "No target"
  • "Not enough energy"
  • "Not enough mana"
  • "Not enough rage"
  • "Not yet recovered"
  • "Nothing to dispel"
  • "Out of range"
  • "Target is friendly"
  • "Target is hostile"
  • "Target needs to be in front of you."
  • "Target not in line of sight"
  • "Target too close"
  • "You are dead"
  • "You are in combat"
  • "You are in shapeshift form"
  • "You are unable to move"
  • "You can't do that yet"
  • "You must be behind your target."
  • "Your target is dead"
  • More possible but currently unconfirmed

Examples Edit

Introduction Edit

I wanted to post some info about what I have learned about using this event. I think the description of how the arguments work is confusing. Hopefully this provides some clarity.

There are always at least 8 arguments. (arg1 through arg8) Depending on the Prefix there will be 0, 1, or 3 more arguments. These will be numbered starting with 9 and going up to 11 if necessary. Depending on the Suffix there will be 0-8 more arguments. These will be numbered starting from the last Prefix argument (i.e. 9, 10, or 12).

Sample Arguments Example Edit

Example: The following 2 examples show the parameters used for a SPELL_MISS event and a SWING_DAMAGE events

Event Type Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 Arg7 Arg8 Arg9 Arg10 Arg11 Arg12 Arg13 Arg14 Arg15 Arg16 Arg17
SPELL_MISS timestamp event sourceGUID sourceName sourceFlags destGUID destName destFlags spellId spellName spellSchool missType isOffHand amountMissed
SWING_DAMAGE timestamp event sourceGUID sourceName sourceFlags destGUID destName destFlags amount overkill school resisted blocked absorbed critical glancing crushing

Simple Function Example Edit

Example the following function would display a message whenever a Mind Blast crits.

Foo.xml

<Frame name="Foo_Frame">
  <Scripts>
     <OnLoad>
        Foo_OnLoad();
     </OnLoad>
     <OnEvent>
        Foo_OnEvent(self, event, ...); -- The ... parameter passes all arguments that would otherwise be implicitly sent prior to 3.0.
                                       -- As of 3.0, you will need to explicitly send these arguments (as done here).  
     </OnEvent>
  </Scripts>
</Frame>

Foo.lua

function Foo_OnLoad()
  this:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
end

function Foo_OnEvent(self, event, ...)

  local timestamp, type, hideCaster, sourceGUID, sourceName, sourceFlags, sourceFlags2, destGUID, destName, destFlags, destFlags2 = select(1, ...)
  -- Note, for this example, you could just use 'local type = select(2, ...)'.  The others are included so that it's clear what's available.

  if (event=="COMBAT_LOG_EVENT_UNFILTERED") then
    if (type=="SPELL_DAMAGE") then

      local spellId, spellName, spellSchool = select(12, ...)
      -- Use the following line in game version 3.0 or higher, for previous versions use the line after
      local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(15, ...)

      if (spellName=="Mind Blast" and critical==true) then -- ==true for clarity only.  Not needed.
        DEFAULT_CHAT_FRAME:AddMessage("Mind Blast Just Critted!");
      end
    end
  end
end

Event Descriptions Edit

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

Prefixes Edit

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, etc.
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.
SPELL_BUILDING SPELL_BUILDING New in WotLK, assumed to be damage that can affect destructable buildings.
ENVIRONMENTAL sourceGUID = "0x0000000000000000", sourceName = nil

Suffixes Edit

Event Suffix Description
_DAMAGE Triggered on damage to health. Nothing Special. (overkill returns a number greater than or equal to zero)
_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 losing energy/mana. Caused by enemies.
_LEECH Same as _DRAIN, but the source unit will simultaneously receive the same kind of energy (specified in extraAmount)
_INTERRUPT Spellcasting being interrupted by an ability such as Kick or Pummel.
_DISPEL A buff or debuff being actively dispelled by a spell like Remove Curse or Dispel Magic.
_DISPEL_FAILED A failed attempt to dispel a buff or debuff, most likely due to immunity.
_AURA_STOLEN A buff being transferred from the destination unit to the source unit (i.e. mages' Spellsteal).
_EXTRA_ATTACKS Unit gains extra melee attacks due to an ability (like Sword Specialization or Windfury). These attacks usually happen in brief succession 100-200ms following this event.
_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 difficult to track whether a debuff was successfully 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. The last argument reflects the new number of doses on the unit.
_AURA_REMOVED_DOSE The opposite of _AURA_APPLIED_DOSE, reducing the amount of doses on a buff/debuff on the unit.
_AURA_REFRESH Resets the expiration timer of a buff/debuff on the unit.
_AURA_BROKEN A buff or debuff is being removed by melee damage
_AURA_BROKEN_SPELL A buff or debuff is being removed by spell damage (specified in extraSpell...)
_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 Immediately kills the destination unit (usually happens when warlocks sacrifice their minions).
_DURABILITY_DAMAGE
_DURABILITY_DAMAGE_ALL
_CREATE Creates an object (as opposed to an NPC who are 'summoned') like a hunter's trap or a mage's portal.
_SUMMON Summmons an NPC such as a pet or totem.

Special Events Edit

Event Description
UNIT_DIED destGUID and destName refer to the unit that died.
PARTY_KILL includes both sourceGUID and destGUID, but only reports for you (not in a party) or your other 4 party members (not raid members)

Around Wikia's network

Random Wiki