Maintenance for the week of December 23:
· [COMPLETE] NA megaservers for maintenance – December 23, 4:00AM EST (9:00 UTC) - 9:00AM EST (14:00 UTC)
· [COMPLETE] EU megaservers for maintenance – December 23, 9:00 UTC (4:00AM EST) - 14:00 UTC (9:00AM EST)

EVENT_COMBAT_EVENT and Damage Type (Direct Damage vs Damage over Time)

rullof
rullof
Soul Shriven
Hey,
I'm currently developing an AddOn which requires a feature for distinguishing between Direct Damage and Damage over Time as a core element of the AddOn.
I'm using the result variable sent by the EVENT_COMBAT_EVENT event which can provide the following values:

ACTION_RESULT_DAMAGE
ACTION_RESULT_CRITICAL_DAMAGE
ACTION_RESULT_DOT_TICK
ACTION_RESULT_DOT_TICK_CRITICAL


The problem is the (ACTION_RESULT_DOT_TICK and ACTION_RESULT_DOT_TICK_CRITICAL) values are only returned when the damage ability explicitly states (X damage over Y seconds). For all other abilities including the ones that states (X damage every Y seconds) the result variable holds the value (ACTION_RESULT_DAMAGE or ACTION_RESULT_CRITICAL_DAMAGE) therefore I can't really distinguish between Direct Damage and Damage over Time.

My development progress is currently stuck at this stage and I cannot go any further without solving this issue. Please if there is any other way of implementing this feature help me out or if it's possible to change the event manager so that the result values (ACTION_RESULT_DOT_TICK and ACTION_RESULT_DOT_TICK_CRITICAL) includes all Damage over Time abilities such as (Elemental Blockade and Endless Hail ...).
Edited by rullof on May 5, 2017 7:29PM
  • ArtOfShred
    ArtOfShred
    ✭✭✭
    As far as I know the DoT damage distinction present on those abilities is only present in C. From an API standpoint those effects aren't registered as dots. When you fire a gtaoe ability it creates a dummy abilityId that fires off the effects at interval and then fades after the duration ends. The only thing I can think of would be to manually override the damage type based on abilityName.

    An easy way to do so would be to create a table with 1 rank of each relevant ability and run a function to convert each entry to AbilityName from that id. Then if a name in that table is detected on combat event you override damage type with dot tick & dot tick critical.
Sign In or Register to comment.