Download
(36 Kb)
Download
Updated: 03/11/24 12:39 PM
Compatibility:
Scions of Ithelia (9.3.0)
Updated:03/11/24 12:39 PM
Created:01/21/20 03:40 PM
Monthly downloads:95,112
Total downloads:3,794,648
Favorites:611
MD5:
9.3.0
LibCombat  Popular! (More than 5000 hits)
Version: 72
by: Solinur [More]
DEpendency

The following library is optional:

Description

Please note that the library is not complete yet, so some of the API could still change.

This library is providing the data collection for Combat Metrics.
However I tried to make it in such a way it can be used for other addons which may only need parts of the data.
Additionally it can provide human readable combat log lines, which are arranged so they should be translatable.
I tried to optimize the code to impact the performance as little as possible.

For useage instructions and feedback please have a look at the github repository: https://github.com/Solinur/LibCombat

Solinur (EU)
72
  • Fixed an error due to removed constants

71
  • Fixed tracking of Pulsar. (Thx to isiiimode for reporting)
  • Minor Fixes

70
  • Fixed tracking of several Arcanist abilities (incl. Fulminating Rune) when main resource is Stamina (Thx to Helix and brdalert for reporting this).

69
  • Reverted some code that was not ready for publishing

68
  • Added Support for weaving tracking of Arkanist Skill Lines
  • Fixed and improved tracking of resources.

67
  • Added support for Force of Nature (by popular request)

66
  • Fixed an issue where Z'en stacks could go higher than 5.
  • Fixed an issue where each stack of Relequen would add a Z'en stack.

65
  • Removed some unnecessary debug messages (Thx to DakJaniels for reporting this)
  • Added "damageOutTotal" entry to the table provided with the LIBCOMBAT_EVENT_FIGHTRECAP callback.

64
  • Added a fix for an issue that caused a Lua error on rare occasions. (Thx to ithildae for the report)

63
  • Added support for tracking stacks of Z'en and the spell and weapon damage buff of seething fury.
  • Slight changes for tracking of special buffs to include stacks (via Combat Events).

62
  • Removed obsolete code
  • API Bump to Firesong (100036)

61
  • Adjusted crit damage bonus from Backstabber to new value. (Thx to Complicative for the hint)

60
  • Fixed an issue where ability costs were not attributed properly. (Thx to Hypno for reporting)

59
  • Added compatibility with High Isle (API 101034).

58
  • Fixed issue with skill activation tracking of Meteor and its morphs. (thx to Skinny Cheeks for reporting the issue)

57
  • Fixed some issues with skill activation tracking. (thx to Skinny Cheeks and virtus753 for reporting the issue)

56
  • Added tracking of glacial presence passive and the (hidden) chilled debuff to allow tracking of the respective critical damage bonus.
  • Removed some legacy code

55
  • Added number of stacks to buff events in combat log
  • Removed Grim Focus tracking as it is no longer needed

54
  • Fix an issue where incoming critical hits were not properly shown in logs (Thx to shira for reporting this).

53
  • Added workaround for Grim Focus, to correctly calculate its contribution to the critical damage bonus stat. (thx to master_vanargand for pointing this out)
  • Added missing license file.

52
  • Another fix to finally make it work for all ESO supported languages (and hopefully all others too)

51
  • Fixed parsing of strings to determine the critical damage bonus by shadow mundus for russian language.

50
  • Reworked critical damage tracking to use the advanced stats info from ZOS (including adjustments like backstabber to keep it consistent with how it was shown up until now).

49
  • Updated the crit bonus value for Khajits
  • Added the crit bonus tracking for dual wield and 2H-Axes
  • Added detection of trial dummies
  • Updated tracking of penetration value from Alkosh, set it to 3000 instead
  • Remove a spammy debug message

48
  • Fixed an issue where Backstabber was included to the critical damage bonus even when not slotted

47
  • Fixed an issue where stat update events were too spammy.

46
  • Disabled advanced stats tracking, since it causes major performance issues. Gotta investigate before returning them.

45
  • Fixed an issue with resource tracking.

44
  • Added tracking for new CP system and advanced stats.
  • API Bump to Flames of Ambition (100034)

43
  • Fixed an issue where crystal frag casts were not properly reported

42
  • Fixed an issue that could lead to inconsistent DPS numbers for a fight.

41
  • Fixed an issue where damage to shields was not properly counted.
  • Fixed an issue where resource values where sometimes missing in death recaps.

