EventHorizon Continued (Beta release)

Beta notes:
v1.9.3: Mmm, ticks. And math. And updates.
* Core: Tick detection has been completely rewritten and is nearly 100% accurate. I'll spare the details here, check beta comments for how it all works.
* Core: Added a NewSpell flag, 'smallCooldown', indended to improve visibility of certain auras without removing their cooldowns. See the Priest config (Devouring Plague bar) for usage.
* Core: Redshift may now be enabled via slash command when disabled via config.lua. (see note)
* Core: Single spell stack numbers (or spells that show a single stack for no reason) are no longer displayed.
* Core: Recast lines were using some incorrect info in certain conditions.
* Core: Buffs cast by other players should no longer cause EH to panic.
* Core: Various module API refinements, little fixes across the board, and probably a lot of stuff I haven't mentioned in the changelog so far.
* Config: Added a new entry for use with the tick-related changes, nonAffectingHaste = {spellID,multiplier} or {{spellID,multiplier},{spellID,multiplier},...}.
- Warlocks seem to be the only ones needing this at present. If you find other spells affecting cast haste but not tick haste, and your ticks are improperly calculated because of it, by all means let me know.
* Config: Added a new entry to the layout section for the smallCooldown NewSpell flag.
* Druid: Removed Omen of Clarity across all specs. Revive used as haste comparison.
- Feral/Cat: Bars reorganized to better reflect priorities.
- Feral/Bear: Added Swipe CD to Pulverize. Enrage removed (commented out if you prefer seeing it).
- Balance: Shooting Stars added to Starsurge.
- Resto: Tweaks a'la malsudon.
+ Moved Swiftmend cooldown to the Rejuvenation bar.
+ Added Nature's Swiftness cooldown to the casted heals bar.
+ Added Tree of Life.
* Mage: Conjure Refreshment used as haste comparison.
* Hunter: Steady/Cobra bar now tracks Improved Steady Shot (with recast segment).
- BM: Usability tweaks.
+ Frenzy bar now tracks Focus Fire cooldown, Focus Fire buff is no longer tracked (same CD as buff time).
+ Killing Streak is now shown on Kill Command as originally intended.
- Marks: Aimed Shot cast and Master Marksman buffs moved to Chimaera Shot bar.
* Paladin: Redemption used as haste comparison.
* Priest: Resurrection used as haste comparison.
- All specs: Evangelism and Archangel folded into a single bar.
- Shadow: Please spend some time on the target dummy to get used to the changes. Most will find the layout more intuitive than it has been in recent releases.
+ Moved Shadowfiend CD to the Devouring Plague bar. Uses the new smallCooldown flag to improve usability.
+ Filler separated into two bars. Cast filler tracks Mind Melt buff, channel filler tracks Shadow Orbs.
+ Moved Shadow Word: Death CD to the channel filler bar.
* Shaman: Ancestral Spirit used as haste comparison.
* Warlock: Create Healthstone used as haste comparison. Eradication defined as not affecting DoT haste.

Redshift note: You may need to repeat the command a couple of times due to an elusive little glitch, but the settings stick between login/reloadui without further issues.
Redshift remembers your last enableRedshift setting from config.lua. If that's changed, Redshift will default to whatever the new setting is.

v1.9.2: Switched to Git, revision numbers go byebye.
* Core: Added a 'recast' NewSpell flag. 'recast = true,' (or really anything but nil/false) will force the recast segment to show for any aura on the bar.
* Core: Recast lines will try to use the most recent tracked spellcast. (see note)
* Probably some more fixes and changes here and there, but not many. Been focusing on getting things set up with the new repository.

Note: Let's say a bar is tracking a proc and two spells with differing cast times, with the recast flag on. The following situation may happen:
1 - Begin a 1.5 second cast (which procs the aura)
2 - Cast completes and spell's in the air. Begin a 3 second cast (which doesn't proc the aura)
3 - The procced aura appears with a 3 second recast segment, which probably isn't what you wanted to see.
I'll be adding a way to set which casts affect the recast duration in a later release, probably in v1.9.2. For now I don't believe it'll be a huge issue to leave it as is.

v1.9 r378: Eep again.
* Core: Aura info is no longer indexed by spellID. EH now behaves much better in a raid environment.

v1.9 r376: Hopefully that's the last time I'll have to fix Redshift.
* Core: Made some huge changes to how aura information is collected and stored. (see note)
* Core: Redshift now has (almost) complete control over frame visibility when enabled.
* Core: Indicators now use the API methods introduced in 4.0.1 to set their drawing order, instead of relying on framelevel hacks. Less CPU usage, more stable ordering.
* Core: Cooldowns are now prioritized over [de]buffs in terms of drawing order.

