WowPlot — Graphical Combat Log Analyzer for World of Warcraft® (2024)

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.
WowPlot — Graphical Combat Log Analyzer for World of Warcraft® (1)
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):

  1. Open the combat log in question. Make sure beforehand that there aren't any older raids or so in the file.
  2. Stretch the timeline a bit (⌘-]) and find the Illhoof-fight via the displayed mob-markers (⇟).
  3. Split the DPS Out plot by destination so we can see how much damage was done to the Demon Chains. This can be done via the Edit-menu, or via the context-menu of the stack.
  4. Select the "Demon Chains" stack in the newly-split DPS Out plot and add a new plot just for them (either using the Edit-menu, or simply by double-clicking the stack).
  5. Split the new plot by source, to see who attacked the Demon Chains.
  6. Optionally, double-click the individual contributors to get a plot for each of them.
  7. You should now see something similar to this:WowPlot — Graphical Combat Log Analyzer for World of Warcraft® (2)

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).

  • Control- or right-clicking on a stack opens the context-menu for splitting.
  • In the "Split By" or context menu, holding the Alt(⌥)-key creates new plots for each freshly created item.
  • Double-clicking a stack creates a new plot-from it.
  • Command(⌘)+double-clicking a stack replaces the current plot by a plot of only the clicked stack.
  • Tab(⇥) and Backtab(⇤) cycle through all the stacks of the current plot (whose background is a bit lighter).

There is quite a bit of processing going on behind the scenes to make sure the displayed data is correct as well very versatile.

Combat Log Preprocessing

While reading the combat log, a number of modifications are made to improve the data:

  • Unowned pets and guardians (e.g. Snake Traps) are attributed to their owners according to the "PetFixers" entry in LocalizedPrefs.plist. This list is not even remotely complete, but it is safe to extend this key. Remember send me any additions you make. The presence of SummonGUID looks for SPELL_SUMMON events, whereas CreateGUID searches for SPELL_CREATE.
  • Ownerless spells are added to mobs by their name (e.g. Moroes' "Garrote") via the "SpellsToOwners" entry in LocalizedPrefs.plist. This list is not even remotely complete, but it is safe to extend this key. Remember send me any additions you make. An empty Owner-string maps the spell source to the destination (e.g. used for "Shadow Word: Death").

Automatic Split-By Grouping

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.

  • BETA β.
  • No icon :(.
  • No custom queries / plots yet, but the infrastructure is in place.
  • Random, non-deterministic color selection.
  • Names of menu items, their grouping as well as the shortcuts are very preliminary.
  • Only tested on very few combat logs. If you have one which it dislikes, look at the Console Messages with Console.app, and maybe send me an extract.
  • Only tested with the English World of Warcraft® client; at the very least other clients will need to have the LocalizedPrefs.plist updated to match mob names etc.

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)

WowPlot — Graphical Combat Log Analyzer for World of Warcraft® (2024)

References

Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 6434

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.