40
  • Fixed Major Force value since it was still set to 15% (Thx to @Wrath of Innos)

39
  • Fixed an issue where heals would fail to be recorded.
  • Removed some debug spam

38
  • Changed the way damage versus absorbing shields is handled. The shield event will be shown as usual but sent with the Heal callbacks. The combat event for damage callback will now send the normal event with the proper action result and contain the shielded fraction in the overflow field.
  • Adjusted handling of shields in combat log string creation
  • Added workaround for Minor Magickasteal
  • Added some adjustments to skill timing after ZOS changed something again to fix LA weaving

37
  • Removed skill timing events firing when out of combat

36
  • Reworked skill timing to fix several issues. Now also the input registration and queue activation will trigger a callback
  • Added some code that might help in cases where combat end is not properly detected.

35
  • Fixed penetration values for TFS. While the penetration API function is not doing what it should either (its not tracking stacks higher than 1 at all), the wrong value was my fault. Should work fine now, I hope.

34
  • Reverted critical damage bonus calculation to the previous method (but with fixed values), since the ZOS tooltip hast turned out to be inaccurate.
  • Bug: Physical penetration values are not working correctly when TFS is involved. The underlying API function is bugged and applies the old increase of 860 pen for every stack higher or equal than two. I will fix this if possible, but it will require some work.

33
  • Corrected the calculation for critical damage values to mind the new values from shadow mundus. It will now extract the value from the same tooltip which you can see in the character window, instead of using a hard coded base value and the extracted bonus from divine pieces.
  • Some small fixes and changes for future use.

32
  • API Bump to Stonethorn (100032)
  • Added special tracking for the new Alkosh penetration debuff
  • Small fixes

31
  • Put back tracking of skill timings for Necro Siphon since it is back on GCD
  • Removed tracking of skill timing for Blood Frenzy and it's morphs, since they are off the GCD
  • Fixed an issue where a lua error would appear if an old version of libdebuglogger was installed

30
  • Fixed some issues with skill timing events. (Thx @ wraith1515 for reporting)

29
  • Fixed version number

28
  • Fixed a lua error that could happen when leaving Battleground or Cyrodil in some cases

27
  • Reworked event registration functions (e.g. lib:RegisterForCombatEvent). The behaviour and syntax now matches event registration of the ESO API (EVENT_MANAGER:RegisterForEvent). The old functions are still supported but may be removed in the future.
  • LibCombat:RegisterCallbackType(callbacktype, callback, name) --> LibCombat:RegisterForCombatEvent(name, callbacktype, callback), returns: isRegistered
  • LibCombat:UnregisterCallbackType(callbacktype, callback, name) --> LibCombat:UnregisterForCombatEvent(name, callbacktype), returns: isUnregistered
  • LibCombat:RegisterAllLogCallbacks(callback, name) --> LibCombat:RegisterForLogableCombatEvents(name, callback)
  • LibCombat now optionally depends on libdebuglogger. It is set up to handle all debug output and also saves them for later review. When it is not installed no debug output will be shown.
  • Small fixes and performance improvements.
  • Added new events for performance (ping, fps).
  • Added field skillDelay to LIBCOMBAT_EVENT_SKILL_TIMINGS events.
  • Changed boss assignment to not just check if unit is a boss on unit initialization but all the time.
  • Consolidated the preliminary event LIBCOMBAT_EVENT_RESURRECTION into LIBCOMBAT_EVENT_DEATH. This one is still work in progress.

26
  • Fixed an issue that prevented display names (@Names) to be added to unit info.

25
  • Updated ability IDs used in a couple of places, since ZOS seemed to have removed a few.

24
  • initial release as standalone library
  • fixed formatting issue in log for stats
  • fixed issue with crit damage values when buff is only refreshed but not applied completely new
