heroprotocol icon indicating copy to clipboard operation
heroprotocol copied to clipboard

Periodic hero/siege damage events

Open hampire opened this issue 9 years ago • 10 comments

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?

hampire avatar Feb 15 '16 08:02 hampire

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.

qfox avatar Feb 15 '16 13:02 qfox

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

barrett777 avatar Feb 15 '16 23:02 barrett777

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.

hampire avatar Feb 16 '16 01:02 hampire

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

barrett777 avatar Feb 16 '16 03:02 barrett777

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!

hampire avatar Feb 16 '16 05:02 hampire

:+1:

qfox avatar Feb 16 '16 10:02 qfox

:+1:

crorella avatar Feb 22 '16 19:02 crorella

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.

ebshimizu avatar Nov 09 '18 19:11 ebshimizu

Such a frame would also be perfect to include quest stacks if sending them on-modification takes up too many resources. (#60, #58)

yretenai avatar Nov 09 '18 21:11 yretenai

👍

aliciasedlock avatar Nov 10 '18 03:11 aliciasedlock