Jump to content

Stop channeling Drain Soul only after it just ticked


Recommended Posts

I have made a fight class for my affliction warlock. It works really well, but to maximize it's dps, I want to change the behavior of when it stops channeling Drain Soul to re-dot the enemy. 

I have made it so, if my dots are about to expire on the enemy it stops the Drain Soul channeling and that works perfectly. But I want to make sure it does not do this right before it's about to damage the enemy. Is there any way to find out how long time passed since the last time Drain Soul did damage? It's fine if I can just find out every time it does damage so I can add a DateTime to a variable and check it before stopping the cast.

EDIT:
I found this: https://wow.gamepedia.com/API_UnitChannelInfo which in part can help me, but in case I get hit by an enemy, I am not sure it will work correctly anymore. I would rather want a "TimeSinceLastTick" or "OnTickEvent", that would be the most reliable.

Link to comment
Share on other sites

You can't. Unless you get total cast time and calculate when your ticks are going to be in relation to it (due to haste etc), it's not happening.
You can get the timestamp of your last ticks through COMBAT_LOG_EVENT_UNFILTERED. However, also keep in mind that if youa ren't building your fightclass in C#, it's going to be very hard to handle combatlog events that run on a different thread.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...