Info for PTS users: There might be issues when trying to load or save fights.
Dependencies
This addon requires the following libraries to be installed:
The following library is optional:
Additionally the package contains a sub module called
CombatMetricsFightData.
This needs to be enabled in the ingame addon manager.
It will take care of saving combat data to keep it separately from your settings.
Description
I made Combat Metrics basically for two reasons. First to have a tool to analyse my fights in a useful and comfortable manner. The second was to provide more insightful and meaningful damage parses.
Combat Metrics is an addon to track your fights. You can use it to measure your DPS, you can analyse which skills make your DPS or who caused your incoming damage. You can also analyse the heals you received or cast. You can check which buffs and debuffs were running, how much magicka or stamina per second you used and regenerated. You can Analyse the Combat log, filter it to analyse specific issues.
Combat Metrics basically just records your fight during combat and analyses it when you attempt to view the statistics. That way I hope to keep the impact on the fps as low as possible. Since it saves the data of the whole fight, you might hit the lua memory limit especially when a lot of heavy fights are happening in a row (I suspect Cyrodil is a candidate). If you want to keep the impact on memory small you can select to only keep a few fights in storage. For minimal performance impact there is a light mode that only uses a minimum of resources to show you DPS and HPS of your current fight.
The main report window can be toggled by assigning a key to it or by typing
/cmx into the chatbox.
You can also assign keys to post the damage per second (DPS) or healing per second (HPS) of your most recent fight to the chat. Alternatively you can use
/cmx dps,
/cmx sdps,
/cmx mdps,
/cmx alldps for automatic, single-target, multi-target or single + multitarget DPS respectively. You can use
/cmx hps to post you healing per second.
I want to thank Atropos for letting me use his functions to build the user interface. Coolmodi's addons were also quite insightful especially for handling the event registrations. I also learned from the addons of Circonian and Spellbuilder. Finally I want to mention @EgoRush and
all participants in his thread at Tamrielfoundry. The discussions there lead to my motivation for creating this addon.
Common IssuesQ: The main window won't show any statistics in PvP areas, how can I see them ?
A: disable "Light Mode in Cyrodil"
------
Q: Why is Minor Savagery no shown?
A: It is ignored, since it is too spammy"
------
Q: How are the effective stats like Spell Damage calculated?
A: Whenever a damage or heal event happens the current stats are noted. At the end of the fight a weighted average is calculated. For example you have a short fight where you only do two light attacks. The first one does 1000 Damage, the second one 2000. During the first attack you have 3000 Spell Damage, during the second you have 3600. Then the effective Spell Damage will be 3400 since the second attack does twice as much damage as the first, so the spell damage from that moment gets twice as much weight, compared to the first. For Critical Damage, only critical hits are considered. When you have a healing category selected, only healing events are considered"
------
Q: How is overpenetration calculated and what does the tooltip show?
A: The overpenetration % is calculated as how much damage was done while the penetration was too high. In order to reproduce that number you'd have to look at each single damage event and check the current penetration. Also CMX cannot determine the resistance of targets. instead a fixed number is used (default: 18200) which can be changed in the settings. The effective penetration directly shown on the panel gives you a damage weighted average, where any penetration above the set cap (=target resistance mentioned above) is ignored.
When you open the tooltip, the average number you see is calculated like the effective number, but this time no penetration is ignored.
So there is a difference between "effective" which ignores anything past the target resistance and "average" which is just the damage weighted average.
Finally the table shows you which fraction of your damage was done at various penetration: "<18.2k: 42%" means that 42% of your damage in this fight was done while the penetration was below 18.2k, which means that 58% was done while above 18.2k, which with the default target resistance set to 18200 whould directly be the overpenetration value.
Lets assume some other lines for example show "14.2k: 22.1%" and "19.2k: 73.5%" then 22.1% of your damage was done while you were below 14.2k penetration, and 73.5 % was done while below 19.2k penetration. Since with many sources, many penetration values can be reached during a fight, steps are rounded to X.2k values to keep the list to a reasonable size while still providing a good picture how penetration was distributed during the fight."
Feedback
If you find a bug or another issue with Combat Metrics, please report errors in the comments here, in game (@Solinur (EU-PC)) or on
Github.
Solinur (EU)