Cast Time Analysis
Cast Time Analysis is an addon designed to give feedback to Casters to improve their play in a PvE environment. The goal of a caster in most boss fights is to remain either casting or in a global cooldown at all times while maintaining a proper rotation. While Cast Time Analysis won't help with the latter, it will give you feedback after every fight (or boss fight), notifying you how much time you spent actually casting.
Type /cta or /casttimeanalysis for configuration.
Cast Time Analysis reports the following values:
- Quiet - Time spent not doing anything, typically from moving around.
- Dead - Time spent dead, if you choose to enable waiting for raid combat.
- Lag - Time between when you send a spell cast to the server and when the server starts or completes it.
- Wasted - Time spent casting a spell that is ultimately interrupted or cancelled by the user.
- Used - Time spent in actual casts. This is further broken down into "Channel", "Global", and "Cast" for your benefit.
Configuration
- Boss Only - Enables reporting only on boss fights.
- Raid Combat - Waits until the entire raid is out of combat to report. Time spent dead will be logged as such.
- Report Deaths - If you are using raid combat, this will allow you to show time spent dead as part of your breakdown or simply subtract it out.
While this addon is very simple in its current state, there is much potential for growth to help fine tune the accuracy reports you get back. I would also like to note that although I have done a decent amount of testing on this as a Fire Mage, I do not have access to much else, so I am at the mercy of feedback from the community when it comes to other casters.
This is not working anymore. Any fixes?
It appears that only certain bosses are tagged as actual "bosses" by Blizzard, so instead of testing for their classification, I changed it to any unit whose level is -1, also known as a skull portrait. I can't think of any major drawback for this method aside from engaging in combat with a player or mob that is 10 levels higher than you, but hopefully this will solve the problems of bosses not being detected. Let me know if there are any more problems.
Sorry what I meant was when you madly smash keys and you try to cast before the GCD has expired and well I seem to loose time to this regularly so would like to know how many times I do this and possibly how much time I loose just because of that.
I play on an oceanic server with usually around 200ms latency which is good really most of the people I play with are around 250-300ms so being able to turn on certain parts of the report at the end of a fight would be useful as there is not a lot I can do about latency.
Well I spend the past two night learning and downing Halion and I am pretty sure that I didn't get a single report at the end of a try or the final kill but it worked on our next boss which was a single try on LK before the end of our raid.
Ender
Option screens are simple, I just wasn't sure how crazy people were about an entire screen for 3 checkboxes. I like the average/min/max time values, but could you clarify what you meant when you said "invalid key presses"?
As far as Halion goes, that's somewhat surprising because it counts any unit that is of boss-level (represented by the skull icon) as a boss. I will look into it, but I probably won't be able to get into an instance until we do it next Tuesday.
CTA Doesn't seem to be aware of Halion as a boss
Yes can understand the desire to keep mod simple.
How about some other stats like average time between when cast finished and next cast started and then the shortest and longest time value.
It might also be interesting to have a count of invalid key presses due to GCD not quite being finished.
Could you possibly do an option screen to allow users to turn on and off different report options.
I will try to do some testing on my warlock and spriest this evening to see what sort of results I get.
Ender
Sorry We wiped, I released to run back, went thru the screen and got the error the minute the game loaded at the spirit rezzer.
Some sort of history would be a good idea, but I'll definitely need to think of a way to do it without over-complicating the addon.
Seems I missed a locale entry. I double checked everything now and added another slash command, so the latest version should be error free for the most part. I'm not sure how none of my beta testers in guild didn't report this.
v0.5b2
Date: 2010-09-21 21:17:12 ID: -1 Error occured in: Global Count: 1 Message: AceLocale-3.0: CastTimeAnalysis: Missing entry for 'Dead' Debug: ...ddOns\AtlasLoot\Libs\AceLocale-3.0\AceLocale-3.0.lua:31: ...ddOns\AtlasLoot\Libs\AceLocale-3.0\AceLocale-3.0.lua:29 ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua:423: GetStat() ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua:406: ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua:392 (tail call): ? [C]: ? [string "safecall Dispatcher[2]"]:9: [string "safecall Dispatcher[2]"]:5 (tail call): ? ...\AddOns\DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:164: ...\AddOns\DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:138
Looking at it tonight on LK and an option to keep a history or more than one try would be a nice feature so I can see if I am doing better or worse each try.
Love the idea of the mod it is so hard to read this information out of the combat logs.
Ender
Slash commands are done and options should be functional in v0.5. I will be testing this more extensively during our raid tonight.
Sorry about the slash commands, they aren't implemented yet, and I forgot I added them to the description. I'll take care of that tonight, but 0.4b should have a fix for the error you encountered.
I am using v0.3b, the only one posted.
I did /cta and /casttimeanalyis and got: /help for a listing of a few comands.
Killed a mob and got the readout but during the killing I got this error:\ ( all the readout says is Quiet: xx.xs) Date: 2010-09-20 17:43:56 ID: 1 Error occured in: Global Count: 1 Message: ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua line 350: attempt to compare number with nil Debug: (tail call): ? ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua:350: Debug() ...terface\AddOns\CastTimeAnalysis\CastTimeAnalysis.lua:201: ?() ...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146: ...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146 [string "safecall Dispatcher[5]"]:4: [string "safecall Dispatcher[5]"]:4 [C]: ? [string "safecall Dispatcher[5]"]:13: ?() ...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: Fire() ...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:120: ...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:119 [C]: UseAction() ..\FrameXML\SecureTemplates.lua:310: handler() ..\FrameXML\SecureTemplates.lua:529: ..\FrameXML\SecureTemplates.lua:478 AddOns: CastTimeAnalysis, v