Jump to content

Tenkay's Standalone Log Combat Parser


Recommended Posts

 

So I’ve had a little project for myself going over this holiday break that I thought I may as well share with whoever’s interested. This—as the name suggests—is a combat log parser program for CoH, to help give you a calculation of your DPS, Acc, EXP & Inf earned in addition to some other data. Features are fairly basic right now but otherwise it should more or less do what's written on the tin. Again, this is still ALPHA and testing done so far is pretty limited so expect there to be some occasional inaccuracies or crashes from edge cases.

What it can do

  • Standalone program runs as a .exe
  • Live-monitor your damage as well as those of your pets
    • Calculate overall DPS
    • Split DPS into individual abilities and procs
    • Calculate the average damage per hit, per ability
  • Process an existing log file
  • Log hit accuracy, xp & inf gains and some other basic data
  • Automatically split logs into combat sessions
    • The session duration is based on the first instance of damage dealt to the last instance
  • Persistent settings for the timeout duration of sessions, associating procs under their parent powers etc.

Limitations

  • Regen is not traceable in any way through logs so the relative DPS gains from -Regen or -HP abilities cannot be tracked
  • Anything not logged to the chat log
    • Damage/Healing from other players that didn't impact you directly
    • Buff/Debuff numbers - the combat log almost never gives hard numbers to buffs/debuffs and status effects.

Planned Features

  •  Player Damage Taken, Healing Taken/Received
  • Maaaybe some more advanced data displays such as graphs/charts.

Installation and Operation

  1. Head on over to the GitHub https://github.com/dorematt/coh-combat-parser and head to ‘Releases” on the Right-hand side
    1. Download the CoH_Parser.exe file, ignore the rest as this is source code. (There is only Windows binaries at the moment)
  2. In-game, check your ‘Combat’ Channel and add in all combat related channels
    1. Right-Click to edit channel
    2. Move over all the combat fields if they’re not already there (Most likely, the pet combat fields won’t be included)
      1. If you don’t want to mess up or clutter that tab, you can make a new tab and put all the combat info in there. As long as all the combat data is being collected by at least one of your tabs, that data will be logged into the file.
    3. Save settings
  3. Make sure you have “Log Chat” enabled in the Options
    1. This is found under Options > Windows > Chat
  4. Run the .exe and browse for the log file
    1. Open up the directory where your game is installed to
    2. Then go to /accounts/_YOUR_ACCOUNT_NAME_/logs/
    3. Choose the log file you want to process or monitor (you’ll want the one dated to today if you’re running live)
  5. Hit 'Start Log' to begin monitoring live data or 'Process Existing Logto process the logfile's stored data.

 

How the Parser will operate

 

  • New sessions will begin automatically from your first damaging power to the last and will automatically end after a certain amount of time spent without any damaging powers being used(default 30s)
  • Session duration and DPS calculations are based on the first instance of damage to the last instance (so the downtime either before or afterwards will be discarded)
  • You can name sessions by typing in Local chat ##SET_NAME session_name, or simply start a new session immediately alongside naming it with ##START_SESSION session_name

 

 

 

My AV software is flagging this program!

 

Some AV software will report false positives due to the program being compiled python code, which is a popular method employed in virus creation. Obviously I've not added anything malicious into the program and I am hoping to work out how to avoid these false detections for future updates. For now, you can check the VirusTotal scan for full details.  - https://www.virustotal.com/gui/file/b047cd818846e053c4e8af4a97d6115da06fd19571be17909ca1ba15f36001ee/detection (v0.1.0)

 


What about the other parsing programs out there and future development?

 

There's a couple other online-oriented tools out there (shoutout @Carnifax and @KaizenSoze) which are absolutely worth checking out and will likely have way more options as far as how you can visualise your data. This is a bit more pared-down, more to be something you can keep open on the side to see stats in more real-time.

 

As for future development on this, it really depends. The GitHub page is available for any other contributions, otherwise I may or may not add to it when I feel the urge to and have the time 🙂 

 

