WowPlot (download link, source code) is a graphical analysis tool for World of Warcraft® combat logs (compatible only with current combat log format from version 4.0.1 upwards). Its main focus lies in evaluating time-dependant combat performance in a very free-form fashion, which is in contrast to the mainly statistical approach of other tools such as Wow Web Stats for example.
WowPlot requires Mac OS X Leopard (10.5) and is a Universal application.
The source code to this application can be found at bitbucket.org.
A WowPlot document window contains a number of plots arranged horizontally, each of which can be made up of multiple stacks that display an individual contribution to the overall data. In addition, enemy mob markers are shown in red (if they appear as part of the plot's filtered combat log events), and other annotations if available are shown in gray.
Each stack can be split into its various components, but this decomposition can be done in a number of ways (depending on how the combat log events that make up the current stack differ). For example, a "DPS Out" plot can be split on the source (i.e. who did the damage) or on the destination (i.e. to whom the damage was done), among many other things.
What is all this good for? For example, let's see who caused that Illhoof-wipe because they couldn't be asked to attack the Demon Chains (or blame the healers for not getting in there in time):
A very similar analysis for the healers can be achieved by splitting HPS Out by destination (to see who was being healed) and then by source (to see who did the healing).
There is quite a bit of processing going on behind the scenes to make sure the displayed data is correct as well very versatile.
While reading the combat log, a number of modifications are made to improve the data:
SPELL_SUMMON
events, whereas CreateGUID searches for SPELL_CREATE
.When a stack is split by source or destination a clever bit of magic is applied first to group pets and their owners together. This is indicated by appending a "+" to the actor name. If you split the resulting stack again by the same property (source / dest), then the pets show up individually.
Similarly, if many actors exist with the same name (usually enemy mobs) then they are grouped together on the first split as well.
If you have any suggestions or constructive criticism, please send me an email. Of course, bug reports, updated spell lists for unowned spells, icon suggestions, presents, and so on are also welcome.
Enjoy — / Unravel @ Bloodscalp (EU)