Note: I haven't had the opportunity to test every variation, but it seems stable enough. Let me know of any issues.

v1.9 r370: Trinket bars will be disabled by default from this release onward.
* Core: Cast-time debuffs no longer leave a bar segment behind when dispelled or the target dies.
* Core: itemID bars now use the correct GetSpellCooldown syntax.
* Core: Fixed some load order issues that were preventing Redshift from doing its thing at login.
* Core: Added a few API triggers for module usage, fixed some event assignments, and cleaned up a few bits of code.
* Config: Trinket bars are now disabled by default. Look for "config.showTrinketBars" in config.lua if you prefer to see them.
* Class Config: Added an 'icon' NewSpell flag - Sets a static icon for the bar. Can use a spellID, itemID, or texture path. Not usable with equipment slot bars.
* Paladin: Holy Shield has been fixed and folded into the CS/HotR bar, Sacred Duty added to Prot Judgement.
* Warlock: Corruption bar now uses only the Corruption icon. Chaos Bolt's cast is no longer missing from the Destro filler bar.

v1.9 r362: SavedVariable wipe for people affected by r335 quirks. The new class config system has been delayed for now.
* Core: Talent/glyph checks are now throttled and delayed using the same method as gear checks.
* Core: The recast bar segment should no longer glitch out when recasting or refreshing dots.
* Core: The hideIcons option was broken in a namespace cleanup a while back. This has been corrected.
* Core: Most bar components and some portions of the EventHorizon window may now have their blending mode adjusted. (see note)
* Config: Added config.blendModes to config.lua. See the notes there for usage. (note again)
* Config: The default channel tick color has been changed from class color to castbar color.
* Class Config: Removed 3.3.5 compatibility code.
* DK: Fixed up a couple entries. Trying a new spellID for Unholy Blight, the old one apparently wasn't working (haven't had a chance to check myself).
* Priest/Healer: Greater Heal is now shown on the casted-heals bar.
* Priest/Shadow: Added Shadowfiend CD.
* Rogue: Fixed up an entry or two.
* Warlock: Moved Immolation Aura to the bottom of the list. Corruption now shows for all specs.

Note: Try setting some blend modes to "ADD" if you're curious. This can be very useful for some UIs, and does allow for more visible bars depending on your settings, monitor, and perception of color.
Changelog may be incomplete for this release.

v1.9 r335: TOC fix. My packaging script apparently doesn't like changes. Global savedvariables are actually used now, like they were supposed to be forever ago...
r335-2: Corrected some copypasta, sorry about that.

v1.9 r334:
* Core: Killed off some debug code that snuck into r333.

v1.9 r333: Note - SavedVariables wipe, sorry for any inconvenience. Untested in beta, haven't had an opportunity.
* Core: Trinkets and other gear checks now use savedvariables to avoid constant GetItemInfo calls and at least somewhat remedy the related Beta/PTR issues.
* API: Modules are now loaded before checking talents, allowing modules to use EH's talent checks instead of their own.

Note: Beta/PTR users may notice missing trinkets when logging in for the first time. Entering combat, using a spell/skill with a cooldown, or swapping trinkets should fix that.

v1.9 r321: Bunch of workarounds because Blizzard hates me.
* Core: Bars with both channeled spells and auras (Warlock, Priest, Mage) will no longer lose their channel ticks on aura changes.
* Core: Logging in, reloading your UI, or changing gear sets will no longer trigger multiple layout checks at once. Instead, a 2-second delay is used with a single mass update at the end. (note 1)
* Core: Gear checks have been revamped a bit to reduce errors, oddities, and CPU usage.
* Core: Blank trinket bars at login: Added an extra post-load check for trinket bars, using the glyph redetection workaround. (note 2)
* Core: Leveling up will now trigger a layout check.
* Core: Added a couple new slash commands: "/ehz lock" (toggles the drag-handle), and "/ehz status" (shows a list of modules and shown bars). "/ehz help" has been reformatted a bit. (note 3)
* Config: A new color and layout has been added for channeled ticks.
* Config: Changed the bar layouts a bit. Ticks are a little shorter, bars a little taller.
* Mage (Beta/PTR): Corrected Living Bomb's DoT interval.

Notes:
1) This effectively cuts the number of talent checks and layout updates in half. Yay efficiency.
2) The item cache is pretty screwy. Nothing but the itemID is available at login during the loading process. ReloadUI or logging out and back in fixes it.
+ Using the dissapearing-glyph workaround seems to work decently for now. I'll see about a better solution if people still have blank trinket bars.
3) Using "/ehz lock" when the frame would not normally have a handle does nothing, and will tell you that.
4) I'm still looking for inaccuracies and missing procs in the class config. Let me know if you feel like your bars are missing something that should be there.

