Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Public Discussion » User Interface and AddOns

Reply
 
LinkBack Thread Tools
Old 05/08/08, 12:14 PM   #1
Shkarn
Von Kaiser
 
Orc Shaman
 
Lethon
DoT/HoT Timers and API's

I remember a while back there was a post mentioning some DoT Timer addons (like Chronometer) don't use the Blizzard API while others (ClassTimer) do. I tried searching for API information here, but I didn't have luck. Do we have a comprehensive list of all the "timer" addons that use the Blizzard API or a list of those that don't use the Blizzard API? My goal with this thread is to get a list of addons we can consider the most accurate DoT/HoT tracking addons. Here are the one's I'm aware of so far:

Uses Blizzard API
ClassTimer

Does not use Blizzard API
Chronometer

Unsure
DoTTimer
ForteWarlock
HoTCandy
Natur

What other DoT/HoT addons do people use that have information on?

Offline
Reply With Quote
Old 05/08/08, 3:05 PM   #2
funkydude
Piston Honda
 
funkydude's Avatar
 
none
Human Warrior
 
No WoW Account (EU)
You can't 'not use the blizzard API'.

At I guess you're referring to the difference between using the combatlog and the UnitBuff()/UnitDebuff().

Since 2.4 it really doesn't mater which you use, before 2.4 Unit* API was superior.

EDIT: Keep in mind they both have downsides and upsides, but at the end of the day they equal the same. For example using the combatlog would mean needing a library of durations which isn't needed with Unit* but using Unit* restricts your targets.

Last edited by funkydude : 05/08/08 at 3:11 PM.

Author of BadBoy, BigWigs, and more...

Offline
Reply With Quote
Old 05/08/08, 4:16 PM   #3
Shkarn
Von Kaiser
 
Orc Shaman
 
Lethon
How is it, then, that some timers won't always accurately track the DoTs? Back in early T5, we were having a debuff issue where we thought we were hitting the limit, but found out that the dot timers people were using were dropping the dots before their duration was up. Chronometer was the big culprit of this, but ClassTimers has been (from what we can tell) 100% accurate. If they're using the same API, wouldn't the timers theoretically be 100% accurate all the time, or is there that big of a discrepancy between using the Unit* procedure calls and referencing the combatlog?

Ultimately, I'm aiming to provide a set list of how each of these DoT/HoT timers function for the purpose of finding the ideal timer(s) to use and not drop HoTs or DoTs from the target(s).

Offline
Reply With Quote
Old 05/08/08, 4:19 PM   #4
Margot
Von Kaiser
 
Human Warrior
 
Argent Dawn
WoWInterface Downloads : Plug-Ins & Patches : Sorren's Timers (2.4)

Sorren's Timers uses unit ids and tables of durations as funkydude mentions. Gets stack sizes on your buff/debuffs through Blizzard buff api, however.

Offline
Reply With Quote
Old 05/09/08, 7:51 PM   #5
Silverstorm
Piston Honda
 
Night Elf Druid
 
Azjol-Nerub
Originally Posted by Shkarn View Post
How is it, then, that some timers won't always accurately track the DoTs? Back in early T5, we were having a debuff issue where we thought we were hitting the limit, but found out that the dot timers people were using were dropping the dots before their duration was up. Chronometer was the big culprit of this, but ClassTimers has been (from what we can tell) 100% accurate. If they're using the same API, wouldn't the timers theoretically be 100% accurate all the time, or is there that big of a discrepancy between using the Unit* procedure calls and referencing the combatlog?

Ultimately, I'm aiming to provide a set list of how each of these DoT/HoT timers function for the purpose of finding the ideal timer(s) to use and not drop HoTs or DoTs from the target(s).
As funky said, you have to use the Blizzard API for this. The difference between all these timer mods is *which* APIs you use and the logic with which you use them. I haven't investigated all of them, but I would be very curious to see how the timer detection is done for any mod that claims to have 100% correctness. The reason for this is the information exposed by the various APIs varies, and it is very difficult to get a complete picture from the combat log because several relevant events are missing information that Blizzard has, but providing it would totally unbalance things like PvP.

Funky's basic analysis of the two methods is spot on, based on my own experiences with writing a DoT Timer. UnitBuff and UnitDebuff are very complete in their information, but can only be called on targets that can be referenced through tokens like "player", "pet", "target", "raid1", "party3", "party3target", etc. Additionally, they require scanning all the (de)buffs on the target to determine which are yours. The combat log, on the other hand, will provide information about every spell or ability used, but rarely does it ever provide all the information you want in one single event. It's up to the addon author to analyze the information available which involves detecting casts/attacks, determining possible targets, and correlating the sequence of combat log events that correspond to one cast/attack to come up with the right information.

I'm still working out the last few idiosyncrasies of the logic involved, but I almost have a functional DoT Timer that I will make available once I can get through an entire raid or two without it missing things! Everything it does do is correct, but it's missing a couple events here and there, and I don't know why yet (though I have a couple ideas)!

As far as the list goes, DoTimer uses the Blizzard APIs, but I'm unsure which APIs. I do know that last I checked (recently), it did not use 2.4 combat log.

Offline
Reply With Quote
Old 05/13/08, 12:46 PM   #6
Kalman
Super Macho Man
 
Kalman's Avatar
 
<>
Orc Shaman
 
No WoW Account
Yeah, pretty much it's the difference between detecting cast/hit/resist and using a predetermined table to pull duration data and using the debuff/buff scanning functionality added in 2.3.

I code DotDotDot - Index of /DotDotDot/ - which uses UnitDebuff to pull duration data and the 2.4 combatlog to handle removal/cleanse/death.

Melador> Incidentally, these last few pages are why people hate lawyers.
Viator> I really don't want to go all Kalman here.
Bury> Just imagine what the world would be like if you used your powers for good.

United States Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Public Discussion » User Interface and AddOns

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ace'd Trash Timers Plexi User Interface and AddOns 7 10/06/07 3:43 PM
Buff timers for other players Floria User Interface and AddOns 8 03/16/07 10:58 PM