Archived Files (48)
File Name
Version
Size
Uploader
Date
71
36kB
Solinur
12/14/23 02:07 PM
70
35kB
Solinur
06/21/23 04:06 PM
69
35kB
Solinur
06/04/23 04:15 PM
68
35kB
Solinur
06/04/23 04:07 PM
67
34kB
Solinur
05/15/23 04:18 PM
66
33kB
Solinur
03/15/23 05:09 PM
65
33kB
Solinur
03/11/23 03:45 AM
64
38kB
Solinur
12/28/22 01:28 PM
63
38kB
Solinur
12/19/22 03:10 PM
62
37kB
Solinur
11/09/22 04:55 PM
61
31kB
Solinur
06/12/22 03:16 PM
60
31kB
Solinur
06/10/22 02:04 PM
59
32kB
Solinur
06/03/22 03:12 PM
58
31kB
Solinur
02/12/22 06:38 AM
57
31kB
Solinur
01/18/22 05:37 PM
56
32kB
Solinur
12/28/21 10:41 AM
55
32kB
Solinur
11/05/21 01:30 PM
54
32kB
Solinur
07/05/21 04:06 PM
53
32kB
Solinur
06/15/21 03:58 PM
52
28kB
Solinur
06/11/21 05:07 PM
51
28kB
Solinur
06/11/21 04:48 PM
50
28kB
Solinur
06/09/21 01:50 PM
49
29kB
Solinur
04/17/21 04:01 PM
48
29kB
Solinur
03/15/21 05:56 PM
47
29kB
Solinur
03/08/21 04:28 PM
46
29kB
Solinur
03/08/21 02:37 PM
45
29kB
Solinur
03/06/21 07:43 AM
44
29kB
Solinur
03/04/21 05:52 PM
43
28kB
Solinur
01/30/21 07:04 AM
42
28kB
Solinur
12/25/20 02:52 PM
41
28kB
Solinur
12/13/20 03:13 PM
40
28kB
Solinur
12/04/20 03:38 PM
39
28kB
Solinur
12/04/20 02:07 PM
38
28kB
Solinur
12/02/20 05:19 PM
37
27kB
Solinur
10/20/20 03:45 PM
36
27kB
Solinur
10/13/20 04:18 PM
35
26kB
Solinur
09/20/20 11:35 AM
34
26kB
Solinur
09/20/20 04:41 AM
33
26kB
Solinur
09/17/20 11:55 AM
32
26kB
Solinur
08/24/20 02:11 AM
31
26kB
Solinur
06/09/20 03:15 PM
30
26kB
decay2
05/23/20 02:53 PM
29
26kB
decay2
05/19/20 04:50 PM
28
26kB
decay2
05/18/20 03:28 PM
27
26kB
decay2
05/17/20 02:25 PM
26
22kB
decay2
03/22/20 10:06 AM
25
22kB
decay2
02/25/20 04:11 PM
24
22kB
decay2
01/21/20 03:40 PM


Post A Reply Comment Options
Unread 05/17/20, 11:40 PM  
Fueledbyhops

Forum posts: 0
File comments: 13
Uploads: 0
New Error:

When porting from Cyrodiil back to Summerset I got this error I was in a group of one other person:
I don't know if its coming from Combat Metrics or Lib Combat. I have to disable the addon, to keep the Lua from constantly popping up on my screen.

user:/AddOns/LibCombat/LibCombat.lua:2631: attempt to index a nil value
stack traceback:
user:/AddOns/LibCombat/LibCombat.lua:2631: in function 'UpdateSkillEvents'
|caaaaaa<Locals> _ = 1, skill = [table:1]{1 = 18350}, id = 18350, finish = F, func = user:/AddOns/LibCombat/LibCombat.lua:2271 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:3050: in function 'RegisterEvents'
|caaaaaa<Locals> self = [table:2]{active = F, resetIds = T} </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2701: in function 'EventHandler:UpdateEvents'
|caaaaaa<Locals> self = [table:2], condition = T </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2513: in function 'UpdateEventRegistrations'
|caaaaaa<Locals> _ = "Skills", Eventgroup = [table:2] </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2530: in function 'UpdateResources'
|caaaaaa<Locals> name = "CombatMetrics", callbacktype = 0, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2077 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2557: in function 'lib:RegisterForCombatEvent'
|caaaaaa<Locals> self = [table:3]{version = 27, name = "LibCombat", debug = F, totalevents = 1724}, name = "CombatMetrics", callbacktype = 0, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2077 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2582: in function 'lib:RegisterCallbackType'
|caaaaaa<Locals> self = [table:3], callbacktype = 0, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2077, name = "CombatMetrics" </Locals>|r
user:/AddOns/CombatMetrics/CombatMetrics.lua:2232: in function 'UpdateEvents'
|caaaaaa<Locals> event = 131204, isGrouped = T, ava = F, IsLightMode = F, isOff = F, newstatus = 2 </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 05/18/20, 05:43 AM  
Vasilakis

Forum posts: 0
File comments: 2
Uploads: 0
Bug

Good evening. I got a similar error (as the previous poster) right after a finished battleground.