image.thumb.png.42fae4a173ddecc061f1625207e796ea.png

Changelog

10-Aug-2024 - v0.1.0

  • Dark theme added
  • Enemies tab added to enable sorting damage by enemy name
  • Several fixes to some calculation and display inaccuracies (there may still be instances where procs end up under random abilities especially when there is a lot of pet damage in the mix, but should be overall more reliable)
  • Ability list shouldn't reset the collapsed/expanded state of your abilities and damage components on every refresh/update
  • Some checks and other error handling for crashes.

 

 

15-Jan-2024 - v0.0.5

  • Added Settings to UI for adjusting some parameters such as combat session timeout
  • Session names can be renamed in-game by typing ##SESSION_NAME name in Local chat
  • Associated procs with powers
  • Capturing and separating flairs indicating bonus damage such as Critical or Shocked

 

 

Edited by Tenkay Volts
updated changelog to v0.1.0
  • Thumbs Up 2

InGame: @10kVolts    |    Tenkay's Log Combat Parser

Link to comment
Share on other sites

Just pushed out a fairly significant update (v0.0.5) with several additions (a settings menu for one) as well as fixing the handling of damage with additional flairs such as Critical hits. There may still be some inaccuracies in some edge cases. I'm also putting together a list of powers that employ pseudopets that don't make much sense splitting out into their own character/pet. powers like Caltrops or Chain Induction for instance. If you have others that you come across let me know, or if you happen to have or know where a list of all the pseudopets abilities in the game are, that'd be amazing as well!

InGame: @10kVolts    |    Tenkay's Log Combat Parser

Link to comment
Share on other sites

  • 2 weeks later

 

15 hours ago, meanieoh said:

Just so you're aware, I received an anti-virus notification from Avast when attempting to install this:

 

image.png.dca62206dc861d81e6eabf4fd844e1c9.png

 

It could be a false positive, but did want to make you aware.

 

Thanks for flagging, I'll have a dig into why, seems a couple have flagged it on VirusTotal.

  • Thanks 1

InGame: @10kVolts    |    Tenkay's Log Combat Parser

Link to comment
Share on other sites

Posted (edited)

Release v0.1.0

 

Well, 7 months on but I finally pushed out an update. The program is a bit prettier now, there's now the ability to sort your damage per enemy along with a slew of calculation and display inaccuracies that have been fixed. check out the releases page over on GitHub to download - https://github.com/dorematt/coh-combat-parser/releases

 

Some AVs may still report false positives mainly due to this being written in Python and compiled, especially those that bluntly flag any .exe built from a python compiler as malicious. I've obviously not added anything nasty although I leave it to you and this scan report to make your own call. https://www.virustotal.com/gui/file/b047cd818846e053c4e8af4a97d6115da06fd19571be17909ca1ba15f36001ee/detection

 

Alternatively if you're techy, you can simply pull down the source code, run a virtual (venv) python environment and operate it that way as well.

Edited by Tenkay Volts

InGame: @10kVolts    |    Tenkay's Log Combat Parser

Link to comment
Share on other sites

When I load the log into the UI, nothing happens. The first screen reads "Unable to find Player Name in log."

 

How do I add Player Name in the log where the parser will recognize it?

Link to comment
Share on other sites

Posted (edited)
19 hours ago, Brickalt said:

When I load the log into the UI, nothing happens. The first screen reads "Unable to find Player Name in log."

 

How do I add Player Name in the log where the parser will recognize it?

 

Hmm, did you happen to turn on chat logging after already logging into the character? The program looks for the system message that says "Welcome to City of Heroes, YourName." as soon as you log in so if that wasn't recorded it wouldn't pick it up.

 

But if you did, or you at least logged out and back in, that would suggest a bug to be looked at. DM me the log file if you're comfortable doing so and I'll have a look.

Edited by Tenkay Volts

InGame: @10kVolts    |    Tenkay's Log Combat Parser

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...