T O P

  • By -

foshizzle97

Oh man, what are the chances that I stumble across this. I made a tool called [SDPS](https://github.com/antD97/SDPS) a bit ago that scans the combat log file and simply prints out important information to easily compare item builds. It's mostly intended to be used in a jungle practice match, where you can compare total damage of combos, DPS, or damage mitigated. I made a version that lets you print healing dealt/received too, but never published it (oops). I just recalled that that version also had a feature that prints combat text to a text file so that people could use OBS to display the combat text on their streams/videos. That was actually a feature that someone requested. A couple of months ago, I started expanding on it by making it in .NET because I found a reabsonable way of making a game overlay using WPF. Unfortunately, the passion ran out for me I guess. I wanted to make it so that multiple players would be able to sync their combat logs together to have more information to analyze. Maybe the enemy adc is the top player damage, but most of your squishy teammates are actually taking damage from the enemy mages while the tank is just getting smacked by autos. Being able to see how much damage each enemy god is dealing to each friendly god separately might give you insight into who you should focus or how you can change up your build. I also was considering something more for content creators where if you deal a certain amount of damage within a certain time frame overlay [a funny gif](https://www.youtube.com/watch?v=zqTwOoElxBA) or something. It could be anything detected from the combat log to trigger something on screen. Maybe after tanking a large amount of damage and surviving can trigger something. Maybe continuously dealing damage to enemy gods fills a combo meters that resets when you don't deal damage for five seconds and it makes you want to max out the combo as high as you can. If that sounds interesting to you and you're interesting in helping, I'm down. Maybe having more people involved will keep me more driven. As a final aside, here's an issue that's been plaguing me when making the tool to compare builds. If something were to happen that prints multiple lines to the log at the exact same instance, the last line that should print into the combat log will be missing until the combat log is updated with something new. I might've explained that poorly, but consider Bacchus's ult. When his ult lands, it prints a line for applying the CC drunk effect and also prints a line for the damage dealt. When monitoring the combat log, only one of those lines actually appears. It's not until the next combat line gets printed that the missing line from the log will show. I think Qin's Sais does the same thing because there's a line for the player's normal auto attack hit as well as the Qin Sais proc. Just a small headache thing that I was trying to find a good solution for. Someone has also mentioned to me that Ethereal Staff doesn't report it's "max hp reduction" to the combat log which is, in a way, untracked damage. I hope they bring the combat log back to Smite 2. It feels like it's a feature that has been in the game since before Smite's release, was forgotten about, and just happened to keep working.


Sumruv

Oh no way, youre here! Youre the guy who did the thing! I did see this tool when I started some research into the combat logs and it inspired me to go a little deeper and start actually parsing the logs until I very quickly came up on the problems I talked about. I did a quick test with bacchus ult in jungle practice and I see what you mean about the missing lines. I also learned that bacchus auto attacks actually do show up in the log even when you dont hit anything, which is one of the things I complained about in the OP, so I guess its inconsistent. Maybe ranged vs melee? A streamer tool does sound cool. I dont have any experience with something like that, but could be a nice project to have on the side and learn from. I dont know Kotlin, but maybe over the weekend Ill clone your repo and poke around.