heroprotocol
heroprotocol copied to clipboard
Periodic hero/siege damage events
Hi,
I don't think this is there, but I thought I'd ask anyway: are there any periodic events that indicate the total current hero damage / siege damage / etc throughout the replay? This would be useful for constructing graphs of cumulative damage/etc.
If not, are there plans to add this in the future?
Alternatively, do you have any hints as to how to calculate this easily? Or does this require knowing the skills and levels and all of that fun stuff that the game has?
As I see you could rebuild this information by simpler events like hero attacks. You should just check if the target is a hero, either a camp, or an enemy forces and sum it to the needed variable.
I don't think there are any periodic events right now
However, I don't think this can be calculated accurately either. Game events keep track of user actions; it would be very difficult to actually tell if an ability is cast, or how much damage it did to different units
After looking at all of the events for a while, I kind of reached the same conclusion as barrett777. I can see clicks, and I may even get ability cast events. However, I don't actually see "userId 5 damages unitId 100 for 125 damage" or anything coming close to that.
I think to get these numbers, I would have to know the base damage of every hero, how much it changes with every level, how each skill modifies abilities. That seems a wildly inaccurate approach.
Unless of course I missed some event that does list how much damage is caused by a hero or hero ability.
You're right, but to add to the difficulty, I think you can only see if a player attempts to use an ability - I don't think you can even see if the ability was cast or interrupted, or if the user is currently silenced, etc etc
Ok, good to know. So I guess this bug is a feature request for periodic damage breakdown then :) Something similar to the XP breakdown events:
{'_bits': 1928, '_event': 'NNet.Replay.Tracker.SStatGameEvent', '_eventid': 10, '_gameloop': 12130, 'm_eventName': 'PeriodicXPBreakdown', 'm_fixedData': [{'m_key': 'GameTime', 'm_value': 2949120}, {'m_key': 'PreviousGameTime', 'm_value': 2703360}, {'m_key': 'MinionXP', 'm_value': 80789504}, {'m_key': 'CreepXP', 'm_value': 3203072}, {'m_key': 'StructureXP', 'm_value': 13107200}, {'m_key': 'HeroXP', 'm_value': 13663000}, {'m_key': 'TrickleXP', 'm_value': 56115200}], 'm_intData': [{'m_key': 'Team', 'm_value': 1}, {'m_key': 'TeamLevel', 'm_value': 14}], 'm_stringData': None}
I'm kind of assuming that this is what the XP is at that particular time. I'm gonna try graphing that to see if it's what I expect. Damage/heals would be a great addition to this!
Thanks!
:+1:
:+1:
while i'm here, would like to bump this issue. would be great to have data about how heroes do at various points in the game. If SScoreResultEvent
could be emitted every minute like the XP Breakdown is, that would be ideal.
Such a frame would also be perfect to include quest stacks if sending them on-modification takes up too many resources. (#60, #58)
👍