This tool shows players MMR and other useful stats during the loading screen in Heroes of the Storm. Blizzard commented that they are not going to ban players for using this app.
At this point we are able to extract only the current region and BattleTags. We don't know the current map or the heroes being played. So we can show only general stats:
This is when the well documented replay file is created. Now we know current map, heroes and hero levels. We can also pull additional stats from Hotslogs. Here is what we may be able to display for each player in full table:
This window functions like built-in stats that can be shown with Shift-Tab hotkey. I'd be happy to move those stats to loading screen if we find a way to get map and heroes data from battlelobby file (or maybe use OCR).
- What about advanced stats during match?
-- No there will not be any dynamic stats within this project because 1. You can't obtain this info manually and 2. Going down this road leads to all sorts of unfair tools like map hacks.
Now that we have a full replay file we can display tons of detailed stats like damage taken, self healing, objective counters (collected/lost coins, damage done to immortals etc). I hope that with help of the community we can develop an extensive replay analyzer lib that can be used by this app and hotslogs.
Here's how the app currently works. During loading screen the game creates the battlelobby and tracker files. Battlelobby is one of a few replay files not documented by Blizzard. Since I have no idea about the file structure I just search for anything that looks like a battle tag. If anyone finds how to extract current map and heroes from this file it would be awesome. Detailed info about replay files can be found on wiki page
Then I get MMR from HotsLogs JSON API. For more stats such as total games count and heroes win rate we have to parse HTML profile.
While I'm the only one actively developing this project I use coding style that I like. Later on if there will be more contributors I plan to convert it to common conventions. Currently I use tabs spaces for indentation and C style brackets.