user:/AddOns/LibCombat/LibCombat.lua:2631: attempt to index a nil value
stack traceback:
user:/AddOns/LibCombat/LibCombat.lua:2631: in function 'UpdateSkillEvents'
|caaaaaa<Locals> _ = 1, skill = [table:1]{1 = 16037}, id = 16037, finish = F, func = user:/AddOns/LibCombat/LibCombat.lua:2271 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:3050: in function 'RegisterEvents'
|caaaaaa<Locals> self = [table:2]{active = F, resetIds = T} </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2701: in function 'EventHandler:UpdateEvents'
|caaaaaa<Locals> self = [table:2], condition = T </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2513: in function 'UpdateEventRegistrations'
|caaaaaa<Locals> _ = "Skills", Eventgroup = [table:2] </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2530: in function 'UpdateResources'
|caaaaaa<Locals> name = "CombatMetrics", callbacktype = 19, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2068 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2557: in function 'lib:RegisterForCombatEvent'
|caaaaaa<Locals> self = [table:3]{totalevents = 1642, name = "LibCombat", version = 27, debug = F}, name = "CombatMetrics", callbacktype = 19, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2068 </Locals>|r
user:/AddOns/LibCombat/LibCombat.lua:2582: in function 'lib:RegisterCallbackType'
|caaaaaa<Locals> self = [table:3], callbacktype = 19, callback = user:/AddOns/CombatMetrics/CombatMetrics.lua:2068, name = "CombatMetrics" </Locals>|r
user:/AddOns/CombatMetrics/CombatMetrics.lua:2228: in function 'UpdateEvents'
|caaaaaa<Locals> event = 589824, isGrouped = F, ava = F, IsLightMode = F, isOff = F, newstatus = 2, i = 19 </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 05/18/20, 10:06 AM  
thefsb

Forum posts: 0
File comments: 2
Uploads: 0
Same here

Same error here

user:/AddOns/LibCombat/LibCombat.lua:2631: attempt to index a nil value
stack traceback:
user:/AddOns/LibCombat/LibCombat.lua:2631: in function 'UpdateSkillEvents'
user:/AddOns/LibCombat/LibCombat.lua:3050: in function 'RegisterEvents'
user:/AddOns/LibCombat/LibCombat.lua:2701: in function 'EventHandler:UpdateEvents'
user:/AddOns/LibCombat/LibCombat.lua:2513: in function 'UpdateEventRegistrations'
user:/AddOns/LibCombat/LibCombat.lua:2530: in function 'UpdateResources'
Report comment to moderator  
Reply With Quote
Unread 05/19/20, 03:07 PM  
deth4uall

Forum posts: 0
File comments: 6
Uploads: 0
Version 28 is Named 27

The version 28 is being shown as 27, so combat metrics is not loading. The following is from `LibCombat.txt`

Code:
## Title: LibCombat
## APIVersion: 100030 100031
## Author: Solinur/decay
## AddOnVersion: 27
I manually changed it in file to 28 and Combat Metrics loaded just fine.
Last edited by deth4uall : 05/19/20 at 03:08 PM.
Report comment to moderator  
Reply With Quote
Unread 05/19/20, 04:52 PM  
Solinur
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 706
Uploads: 8
Re: Version 28 is Named 27

Originally Posted by deth4uall
The version 28 is being shown as 27, so combat metrics is not loading. The following is from `LibCombat.txt`

Code:
## Title: LibCombat
## APIVersion: 100030 100031
## Author: Solinur/decay
## AddOnVersion: 27
I manually changed it in file to 28 and Combat Metrics loaded just fine.
Yeah, sorry about that.
Report comment to moderator  
Reply With Quote
Unread 05/23/20, 08:50 AM  
wraith1515

Forum posts: 0
File comments: 7
Uploads: 0
Error since May 19

Getting error since last hot fix patch (May 19th?). I tried deleting combatlib, combat metrics, and hodor reflexes and reinstalling the latest version and previous versions of all 3 addons. Still getting this:

user:/AddOns/CombatMetrics/CombatMetrics.lua:68: function expected instead of nil
stack traceback:
user:/AddOns/CombatMetrics/CombatMetrics.lua:68: in function 'Print'
user:/AddOns/CombatMetrics/CombatMetricsUI.lua:186: in function 'checkSaveLimit'
user:/AddOns/CombatMetrics/CombatMetricsUI.lua:6604: in function 'CMX.InitializeUI'
user:/AddOns/CombatMetrics/CombatMetrics.lua:2587: in function 'Initialize'
user:/AddOns/CombatMetrics/CombatMetrics.lua:2628: in function '(anonymous)'
Report comment to moderator  
Reply With Quote
Unread 05/23/20, 09:25 AM  
Solinur
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 706
Uploads: 8
Re: Error since May 19