v1.9 r312: Maintenance release with Cataclysm and PTR compatibility while I break things for Axis. I had this release planned long ago, sorry for the delay.
* NOTE: This release is compatible with live realms, PTRs, and the Cataclysm beta. PTR and Beta players will notice new bar layouts.
* Class Config: Added two new flags to NewSpell:
- requiredTree = <tree> or {tree, tree, ...} - Adds a dominant talent tree requirement to the bar. This follows the order on your talent sheet (ie, Arms Warrior = 1, Shadow Priest = 3)
- requiredLevel = <level> - Adds a level requirement to the bar.
* Core: Internal cooldowns have been adjusted to behave a bit better.
* Core: Made some huge changes to EH's internal table structure. (/dump EventHorizon.vars if you're interested)
* Core: config.past and config.future have been sanitized and will no accept both positive and negative numbers with no ill effect.
* Config: The default cooldown color has changed to a mute blue/teal and made a touch more opaque. (0.6, 0.8, 1, 0.3)
* Config: The default cast color has also been changed slightly and made a little less opaque. (0, 1, 0.2, 0.25)

WotLK class config:
* Priest: Vampiric Touch is down to 5 expected ticks. t9 is no longer default. Change it to 7 if you use it.
* Shaman: The Ele bars did feel funky how they were. Sorry about that.
- Elemental: Lava Burst is back on its own bar. Lightning Bolt and Chain Lightning are shared below it.

Notes: This is beta. It's largely untested and things will probably break. I'll update as often as I can.
* GetItemCooldown seems pretty well screwed, let me know if you get errors related to it and which trinkets you're using if you run into problems.
* Several Cataclysm/PTR configs are completely untested.

Hunter: Frenzy is missing a spellID, got the most likely candidate in for now. If someone wouldn't mind checking ingame - Check the buff name on your pet, then use /dump UnitBuff('pet','Buff Name Here'). I'm not going to be using the PTR for testing, and I have no hunter on the beta.

That was probably an issue in v1.8 as well. The function used to check for trinkets and such also forces a frame update, which was in turn forcing the frame to show. I just added a quick check for if it was supposed to be shown in the first place.

This still doesn't take account Redshift hiding the frame. I'll see about fixing that later.

I just tested r182 and I can not reproduce the "error" when I change weapons and/or specs. So I would consider it fixed.

I might be doing something silly but using a myconfig file in a EventHorizon _>insert class< folders doesnt work?

I can use myconfig in the main EventHorizon folder but trying to use one in EventHorizon_Druid seems to have no effect. Yes I did remember to restart WOW when I first created the myconfig file.

EDIT: Hmmm more weirdness I replaced the contents of the config file in EventHorizon_Druid folder with the myconfig file I made and on reload EventHorizon simply dissapeared. I've probably deleted a bracket or added an extra one by mistake but here's the edited config file i tried to use

First thing I tried was to simply delete the spells I had commented out - EventHorizon still MIA. Then I deleted the spell I added (faerie fire (feral) should prob be in a bear's default setup as its only slightly less threat then mangle and so is used pretty much every CD) - no effect. In the interest of completeness here's the myconfig I used in the main EventHorizon Folder

That was probably an issue in v1.8 as well. The function used to check for trinkets and such also forces a frame update, which was in turn forcing the frame to show. I just added a quick check for if it was supposed to be shown in the first place.

This still doesn't take account Redshift hiding the frame. I'll see about fixing that later.

I play a resto shaman that has elemental off-spec and I use EventHorizon only for my offspec and just hide the window when I am resto. I downloaded the latest beta yesterday and found out that when I change weapon the EventHorizon window automatically pops up, even if I have hidden it. I am not sure if this is intended or not, just wanted to give you a heads up in case it is unintended.

I did and wow just say there's an error, command does not exist. Yep the it is active. So not sure why it wont show. Only thing I can think of is that maybe its off the screen.

The error you're referring to is an error that came up with using static-height which I reported in the comments on the main EventHorizon Continued page which caused it to error when trying to use static height

Originally posted by Morfiene I did and wow just say there's an error, command does not exist. Yep the it is active. So not sure why it wont show. Only thing I can think of is that maybe its off the screen.

correction, the newest version of the upload works. Thanks a ton for an excellent add-on. 3 cheers for you!

Originally posted by Morfiene Tried using the 1.9 but nothing comes up on screen. To test this out I removed the folders and reloaded 1.8, EH shows. So I go back remove 1.8 and load 1.9, nothing. Its a great add-on and has helped a ton. I'll stick with 1.8 for now.

Tried using the 1.9 but nothing comes up on screen. To test this out I removed the folders and reloaded 1.8, EH shows. So I go back remove 1.8 and load 1.9, nothing. Its a great add-on and has helped a ton. I'll stick with 1.8 for now.

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.