Now that SWTOR update 1.2 has hit the public test servers, we’re able to give some more in-depth information on the long awaited Combat Log. It’s format isn’t the prettiest yet, but it sure packs in a lot of information. Let’s look at the first section of a battle from a Sith Sorceror’s perspective, where he/she (Khantni) is getting ready to start:
[03/01/2012 14:19:04] [@Khantni] [@Khantni] [Safe Login {973870949466112}] [ApplyEffect {836045448945477}: Safe Login Immunity {973870949466372}] ()
[03/01/2012 14:19:18] [@Khantni] [@Khantni] [Safe Login {973870949466112}] [RemoveEffect {836045448945478}: Safe Login Immunity {973870949466372}] ()
[03/01/2012 14:23:30] [@Khantni] [@Khantni] [Sprint {810670782152704}] [Event {836045448945472}: AbilityActivate {836045448945479}] ()
[03/01/2012 14:23:30] [@Khantni] [@Khantni] [Sprint {810670782152704}] [ApplyEffect {836045448945477}: Sprint {810670782152704}] ()
[03/01/2012 14:24:30] [@Khantni] [@Khantni] [Innervate {1104395005591552}] [Event {836045448945472}: AbilityActivate {836045448945479}] ()
[03/01/2012 14:24:30] [@Khantni] [@Khantni] [] [Spend {836045448945473}: Force {836045448938502}] (36)
[03/01/2012 14:24:30] [@Khantni] [@Khantni] [Force Surge {808677917327360}] [ApplyEffect {836045448945477}: Force Surge {808677917327360}] ()
[03/01/2012 14:24:30] [@Khantni] [@Khantni] [Innervate {1104395005591552}] [ApplyEffect {836045448945477}: Heal {836045448945500}] (1393*)
The display of that data can be a little overwhelming at first, so this key provided by BioWare’s Georg Zoeller helps quite a bit:
(Click here for the full-size image)
See how it makes a little more sense now? Let’s look at a sample log, this time from a Jedi Guardian’s perspective:
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [] [Restore {836045448945476}: focus point {836045448938496}] (1)
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [Force Leap {812105301229568}] [Event {836045448945472}: AbilityActivate {836045448945479}] ()
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [Momentum {2530075039760384}] [ApplyEffect {836045448945477}: Momentum {2530075039760642}] ()
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [Unremitting {1280849441980416}] [ApplyEffect {836045448945477}: Unremitting {1280849441980416}] ()
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [ {2695018963795968}] [ApplyEffect {836045448945477}: Vindicator {2695018963796231}] ()
[03/01/2012 14:23:50] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Force Leap {812105301229568}] [ApplyEffect {836045448945477}: Immobilized {812105301229840}] ()
[03/01/2012 14:23:50] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Force Clap {2848585519464448}] [ApplyEffect {836045448945477}: Stunned (Physical) {2848585519464704}] ()
[03/01/2012 14:23:50] [@Idrurrez] [@Idrurrez] [] [Restore {836045448945476}: focus point {836045448938496}] (3)
[03/01/2012 14:23:51] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Force Leap {812105301229568}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (698 energy {836045448940874}) <698>
[03/01/2012 14:23:52] [@Idrurrez] [@Idrurrez] [Master Strike {812139660967936}] [Event {836045448945472}: AbilityActivate {836045448945479}] ()
[03/01/2012 14:23:52] [@Idrurrez] [@Idrurrez] [Master Strike {812139660967936}] [ApplyEffect {836045448945477}: Unshakable {812139660968471}] ()
[03/01/2012 14:23:52] [Elite Tastybobble {846623953387520}] [@Idrurrez] [Ranged Attack {813449625993216}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (261 energy {836045448940874}) <261>
[03/01/2012 14:23:52] [Elite Tastybobble {846623953387520}] [@Idrurrez] [Ranged Attack {813449625993216}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (273 energy {836045448940874}) <273>
[03/01/2012 14:23:52] [Elite Tastybobble {846623953387520}] [@Idrurrez] [Ranged Attack {813449625993216}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (276 energy {836045448940874}) <276>
[03/01/2012 14:23:52] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Master Strike {812139660967936}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (874 energy {836045448940874}) <874>
[03/01/2012 14:23:52] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Force Clap {2848585519464448}] [RemoveEffect {836045448945478}: Stunned (Physical) {2848585519464704}] ()
[03/01/2012 14:23:52] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Master Strike {812139660967936}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (904 energy {836045448940874}) <904>
[03/01/2012 14:23:53] [Elite Tastybobble {846623953387520}] [@Idrurrez] [Melee Attack {813445331025920}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (488 kinetic {836045448940873}) <488>
[03/01/2012 14:23:53] [@Idrurrez] [Elite Tastybobble {846623953387520}] [Force Leap {812105301229568}] [RemoveEffect {836045448945478}: Immobilized {812105301229840}] ()
[03/01/2012 14:23:54] [Elite Tastybobble {846623953387520}] [@Idrurrez] [Melee Attack {813445331025920}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (241 kinetic {836045448940873}) <241>
So there you go, once you spend some time reading through these logs, they get easier to decipher. There’s no doubt they’ll be invaluable for those guilds tackling challenging content and wanting to identify weaknesses in combat.
Beyond that though, is it something you’d use? Let us know in comments!
I’ll use a tool (of which many will no doubt soon appear!) to interpret the data. The raw text output isn’t really meant to be human-readable, but it sure looks like they made it easy to parse!
Wow, it really looks like they took a lot of time to make this user friendly! Really, is it that hard Bioware to make a combat log that is, I don’t know, READABLE?!?!?
As I said above, it’s not designed to be readable by people. From the patch notes:
The “Combat Logging” section in the preferences menu also allows players to stream all combat interactions originating from or directed at their character to a machine-parsable file.
The examples shown were sent to all fan sites to provide an opportunity to start writing parsing tools in advance, and to provide early feedback. What you see in-game will (presumably) be presented in a readable way.
Damn, so as a Raid Leader wanting a good excuse to sit a sub par healer, he can modify his parse data before sending it to me >.> urgh.