Originally Posted by wraith1515
Getting error since last hot fix patch (May 19th?). I tried deleting combatlib, combat metrics, and hodor reflexes and reinstalling the latest version and previous versions of all 3 addons. Still getting this:

user:/AddOns/CombatMetrics/CombatMetrics.lua:68: function expected instead of nil
stack traceback:
user:/AddOns/CombatMetrics/CombatMetrics.lua:68: in function 'Print'
user:/AddOns/CombatMetrics/CombatMetricsUI.lua:186: in function 'checkSaveLimit'
user:/AddOns/CombatMetrics/CombatMetricsUI.lua:6604: in function 'CMX.InitializeUI'
user:/AddOns/CombatMetrics/CombatMetrics.lua:2587: in function 'Initialize'
user:/AddOns/CombatMetrics/CombatMetrics.lua:2628: in function '(anonymous)'
My guess would be, you need to update libdebuglogger. For now you can comment out that line 68 in CombatMetrics.lua:68, shouldn't break anything but debug messages. I'll make sure to add something to prevent that error in the future.
Report comment to moderator  
Reply With Quote
Unread 05/23/20, 12:10 PM  
wraith1515

Forum posts: 0
File comments: 7
Uploads: 0
Re: Re: Error since May 19

Originally Posted by decay2
My guess would be, you need to update libdebuglogger. For now you can comment out that line 68 in CombatMetrics.lua:68, shouldn't break anything but debug messages. I'll make sure to add something to prevent that error in the future.
Thanks. I could fix it by disabling libdebuglogger. I prefer having combat metrics and hodor working than the ones I lost cuz of libdebugger dependency. Commenting the line and changing few other lines in that function just changed the error and moved the issue to other parts.
Last edited by wraith1515 : 05/23/20 at 12:28 PM.
Report comment to moderator  
Reply With Quote
Unread 05/26/20, 02:26 AM  
Solinur
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 706
Uploads: 8
Re: Re: Re: Error since May 19

Originally Posted by wraith1515
Originally Posted by decay2
My guess would be, you need to update libdebuglogger. For now you can comment out that line 68 in CombatMetrics.lua:68, shouldn't break anything but debug messages. I'll make sure to add something to prevent that error in the future.
Thanks. I could fix it by disabling libdebuglogger. I prefer having combat metrics and hodor working than the ones I lost cuz of libdebugger dependency. Commenting the line and changing few other lines in that function just changed the error and moved the issue to other parts.
Yeah the exact code is also in LibCombat. I'll have to fix it there too, sry
Report comment to moderator  
Reply With Quote
Unread 03/28/21, 01:00 PM  
wambo
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 456
Uploads: 3


I'm not sure whether thats intended or whether I forgot to disable some debugging option
Report comment to moderator  
Reply With Quote
Unread 03/28/21, 04:20 PM  
Solinur
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 706
Uploads: 8
Originally Posted by wambo


I'm not sure whether thats intended or whether I forgot to disable some debugging option
No, I guess I forgot to set the debugging level of this back to verbose
Report comment to moderator  
Reply With Quote
Unread 06/10/21, 11:48 AM  
singer39

Forum posts: 0
File comments: 6
Uploads: 0
With last update i got spam attack Heeelp mee
Last edited by singer39 : 06/10/21 at 11:48 AM.
Report comment to moderator  
Reply With Quote
Unread 06/11/21, 02:12 AM  
Solinur
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 706
Uploads: 8
Originally Posted by singer39
With last update i got spam attack Heeelp mee
Sorry, which language are you playing?
Last edited by Solinur : 06/11/21 at 02:12 AM.
Report comment to moderator  
Reply With Quote
Unread 06/11/21, 05:31 AM  
singer39

Forum posts: 0
File comments: 6
Uploads: 0
Originally Posted by Solinur
Sorry, which language are you playing?
It's russian language
Report comment to moderator  
Reply With Quote
Unread 06/11/21, 07:20 AM  
CHESTE_R

Forum posts: 0
File comments: 1
Uploads: 0
Exclamation spamattack



I faced the error spam attack in the same way. Using the mundus shadow, spam occurs, if you change the stone to a thief, then everything is fine. Russian language
Last edited by CHESTE_R : 06/11/21 at 07:35 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: