Know-It-All is a NECB clone using the Ace 3 framework. It displays combat timer bars that can track buffs, debuffs, CCs, temporary summons and protection effects and tells you how much time is left.
Know-It-All is still very early in development but quite stable. Many NECB features are implemented such as target and focus tracking, PvP sounds, limited DR tracking, etc.
Know-It-All can be configured from the interface menu or type /kia. See the FAQ.txt for more info.
Change Log - Know-It-All
1.4 - Rewrite of parsing code allowing for better spell detection and less CPU usage.
- More WotLK spell updates.
- More config options such as bar width and instance filtering.
1.3 - Updated for patch 3.0.2
- New default bar texture and an option to change it.
- Spell refreshes, such as polymorph, now work correctly.
- Added some spell abbreviations so it doesn't use the whole bar.
- Now places square brackets around the spell name on global spells that you did not cast.
- Various bug fixes.
1.2 - Many optimizations, up to 20x less memory usage.
- Added talent support.
- Various spell fixes and additions.
- Global spell tracking (coordinate fear ward, etc.).
- Limited support for changing bar direction.
- Start of WotLK support.
1.1 - Fix regrowth bug.
- Add combo point tracking for char.
- Doubled number of known spells.
- New options including ability to disable specific bar categories.
Wowhead lists them all as separate spell id's. Couldn't you just code it as different spells? I'm no coder, but I know a little bit about this.
That's what I was trying to say. My code only looks for the druid version of rake (I've double checked), that's why I'm pretty sure it's a bug on Blizzard's end.
Originally posted by pceric Humm, unfortunately I can't do anything about it because of the way WoW's refresh mechanic works. That seems like a bug to me as the Druid's rake should be completely separate from the hunter's pet's rake (unless they don't stack). I'll submit a bug report but not much else I can do atm.
Originally posted by Zadnak There's a bug with Rake, the Feral Druid spell. The duration refreshes on Know-It-All if a Hunter's pet applies it.
Humm, unfortunately I can't do anything about it because of the way WoW's refresh mechanic works. That seems like a bug to me as the Druid's rake should be completely separate from the hunter's pet's rake (unless they don't stack). I'll submit a bug report but not much else I can do atm.
Originally posted by pceric Yup, still active and working on it. I've reworked a huge part of the code to make use of the huge improvements to the combat log system in 3.0.2+. Hopefully all spells should be updated too for WotLK. New version should be out just before WotLK launches. With all these other awesome games being released it's hard to find time.
Originally posted by Thrillseeker Hey Pceric, are you still active here? Or is there a better place for bug reports / suggestions?
Great addon btw.
Quote:
Originally posted by Zadnak Nice addon. Is there another release coming out soon?
Yup, still active and working on it. I've reworked a huge part of the code to make use of the huge improvements to the combat log system in 3.0.2+. Hopefully all spells should be updated too for WotLK. New version should be out just before WotLK launches. With all these other awesome games being released it's hard to find time.
Suggestion:
Mind adding support for stackable debuffs, like Fire Vulnerability and Winter's Chill?
Ah, I think I see what's wrong. Will be fixed in next version or you can pull the latest version from the SVN if it bother's you too much. Thanks for the report.
Those are two spells I'd like to see as well but the current state of the combat log makes it difficult. I think it will be fixed in 3.0.2 so I'll be releasing a new version asap.
[2008/09/23 16:06:54-10-x9]: KnowItAll-1.2\KnowItAll.lua:332: attempt to compare number with nil
CallbackHandler-1.0\CallbackHandler-1.0.lua:146: in function <...Syne\lib\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
<string>:"safecall Dispatcher[13]":4: in function <[string "safecall Dispatcher[13]"]:4>
<in C code>: ?
<string>:"safecall Dispatcher[13]":13: in function `?'
CallbackHandler-1.0\CallbackHandler-1.0.lua:91: in function `Fire'
AceEvent-3.0\AceEvent-3.0.lua:70: in function <...dOns\BangItHarder\Libs\AceEvent-3.0\AceEvent-3.0.lua:69>
Originally posted by Shadowed Was bored and looking through your code, just some suggestions.
#16979 is Feral Charge if you're triggering it off of SPELL_CAST_SUCCESS, #45334 is Feral Charge Effect if you're triggering it off of SPELL_AURA_APPLIED or SPELL_AURA_REMOVED you want the latter, instead of the former.
Creating a table every SPELL_AURA_APPLIED if they are humans is generally bad, passing it as something like "destGUID:spellID" then string.splitting it in RemoveDR is better.
Same with SetDR(), if you move drMultiplier right above SetDR() you'll only create the table once instead of on every call.
For CheckForInstance() you should look into http://www.wowwiki.com/API_IsInInstance as thats a more accurate method then checking coords, you don't need to do a 5 second timer either. Personally I use a combination of ZONE_CHANGED_NEW_AREA + PLAYER_ENTERING_WORLD, I can't recall if ZCNE fires after PEW when logging in/reloading, don't think so.
Good Luck!
Thanks for the tips. Been banging my head on the whole table thing and why memory goes through the roof. LUA does some wacky stuff. Got my memory usage down almost 20x so I'm pretty happy now.
I've also had time to play with it on the WotLK beta and have started to write some code for it. Big changes to the combat log system again which should make Know-It-All much more accurate but requires a bunch of changes to the code.
Was bored and looking through your code, just some suggestions.
#16979 is Feral Charge if you're triggering it off of SPELL_CAST_SUCCESS, #45334 is Feral Charge Effect if you're triggering it off of SPELL_AURA_APPLIED or SPELL_AURA_REMOVED you want the latter, instead of the former.
Creating a table every SPELL_AURA_APPLIED if they are humans is generally bad, passing it as something like "destGUID:spellID" then string.splitting it in RemoveDR is better.
Same with SetDR(), if you move drMultiplier right above SetDR() you'll only create the table once instead of on every call.
For CheckForInstance() you should look into http://www.wowwiki.com/API_IsInInstance as thats a more accurate method then checking coords, you don't need to do a 5 second timer either. Personally I use a combination of ZONE_CHANGED_NEW_AREA + PLAYER_ENTERING_WORLD, I can't recall if ZCNE fires after PEW when logging in/reloading, don't think so.
Originally posted by Silan Does Know It All track stuns for your current target? IE: Say another rogue Cheap Shot's my target, will it track that even if I am not attacking it already?
Yes, it will track all stuns done to your target and those around you. There is currently no way to query how many combo points another rogue or druid has so Know It All will just show the lowest duration on KS and Maim.