m (clean up) Â |
(→‎Examples: Update argument positions in descriptions)  |
||
Line 1: | Line 1: | ||
+ | :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. |
||
− | <onlyinclude>{{Infobox ability |
||
− | |name=Arcane Brilliance |
||
− | |image=spell_holy_magicalsentry |
||
− | |description=Infuses all party and raid members with brilliance, increasing their maximum mana by X and spell power by 6% for 1 hour. If target is in your party or raid, all party and raid members will be affected. |
||
− | |class=[[Mage]] |
||
− | |type=Utility |
||
− | |school=[[Arcane]] |
||
− | |cost=31% of base mana |
||
− | |range=40 yds. |
||
− | |cast_time=Instant |
||
− | |cooldown=None |
||
− | |improvement=None |
||
− | |buff_type=magic |
||
− | |buff_desc=Infuses all party and raid members with brilliance, increasing their maximum mana by X and their spell power by 6% for 1 hour. If target is in your party or raid, all party and raid members will be affected. |
||
− | |buff_dur=1 hour |
||
− | }}</onlyinclude> |
||
+ | :Note: COMBAT_LOG_EVENT and COMBAT_LOG_EVENT_UNFILTERED have identical parameters. All information provided here applies to both events. |
||
− | '''Arcane Brilliance''' is a very long-lasting [[mana]] and [[spell power]] [[buff]] that affects an entire party or raid at once. |
||
+ | |||
− | == Cataclysm table == |
||
+ | ===Base Parameters === |
||
− | {| class="darktable zebra" style="text-align: center;" |
||
+ | {| class="darktable" |
||
+ | !1st Param!!2nd Param!!3rd Param!!4th Param!!5th Param!!6th Param!!7th Param!!8th Param!!9th Param!!10th Param!!11th Param |
||
|- |
|- |
||
+ | |timestamp||event||hideCaster||sourceGUID||sourceName||[[unitFlag|sourceFlags]]||[[raidFlag|sourceRaidFlags]]||destGUID||destName||[[unitFlag|destFlags]]||[[raidFlag|destRaidFlags]] |
||
− | ! Level !! +Mana |
||
+ | |} |
||
+ | |||
+ | 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. |
||
+ | |||
+ | 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 raid flags can be found on the [[raidFlag|Raid Flag]] page. |
||
+ | |||
+ | {{Patch 4.1.0|note=The 4.1 patch added a new parameter, hideCaster|comment=This flag moved all other parameters beginning with sourceGUID one place to the right. Addons that haven't been updated for 4.1 may not function correctly as a result. Further, 4.1 removed Pet Happiness from the PowerType list.}} |
||
+ | |||
+ | {{Patch 4.2.0|note=The 4.2 patch added two new parameters, [[raidFlag|sourceRaidFlags]] and [[raidFlag|destRaidFlags]]|comment=These two parameters were added at the end of the source and destination "subsections" moving all destination parameters one place to the right, and all other parameters two places to the right. Addons that haven't been updated for 4.2 may not function correctly as a result.}} |
||
+ | |||
+ | ==Events== |
||
+ | 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=== |
||
+ | The Parameters listed with prefixes are numbered in the order they come after the base 9 parameters. |
||
+ | {| class="darktable" |
||
+ | !Prefix!!1st Parameter (12th)!!2nd Paramater (13th)!!3rd Parameter (14th) |
||
|- |
|- |
||
+ | |SWING |
||
− | | 58 || 600 |
||
+ | |-class="alt" |
||
+ | |RANGE||spellId||spellName||spellSchool |
||
+ | |- |
||
+ | |SPELL||spellId||spellName||spellSchool |
||
+ | |-class="alt" |
||
+ | |SPELL_PERIODIC||spellId||spellName||spellSchool |
||
+ | |- |
||
+ | |SPELL_BUILDING||spellId||spellName||spellSchool |
||
+ | |-class="alt" |
||
+ | |ENVIRONMENTAL||environmentalType |
||
|} |
|} |
||
− | == |
+ | ===Suffixes=== |
+ | The Parameters listed with suffixes are numbered in the order they come after the prefix parameters. Note that for the SWING prefix, _DAMAGE starts at the 12th parameter. For ENVIRONMENTAL, it starts at the 13th. |
||
− | {{outdated}} |
||
+ | {| class="darktable" |
||
− | There is a minimum level for players to receive this buff. Rank 1 will only affect party members level 51 or above. |
||
+ | !Suffix!!1st Param (15th)!!2nd Param (16th)!!3rd Param (17th)!!4th Param (18th)!!5th Param (19th)!!6th Param (20th)!!7th Param (21st)!!8th Param (22nd)!!9th Param (23rd) |
||
+ | |- |
||
+ | |_DAMAGE||amount||overkill||school||resisted||blocked||absorbed||critical (1 or nil)||glancing (1 or nil)||crushing (1 or nil) |
||
+ | |-class="alt" |
||
+ | |_MISSED||missType||amountMissed |
||
+ | |- |
||
+ | |_HEAL||amount||overhealing||absorbed||critical |
||
+ | |-class="alt" |
||
+ | |_ENERGIZE||amount||powerType |
||
+ | |- |
||
+ | |_DRAIN||amount||powerType||extraAmount |
||
+ | |-class="alt" |
||
+ | |_LEECH||amount||powerType||extraAmount |
||
+ | |- |
||
+ | |_INTERRUPT||extraSpellID||extraSpellName||extraSchool |
||
+ | |-class="alt" |
||
+ | |_DISPEL||extraSpellID||extraSpellName||extraSchool||auraType |
||
+ | |- |
||
+ | |_DISPEL_FAILED||extraSpellID||extraSpellName||extraSchool |
||
+ | |-class="alt" |
||
+ | |_STOLEN||extraSpellID||extraSpellName||extraSchool||auraType |
||
+ | |- |
||
+ | |_EXTRA_ATTACKS||amount |
||
+ | |-class="alt" |
||
+ | |_AURA_APPLIED||auraType |
||
+ | |- |
||
+ | |_AURA_REMOVED||auraType |
||
+ | |-class="alt" |
||
+ | |_AURA_APPLIED_DOSE||auraType||amount |
||
+ | |- |
||
+ | |_AURA_REMOVED_DOSE||auraType||amount |
||
+ | |-class="alt" |
||
+ | |_AURA_REFRESH||auraType |
||
+ | |- |
||
+ | |_AURA_BROKEN||auraType |
||
+ | |-class="alt" |
||
+ | |_AURA_BROKEN_SPELL||extraSpellID||extraSpellName||extraSchool||auraType |
||
+ | |- |
||
+ | |_CAST_START |
||
+ | |-class="alt" |
||
+ | |_CAST_SUCCESS |
||
+ | |- |
||
+ | |_CAST_FAILED||failedType |
||
+ | |-class="alt" |
||
+ | |_INSTAKILL |
||
+ | |- |
||
+ | |_DURABILITY_DAMAGE |
||
+ | |-class="alt" |
||
+ | |_DURABILITY_DAMAGE_ALL |
||
+ | |- |
||
+ | |_CREATE |
||
+ | |-class="alt" |
||
+ | |_SUMMON |
||
+ | |- |
||
+ | |_RESURRECT |
||
+ | |} |
||
+ | ===Special Events=== |
||
− | The Mana cost is percentage based on your base mana. As such, it will increase each level. |
||
+ | {| class="darktable" |
||
+ | !Event!!Prefix to use!!Suffix to use |
||
+ | |- |
||
+ | |DAMAGE_SHIELD||SPELL||_DAMAGE |
||
+ | |-class="alt" |
||
+ | |DAMAGE_SPLIT||SPELL||_DAMAGE |
||
+ | |- |
||
+ | |DAMAGE_SHIELD_MISSED||SPELL||_MISSED |
||
+ | |} |
||
+ | {| class="darktable" |
||
+ | !Event!!1st Param!!2nd Param!!3rd Param |
||
+ | |- |
||
+ | |ENCHANT_APPLIED †||spellName||itemID||itemName |
||
+ | |-class="alt" |
||
+ | |ENCHANT_REMOVED †||spellName||itemID||itemName |
||
+ | |- |
||
+ | |PARTY_KILL |
||
+ | |-class="alt" |
||
+ | |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 wea<includeonly></includeonly>pon 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. |
||
− | ==Tips and tactics== |
||
− | Mana buffs are only useful to players that use mana (all but death knights, hunters, rogues and warriors), and the spell power buff is particularly useful for healing and spell DPS specs. Keeping Arcane Brilliance on all the party's mana users is recommended. |
||
+ | 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. |
||
− | == Glyphs == |
||
− | {{:Glyph of Arcane Brilliance}}{{clrl}} |
||
+ | ==Parameter Values== |
||
− | == Patch changes == |
||
+ | ===Spell School=== |
||
− | * {{Patch 4.0.1|comment=Mana cost reduced to 31% of base mana, reagent cost removed. Now increases spell power by 6% and maximum mana by an amount based on level instead of increasing intellect.}} |
||
+ | {| class="darktable" |
||
− | * {{Patch 3.0.2|comment=Arcane Brilliance Rank 2 was added to mage trainers, making the Tome obsolete. Rank 3 is also trainable, though you need ''[[World of Warcraft: Wrath of the Lich King]]'' to reach the required level.}} |
||
+ | !spellSchool<br />(binary / bitmask)!!spellSchool<br />(hex)!!spellSchool<br />(decimal)!!<font size="3">Type!!</font>Color Codes / School Combination |
||
− | * {{Patch 2.3.0|note={{ability|Arcane Intellect}} and Arcane Brilliance mana costs reduced.}} |
||
+ | |- |
||
− | * {{Patch 2.1.0|note= |
||
+ | |<center>0000000<font color="#FFFF00">'''1'''</font></center>||0x1|||1||Physical||<font color="#FFFF00"> #FFFF00 (255, 255, 0) (1.00, 1.00, 0.00)</font> |
||
− | ** Rank 1, is now available from trainers. |
||
+ | |-class="alt" |
||
− | ** Rank 2 of this ability now has the same range as rank 1.}} |
||
+ | |<center>000000<font color="#FFE680">'''1'''</font>0</center>||0x2||2||Holy||<font color="#FFE680"> #FFE680 (255, 230, 128) (1.00, 0.90, 0.50)</font> |
||
− | * {{Patch 1.10.0|note=Range and area of effect increased.}} |
||
+ | |- |
||
− | * {{Patch 1.4.0|note=Added.}} |
||
+ | |<center>00000<font color="#FF8000">'''1'''</font>00</center>||0x4||4||Fire||<font color="#FF8000"> #FF8000 (255, 128, 0) (1.00, 0.50, 0.00)</font> |
||
+ | |-class="alt" |
||
+ | |<center>0000<font color="#4DFF4D">'''1'''</font>000</center>||0x8||8||Nature||<font color="#4DFF4D"> #4DFF4D ( 77, 255, 77) (0.30, 1.00, 0.30)</font> |
||
+ | |- |
||
+ | |<center>000<font color="#80FFFF">'''1'''</font>0000</center>||0x10||16||Frost||<font color="#80FFFF"> #80FFFF (128, 255, 255) (0.50, 1.00, 1.00)</font> |
||
+ | |-class="alt" |
||
+ | |<center>00<font color="#8080FF">'''1'''</font>00000</center>||0x20||32||Shadow||<font color="#8080FF"> #8080FF (128, 128, 255) (0.50, 0.50, 1.00)</font> |
||
+ | |- |
||
+ | |<center>0<font color="#FF80FF">'''1'''</font>000000</center>||0x40||64||Arcane||<font color="#FF80FF"> #FF80FF (255, 128, 255) (1.00, 0.50, 1.00)</font> |
||
+ | |- |
||
+ | ! colspan="5" | <center>'''Double schools'''</center> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<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> |
||
+ | |-class="alt" |
||
+ | |<center>01100000</center>||0x60||96||Spellshadow||<font color="#FF80FF">Arcane</font> + <font color="#8080FF">Shadow</font> |
||
+ | |- |
||
+ | ! colspan="5" | <center>'''Triple and multi schools'''</center> |
||
+ | |- |
||
+ | |<center>00011100</center>||0x1C||28||Elemental||<font color="#80FFFF">Frost</font> + <font color="#4DFF4D">Nature</font> + <font color="#FF8000">Fire</font> |
||
+ | |-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>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" |
||
+ | |<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> |
||
+ | |} |
||
+ | * Source: [http://github.com/tekkub/wow-ui-source/blob/live/AddOns/Blizzard_CombatLog/Blizzard_CombatLog.lua#L45-L54 Coloring], [http://github.com/tekkub/wow-ui-source/blob/live/AddOns/Blizzard_CombatLog/Blizzard_CombatLog.lua#L1913-L1950 Masks & Strings] |
||
− | == |
+ | ===Power Type=== |
+ | {| class="darktable" |
||
− | * {{ability|Dalaran Brilliance}} |
||
+ | !powerType!!Type |
||
+ | |- |
||
+ | | -2||health |
||
+ | |-class="alt" |
||
+ | |0||mana |
||
+ | |- |
||
+ | |1||rage |
||
+ | |-class="alt" |
||
+ | |2||focus |
||
+ | |- |
||
+ | |3||energy |
||
+ | |-class="alt" |
||
+ | |4||pet happiness |
||
+ | |- |
||
+ | |5||runes |
||
+ | |-class="alt" |
||
+ | |6||runic power |
||
+ | |} |
||
+ | Note that 4.1 removed pet happiness (Power Type 4). |
||
− | == External links == |
||
+ | ===Miss type=== |
||
− | <!-- Read http://www.wowwiki.com/WoWWiki:External_links before posting your links here. |
||
+ | *"ABSORB" |
||
− | Links that do not conform to the rules will be DELETED. |
||
+ | *"BLOCK" |
||
− | Repeat violations may result in a BAN. |
||
+ | *"DEFLECT" |
||
− | Have a nice day. :) --> |
||
+ | *"DODGE" |
||
− | {{elinks-spell|23028}} |
||
+ | *"EVADE" |
||
+ | *"IMMUNE" |
||
+ | *"MISS" |
||
+ | *"PARRY" |
||
+ | *"REFLECT" |
||
+ | *"RESIST" |
||
+ | ===Aura Type=== |
||
+ | *"BUFF" |
||
+ | *"DEBUFF" |
||
+ | ===Environmental Type=== |
||
− | {{classfooter|Mage}} |
||
+ | *"DROWNING" |
||
− | [[Category:Mage abilities]] |
||
+ | *"FALLING" |
||
− | [[Category:Arcane spells]] |
||
+ | *"FATIGUE" |
||
− | [[Category:Magic buffs]] |
||
+ | *"FIRE" |
||
+ | *"LAVA" |
||
+ | *"SLIME" |
||
+ | *More possible but currently unconfirmed |
||
+ | |||
+ | ===Failed Type=== |
||
+ | *"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 == |
||
+ | === Introduction === |
||
+ | I wanted to post some info about what I have learned about using this event. I think the description of how the work arguments is confusing. Hopefully this provides some clarity. |
||
+ | |||
+ | There are always at least 11 arguments. (arg1 through arg11) Depending on the Prefix there will be 0, 1, or 3 more arguments. These will be numbered starting with 12 and going up to 14 if necessary. Depending on the Suffix there will be 0-8 more arguments. These will be numbered starting from the last Prefix argument (IE 12, 13, or 15). |
||
+ | |||
+ | === Sample Arguments Example === |
||
+ | Example: The following 2 examples show the parameters used for a SPELL_MISS event and a SWING_DAMAGE events |
||
+ | |||
+ | {| class="darktable" |
||
+ | |- |
||
+ | ! Event Type |
||
+ | ! Arg1 |
||
+ | ! Arg2 |
||
+ | ! Arg3 |
||
+ | ! Arg4 |
||
+ | ! Arg5 |
||
+ | ! Arg6 |
||
+ | ! Arg7 |
||
+ | ! Arg8 |
||
+ | ! Arg9 |
||
+ | ! Arg10 |
||
+ | ! Arg11 |
||
+ | ! Arg12 |
||
+ | ! Arg13 |
||
+ | ! Arg14 |
||
+ | ! Arg15 |
||
+ | ! Arg16 |
||
+ | ! Arg17 |
||
+ | ! Arg18 |
||
+ | ! Arg19 |
||
+ | ! Arg20 |
||
+ | |- |
||
+ | | SPELL_MISS |
||
+ | | timestamp |
||
+ | | event |
||
+ | | hideCaster |
||
+ | | sourceGUID |
||
+ | | sourceName |
||
+ | | sourceFlags |
||
+ | | sourceRaidFlags |
||
+ | | destGUID |
||
+ | | destName |
||
+ | | destFlags |
||
+ | | destRaidFlags |
||
+ | | spellId |
||
+ | | spellName |
||
+ | | spellSchool |
||
+ | | missType |
||
+ | | amountMissed |
||
+ | |- |
||
+ | | SWING_DAMAGE |
||
+ | | timestamp |
||
+ | | event |
||
+ | | hideCaster |
||
+ | | sourceGUID |
||
+ | | sourceName |
||
+ | | sourceFlags |
||
+ | | sourceRaidFlags |
||
+ | | destGUID |
||
+ | | destName |
||
+ | | destFlags |
||
+ | | destRaidFlags |
||
+ | | amount |
||
+ | | overkill |
||
+ | | school |
||
+ | | resisted |
||
+ | | blocked |
||
+ | | absorbed |
||
+ | | critical |
||
+ | | glancing |
||
+ | | crushing |
||
+ | |} |
||
+ | |||
+ | === Simple Function Example === |
||
+ | Example the following function would display a message whenever a Mind Blast crits. |
||
+ | |||
+ | Foo.lua |
||
+ | local frame = CreateFrame("FRAME"); |
||
+ | frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); |
||
+ | frame:SetScript("OnEvent", function(self, event, ...) |
||
+ | |||
+ | local timestamp, type, hideCaster, |
||
+ | sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags = ... |
||
+ | |||
+ | --[[ |
||
+ | * Note, for this example, you could just use 'local type = select(2, ...)'. The others are included |
||
+ | so that it's clear what's available. |
||
+ | * You can also lump all of the arguments into one block (or one really long line): |
||
+ | |||
+ | local timestamp, type, hideCaster, -- arg1 to arg3 |
||
+ | sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, -- arg4 to arg11 |
||
+ | spellId, spellName, spellSchool, -- arg12 to arg14 |
||
+ | amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ... -- arg15 to arg23 |
||
+ | ]] |
||
+ | |||
+ | if (event == "COMBAT_LOG_EVENT_UNFILTERED") then |
||
+ | if (type == "SPELL_DAMAGE") then |
||
+ | |||
+ | local spellId, spellName, spellSchool, amount, |
||
+ | overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(10, ...) |
||
+ | |||
+ | if (spellName == "Mind Blast" and critical == 1) then -- "== 1" for clarity only. Not needed. |
||
+ | print("Mind Blast Just Critted!") |
||
+ | end |
||
+ | end |
||
+ | end |
||
+ | end); |
||
+ | |||
+ | == Event Descriptions == |
||
+ | Summary Of what I have learned about when events fire and when they don't: (Preliminary) |
||
+ | |||
+ | === Prefixes === |
||
+ | {| class="darktable" |
||
+ | |- |
||
+ | ! 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 === |
||
+ | {| class="darktable" |
||
+ | |- |
||
+ | ! Event Prefix |
||
+ | ! 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. The source is the caster of the aura that was dispelled, and the destination is the target which was dispelled (needs verifying). |
||
+ | |- |
||
+ | | _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 Sepcialization 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. The souce is the caster of the aura which faded, and the destination is the target from which the aura faded (needs verifying). |
||
+ | |- |
||
+ | | _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. The source is the name of the caster of the aura that was broken, and the destination is the target which the aura broke off of (needs verifying). |
||
+ | |- |
||
+ | | _AURA_BROKEN_SPELL |
||
+ | | A buff or debuff is being removed by spell damage (specified in ''extraSpell...''). Source and destination is the same as the above. |
||
+ | |- |
||
+ | | _CAST_START |
||
+ | | Triggered when a spell begins casting. Instant Cast and channeled spells don't invoke this event. They trigger _CAST_SUCCESS, _FAILED 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. |
||
+ | |- |
||
+ | | _DISSIPATES |
||
+ | | Fires when Gas Clouds are being extracted with [http://www.wowhead.com/item=23821 Zapthrottle Mote Extractor] |
||
+ | |} |
||
+ | |||
+ | === Special Events === |
||
+ | {| class="darktable" |
||
+ | |- |
||
+ | ! 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) |
||
+ | |} |
||
+ | [[Category:API events]] |
Revision as of 18:18, 29 June 2011
- 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
1st Param | 2nd Param | 3rd Param | 4th Param | 5th Param | 6th Param | 7th Param | 8th Param | 9th Param | 10th Param | 11th Param |
---|---|---|---|---|---|---|---|---|---|---|
timestamp | event | hideCaster | sourceGUID | sourceName | sourceFlags | sourceRaidFlags | destGUID | destName | destFlags | destRaidFlags |
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.
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 raid flags can be found on the Raid Flag page.
Patch 4.1.0 (2011-04-26): The 4.1 patch added a new parameter, hideCaster
- This flag moved all other parameters beginning with sourceGUID one place to the right. Addons that haven't been updated for 4.1 may not function correctly as a result. Further, 4.1 removed Pet Happiness from the PowerType list.
- This flag moved all other parameters beginning with sourceGUID one place to the right. Addons that haven't been updated for 4.1 may not function correctly as a result. Further, 4.1 removed Pet Happiness from the PowerType list.
Patch 4.2.0 (2011-06-28): The 4.2 patch added two new parameters, sourceRaidFlags and destRaidFlags
- These two parameters were added at the end of the source and destination "subsections" moving all destination parameters one place to the right, and all other parameters two places to the right. Addons that haven't been updated for 4.2 may not function correctly as a result.
- These two parameters were added at the end of the source and destination "subsections" moving all destination parameters one place to the right, and all other parameters two places to the right. Addons that haven't been updated for 4.2 may not function correctly as a result.
Events
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
The Parameters listed with prefixes are numbered in the order they come after the base 9 parameters.
Prefix | 1st Parameter (12th) | 2nd Paramater (13th) | 3rd Parameter (14th) |
---|---|---|---|
SWING | |||
RANGE | spellId | spellName | spellSchool |
SPELL | spellId | spellName | spellSchool |
SPELL_PERIODIC | spellId | spellName | spellSchool |
SPELL_BUILDING | spellId | spellName | spellSchool |
ENVIRONMENTAL | environmentalType |
Suffixes
The Parameters listed with suffixes are numbered in the order they come after the prefix parameters. Note that for the SWING prefix, _DAMAGE starts at the 12th parameter. For ENVIRONMENTAL, it starts at the 13th.
Suffix | 1st Param (15th) | 2nd Param (16th) | 3rd Param (17th) | 4th Param (18th) | 5th Param (19th) | 6th Param (20th) | 7th Param (21st) | 8th Param (22nd) | 9th Param (23rd) |
---|---|---|---|---|---|---|---|---|---|
_DAMAGE | amount | overkill | school | resisted | blocked | absorbed | critical (1 or nil) | glancing (1 or nil) | crushing (1 or nil) |
_MISSED | missType | amountMissed | |||||||
_HEAL | amount | overhealing | absorbed | critical | |||||
_ENERGIZE | amount | powerType | |||||||
_DRAIN | amount | powerType | extraAmount | ||||||
_LEECH | amount | powerType | extraAmount | ||||||
_INTERRUPT | extraSpellID | extraSpellName | extraSchool | ||||||
_DISPEL | extraSpellID | extraSpellName | extraSchool | auraType | |||||
_DISPEL_FAILED | extraSpellID | extraSpellName | extraSchool | ||||||
_STOLEN | extraSpellID | extraSpellName | extraSchool | auraType | |||||
_EXTRA_ATTACKS | amount | ||||||||
_AURA_APPLIED | auraType | ||||||||
_AURA_REMOVED | auraType | ||||||||
_AURA_APPLIED_DOSE | auraType | amount | |||||||
_AURA_REMOVED_DOSE | auraType | amount | |||||||
_AURA_REFRESH | auraType | ||||||||
_AURA_BROKEN | auraType | ||||||||
_AURA_BROKEN_SPELL | extraSpellID | extraSpellName | extraSchool | auraType | |||||
_CAST_START | |||||||||
_CAST_SUCCESS | |||||||||
_CAST_FAILED | failedType | ||||||||
_INSTAKILL | |||||||||
_DURABILITY_DAMAGE | |||||||||
_DURABILITY_DAMAGE_ALL | |||||||||
_CREATE | |||||||||
_SUMMON | |||||||||
_RESURRECT |
Special Events
Event | Prefix to use | Suffix to use |
---|---|---|
DAMAGE_SHIELD | SPELL | _DAMAGE |
DAMAGE_SPLIT | SPELL | _DAMAGE |
DAMAGE_SHIELD_MISSED | SPELL | _MISSED |
Event | 1st Param | 2nd Param | 3rd Param |
---|---|---|---|
ENCHANT_APPLIED †| spellName | itemID | itemName |
ENCHANT_REMOVED †| spellName | itemID | itemName |
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.
Parameter Values
Spell School
spellSchool (binary / bitmask) |
spellSchool (hex) |
spellSchool (decimal) |
Type | Color Codes / School Combination |
---|---|---|---|---|
0x1 | 1 | Physical | #FFFF00 (255, 255, 0) (1.00, 1.00, 0.00) | |
0x2 | 2 | Holy | #FFE680 (255, 230, 128) (1.00, 0.90, 0.50) | |
0x4 | 4 | Fire | #FF8000 (255, 128, 0) (1.00, 0.50, 0.00) | |
0x8 | 8 | Nature | #4DFF4D ( 77, 255, 77) (0.30, 1.00, 0.30) | |
0x10 | 16 | Frost | #80FFFF (128, 255, 255) (0.50, 1.00, 1.00) | |
0x20 | 32 | Shadow | #8080FF (128, 128, 255) (0.50, 0.50, 1.00) | |
0x40 | 64 | Arcane | #FF80FF (255, 128, 255) (1.00, 0.50, 1.00) | |
0x3 | 3 | Holystrike | Holy + Physical | |
0x5 | 5 | Flamestrike | Fire + Physical | |
0x6 | 6 | Holyfire | Fire + Holy | |
0x9 | 9 | Stormstrike | Nature + Physical | |
0xA | 10 | Holystorm | Nature + Holy | |
0xC | 12 | Firestorm | Nature + Fire | |
0x11 | 17 | Froststrike | Frost + Physical | |
0x12 | 18 | Holyfrost | Frost + Holy | |
0x14 | 20 | Frostfire | Frost + Fire | |
0x18 | 24 | Froststorm | Frost + Nature | |
0x21 | 33 | Shadowstrike | Shadow + Physical | |
0x22 | 34 | Shadowlight (Twilight) | Shadow + Holy | |
0x24 | 36 | Shadowflame | Shadow + Fire | |
0x28 | 40 | Shadowstorm (Plague) | Shadow + Nature | |
0x30 | 48 | Shadowfrost | Shadow + Frost | |
0x41 | 65 | Spellstrike | Arcane + Physical | |
0x42 | 66 | Divine | Arcane + Holy | |
0x44 | 68 | Spellfire | Arcane + Fire | |
0x48 | 72 | Spellstorm | Arcane + Nature | |
0x50 | 80 | Spellfrost | Arcane + Frost | |
0x60 | 96 | Spellshadow | Arcane + Shadow | |
0x1C | 28 | Elemental | Frost + Nature + Fire | |
0x7C | 124 | Chromatic | Arcane + Shadow + Frost + Nature + Fire | |
0x7E | 126 | Magic | Arcane + Shadow + Frost + Nature + Fire + Holy | |
0x7F | 127 | Chaos | Arcane + Shadow + Frost + Nature + Fire + Holy + Physical |
- Source: Coloring, Masks & Strings
Power Type
powerType | Type |
---|---|
-2 | health |
0 | mana |
1 | rage |
2 | focus |
3 | energy |
4 | pet happiness |
5 | runes |
6 | runic power |
Note that 4.1 removed pet happiness (Power Type 4).
Miss type
- "ABSORB"
- "BLOCK"
- "DEFLECT"
- "DODGE"
- "EVADE"
- "IMMUNE"
- "MISS"
- "PARRY"
- "REFLECT"
- "RESIST"
Aura Type
- "BUFF"
- "DEBUFF"
Environmental Type
- "DROWNING"
- "FALLING"
- "FATIGUE"
- "FIRE"
- "LAVA"
- "SLIME"
- More possible but currently unconfirmed
Failed Type
- "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
Introduction
I wanted to post some info about what I have learned about using this event. I think the description of how the work arguments is confusing. Hopefully this provides some clarity.
There are always at least 11 arguments. (arg1 through arg11) Depending on the Prefix there will be 0, 1, or 3 more arguments. These will be numbered starting with 12 and going up to 14 if necessary. Depending on the Suffix there will be 0-8 more arguments. These will be numbered starting from the last Prefix argument (IE 12, 13, or 15).
Sample Arguments Example
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 | Arg18 | Arg19 | Arg20 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPELL_MISS | timestamp | event | hideCaster | sourceGUID | sourceName | sourceFlags | sourceRaidFlags | destGUID | destName | destFlags | destRaidFlags | spellId | spellName | spellSchool | missType | amountMissed | ||||
SWING_DAMAGE | timestamp | event | hideCaster | sourceGUID | sourceName | sourceFlags | sourceRaidFlags | destGUID | destName | destFlags | destRaidFlags | amount | overkill | school | resisted | blocked | absorbed | critical | glancing | crushing |
Simple Function Example
Example the following function would display a message whenever a Mind Blast crits.
Foo.lua
local frame = CreateFrame("FRAME"); frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); frame:SetScript("OnEvent", function(self, event, ...) local timestamp, type, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags = ... --[[ * Note, for this example, you could just use 'local type = select(2, ...)'. The others are included so that it's clear what's available. * You can also lump all of the arguments into one block (or one really long line): local timestamp, type, hideCaster, -- arg1 to arg3 sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, -- arg4 to arg11 spellId, spellName, spellSchool, -- arg12 to arg14 amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ... -- arg15 to arg23 ]] if (event == "COMBAT_LOG_EVENT_UNFILTERED") then if (type == "SPELL_DAMAGE") then local spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(10, ...) if (spellName == "Mind Blast" and critical == 1) then -- "== 1" for clarity only. Not needed. print("Mind Blast Just Critted!") end end end end);
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, 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
Event Prefix | 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. The source is the caster of the aura that was dispelled, and the destination is the target which was dispelled (needs verifying). |
_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 Sepcialization 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. The souce is the caster of the aura which faded, and the destination is the target from which the aura faded (needs verifying). |
_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. The source is the name of the caster of the aura that was broken, and the destination is the target which the aura broke off of (needs verifying). |
_AURA_BROKEN_SPELL | A buff or debuff is being removed by spell damage (specified in extraSpell...). Source and destination is the same as the above. |
_CAST_START | Triggered when a spell begins casting. Instant Cast and channeled spells don't invoke this event. They trigger _CAST_SUCCESS, _FAILED 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. |
_DISSIPATES | Fires when Gas Clouds are being extracted with Zapthrottle Mote Extractor |
Special Events
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) |