Download
(24Kb)
Download
Updated: 05-09-09 03:53 AM
Pictures
File Info
Updated:05-09-09 03:53 AM
Created:12-19-08 10:21 AM
Downloads:100,700
Favorites:369
MD5:

EventHorizon  Popular! (More than 5000 hits)

Version: 0.11
by: Tifi [More]

Bad news, everyone: I quit WoW, my account expires on August 11th, and unfortunately Taroven quit too. Unless someone takes over, this addon is officially abandoned. So tick that "Load out of date AddOns" check box and hope for the best!
I just wanted to say thanks for using my AddOns and for all the support, feedback, bug reports, and kind words. Very much appreciated. Bye!


Description
Displays timer bars for you most important abilities' target debuffs (including DoT ticks), cooldowns, and player buffs. All bars share a common time scale to make it easier to plan the next casts in your rotation.
Currently supported classes are Druid, Hunter, Mage, Paladin (Retribution), Priest (Shadow), Rogue, Shaman (Elemental) and Warlock.

Dezzimal was kind enough to put a video on youtube, demonstrating and explaining the addon. Edit: I just found another video showing the AddOn on a Destru Warlock.

Here's what it looks like in action on a Shadow Priest (at 1 FPS ):

The big white line is the current time. Future events are on the right side, past events on the left. So as time goes by, the events scroll from right to left.
The green bars are your cast bars. They use exactly the same times that your normal cast bar would display, with all haste modifiers applied.
You can also see cooldowns, DoTs, and their ticks (predicted in the future, and from the combat log in the past).
The white lines that appear before the cast times are the times when you press the button (send the cast message to the server). The difference between this line and the start of the cast is your lag.

Settings
There's no options GUI, and there won't be.
You can move the frame around by dragging this little handle in the upper right corner.
You can toggle the main frame with /eventhorizon or /ehz.
If you want to change anything else, you have to edit the config.lua files. You can open these files in any text editor, for example notepad.
We try to keep these files clean and well-documented. (Comments start with "--".) If an option is not as clear as it should be, please let us know.

Let's say you've changed some settings. When a new version comes out, you'd have to manually merge the config.lua file. To prevent this, you can create a file named EventHorizon/myconfig.lua. If present, this file will be read after config.lua, thus overwriting the settings in config.lua. Here's my myconfig.lua:

Code:
local config = EventHorizon.config -- <-always keep this as the first line
config.bgcolor = {0,0,0,0.3}
config.bordercolor = {0,0,0,0.3}
config.gcdColor = {.5,.5,.5,.3}
config.future = 15
config.width = 150*(15+3)/(9+3)
config.iconborder = nil
If you'd like to show/hide the addon under certain conditions, please have a look at Goose. The frame you have to add is called EventHorizonFrame, a good start for a condition is "[combat] show;hide". If you're worried that you might accidentally move the frame while in combat, you could also use Goose to hide EventHorizonHandle.

FAQ
How can I change the colors for bars?
At the moment you can't. It's one of the features planned for v1.0.

What about trinkets?
I don't think that tracking trinket procs is a useful feature. EventHorizon is designed to present you with information relevant to decision-making. Sure, you could occasionally refresh a DoT when a trinket buff is about to fade. But the overall gain in DPS (assuming there even is one!) would be very small. So I don't think it's worth cluttering the interface with two more bars.
That being said, it's already possible to track the proc spells from trinkets. For an example look at the Sundial of the Exiled in the comments of the Priest module.

Notes
The addon is intended for level 80 raid chars. While leveling your rotation doesn't really matter anyways, mobs just die too fast.
If you want to help us develop and fine-tune the existing modules, please contact me via PM.
When you report a bug, please include as much relevant information as possible. (Class/spec/how to reproduce/etc) Get an addon like Bugsack for copypasteable error messages. If your bug report is very long, please send it as a PM.
If you have suggestions/feedback feel free to leave a comment.

Credits
Taroven for adding the Druid, Warlock, and Rogue modules, being helpful on IRC and for pushing me to add more features.
Dezzimal for the nice video.
Psychosomatic for the Paladin module.
Binkenstein for helping me with the Elemental module.

v0.11:
Class modules: The file myconfig.lua is now loaded if present, e.g. EventHorizon_Druid/myconfig.lua
Shaman: Added spells Lava Lash, Stormstrike, and Earth Shock when specced Enhancement.
Bugfix: Disabling the GCD indicator with config.gcdStyle=nil won't cause any more errors.

v0.10b:
Druid: Cleaned up comments. Added simple Eclipse tracking (duration and cooldown, no proc info). Rip set to refreshable to fix tick timing with Glyph of Shred.
Hunter: Arcane Shot not tracked when Explosive Shot is talented. Moved Steady Shot to above Kill Shot. Cleaned up some oddities with the comments.
Rogue: Moved ShS nearer to the bottom.
Warlock: Added Glyph of Life Tap for all specs. Added Drain Soul when specced Death's Embrace.

v0.10a:
Mage: Added Winter's Chill tracking to the Frostbolt bar. Also added Blizzard, but it's commented out by default.
Paladin: Added Protection spells, required talent Hammer of the Righteous.
Paladin: Changed required talent for shared Prot/Ret spells to Divine Strength.
Paladin: Reordered all spells to reflect current prioritization.
Warlock: Show Immolate only if Unstable Affliction isn't talented.

v0.10:
Warlock fixed: The spell ID of Conflagrate changed.
Hunter: Added Black Arrow.
Removed stuff for 3.09.

v0.9c
Fixed: Using the slash command will now completely disable the addon. The state is saved in the SavedVar.
Fixed: Indicators are now hidden when their bar is hidden.

v0.9b
Fixed: Ticks from channeled spells were not properly unregistered. This could sometimes lead to disappearing ticks in other spells bars.

v0.9a
Fixed: Overlapping segments won't flicker anymore.
Added config.auraunit field for spell configs to specify a non-default unit (e.g. 'player' for debuffs).
Paladin: Set Divine Storm as required talent for all spells to make the module Retribution-only.
Mage: Added Arcane and (some) Frost spells. Added talent requirements for Fire spells. Added Fireball.
Getting ready for 3.1: Druids' Berserk and Paladins' Divine Storm talent index changes, Warlocks' Siphon Life gets removed. These also should work now on the PTR.

v0.9
The spell bars that depend on talents are now created/shown/hidden when the talents change. Reloading the UI is no longer necessary. Should be working in both 3.0 and 3.1.
Added Paladin module from Psychosomatic. Retribution only, still needs talent dependencies.
Priest: Added talent dependencies.

v0.8
Bar segments are optionally textured now instead of using a solid color.
Added slash commands /eventhorizon and /ehz to toggle the visibility of the main frame.
Added the ability to track debuffs which are unique per mob. The debuff bars get a slightly different color when they were not applied by you.
Druid: The Mangle bars now track Mangle and Trauma debuffs. Added cooldown for Mangle - Bear. Added DoT ticks for Insect Swarm and Moonfire.
Mage: The Scorch bar now tracks both Imp Scorch and Winter's Chill.
Tweaked the default texture a bit.

v0.7b
Removed some settings in the class files that were overwriting settings in the master config.

v0.7a
Warlock: Show Incinerate if Emberstorm is talented, otherwise show Shadow Bolt. Removed Molten Core bar and Backdraft tracking from the default config, as they have no influence on the rotation.
Bugfix: The default anchoring of the handle wasn't working.

v0.7
Added config.spacing = <number> to set the space between two bars.
Added config.iconborder = <boolean> option to toggle the default Blizzard icon border.
Added config.scale = <number> option to scale the main frame.
Added GCD indicator:
config.gcdStyle = 'line' displays the end of the GCD as a thin line.
config.gcdStyle = 'bar' displays the GCD as a bar from now to the end.
config.gcdStyle = nil disables the GCD indicator.
config.gcdColor = {r,g,b,a} sets the color.
The handle and the background frame are now parented to the main frame. If you use Goose to show/hide EventHorizon, you only need to specify conditions for EventHorizonFrame.

v0.6a
Added minstacks=<number> syntax. The Imp. Scorch debuff bar is shown only when five stacks are applied.
Fixed Rogue Hunger for Blood talent index.
Major bug fixed: In some cases the main frame was created multiple times.

v0.5
Added modules for Druids, Hunters, [FFB-]Mages, Rogues and Warlocks.
Most of the settings were moved to the config.lua files. When you want to change something, look there first.
Spell frames can now be shown/hidden depending on stance. Look at the Druid config for an example.
Spell frames can now be created depending on talents. When changing the spec, you may need to reload the interface. Again, look at the Druid config.
Added an (optional) backdrop frame. Enabled by default.

v0.4
Bugfix: When the target dies, predicted ticks are now removed.
Bugfix: Textures of 1 pixel width should now be visible even when the UI scale is low.

v0.3
Minor bug fix.

v0.2
Predicted DoT/MF ticks lying in the past are now replaced by actual ticks taken from the combat log.
If SWP is refreshed after the last tick occured, it's treated like it was recast.

v0.1a
Forgot to add the background texture. -.-

v0.1
Initial beta release.
Optional Files (0)


Post A Reply Comment Options
Unread 05-08-09, 08:07 PM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
Tifi: cncfanatics came up with some code to add custom combat log events to the bar config. He's currently using it to track Rapture procs, and I can see some good use for it elsewhere. Only takes about six lines and an optional class config var if you're interested.
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 07:53 PM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
I'd agree with you on that if the addon provided a way of doing that config per account, or better yet per toon, rather than globally
The methods are already there at your disposal.
Code:
if UnitClass("player") == "ROGUE" then
config.stuff = goeshere
end

if UnitName("player") == "YourNameHere" then
config.morestuff = hi
end
I remember you asked, in one of your first comments here, how much it would take to add an ingame config to EventHorizon. Here's the answer:

As of now, it takes about 4-10 lines of code to create a new config.lua entry that EventHorizon can use (if self.config.newfunction then; code; end; insert newfunction into config.lua). If an ingame config were added, that number would rise exponentially. I won't even get into the additional development and testing time that provokes.

I also won't get into other wide-spread addons such as oUF that completely rely on lua config, which very few people have complained about.

You are not listed here on WoWInterface as an addon author, your only visible activity on WoWI are your four comments in this thread, and I have no idea about your previous programming experience, so I'm being gentle here. I have limited time to play and code, and much of my coding time is spent on my own projects anyway - I only contribute minor changes and config tweaks to EventHorizon, and at least try to assist people via comments.

The last thing I'd want to do with my already busy schedule is rewrite a complex addon from scratch because someone really really really wants ingame config, and/or can't understand the reasons why there is none. It's not something I would personally use, in fact I generally avoid anything with an options window.

That all said, if you want an ingame config for EventHorizon, then by all means do some research and code it yourself. The addon is highly modular and will support the best of your efforts without much (if any) core tweaking.
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 03:32 PM  
gibreel
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Originally posted by Taroven
Besides. Manual config isn't the slightest bit outdated. It gives a higher level of control to an addon and reduces its complexity by a tremendous amount, while allowing feature additions to go through much faster with less testing required. I'd call that win-win.
<Software development philosophy mode=on>
I'd agree with you on that if the addon provided a way of doing that config per account, or better yet per toon, rather than globally. Editing anything under Interface/AddOns is lose as soon as portability or cruft management become topics of discussion. The other flaw with that approach is that takes the burden of ongoing management off the developer and transfers it to the user. As the relationship is generally one-to-many from developer to user, the net effect is to increase the burden associated with managing software over time.
</Software development philosophy mode>

Just my 0.015€ (damned exchange rates & taxes )
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 01:04 PM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
Wall of text inc.

I fully understand the lightweight concept, but no GUI is... outdated.

Tekkub wrote an addon, stealyourcarbon, where you can drag'n'drop items into the addons settings.

Now, my wish would be that this addon has also a GUI, where you can drop the spells and trinkets you want to be tracked by EH on a list, change the order of that list and, very important, save different lists. An autochange on conditions like talent change, solo/party/raid would be uber!
Since when was watching your weight and trying not to eat fatty foods a sin?

It's like giving ice cream to a month-old infant. The quick answer is no. The more accurate answer is, EventHorizon doesn't need any of it and would probably suffer some pretty severe problems from it. We'd be seeing EventHorizon's memory and CPU usage skyrocket from the additional bulk and code needed.

Besides. Manual config isn't the slightest bit outdated. It gives a higher level of control to an addon and reduces its complexity by a tremendous amount, while allowing feature additions to go through much faster with less testing required. I'd call that win-win.

Straight from the front page: There's no options GUI, and there won't be.

Or, at least: does the myconfic.lua-thingy also works for the class configs?
Not at the moment, but it could potentially. Really, you can just modify config.lua for each class config you're changing and call it good.

If yes:
-how do i track faery fire in general (white if it is mine, grey if it is any other, be it improved or not, as a bear/kitty doesn't worry about the spell hit part, but the armor... yummy )
The spellid is 16857 if you'd like to head to EventHorizon_Druid/config.lua and find the FF entry for Balance druids. You'll want to remove the requiredTalent line and change the the spellID line to:
spellID = {770,16857},

-how do i track trinkets (on use and procs, because: a kitty has some 10k AP, mirror of truth procs with 1k AP... thats a solid 10%!)
Take a look at your AP sometime with Savage Roar up, it did change. =P

Anyway, read further along in the comments here for instructions on how to do that, I wrote a very easy to follow guide on it a while ago.

-how do i track heroism (as a non-shaman, including the debuff - useful as a raid leader)
Through your buff/debuff display. I hear that those still serve a purpose.

-how do i get the number of a specific talent to set conditions?
The talent trees are 1,2,3, left to right. The talent index is obtained by counting left to right, top to bottom, within that talent tree. You can figure it out from there with a few examples from the class config files and Wowhead's talent calculator.

-is it possible to set show conditions on multiple stances (p.ex. show in bear, kitty but not caster form)?
Not at the moment, but you can create a second bar for the purpose without penalty.


Please allow me to present a point here, HJT.

EventHorizon is an addon specifically designed to assist players in raid dps rotations. It is NOT designed for the following:
-Raid leading.
-Long cooldown tracking, with very few exceptions.
-Near-permanent debuffs.
-Things that do not affect your normal rotations.

A trinket proc does not affect your rotation unless you really want to screw your dps up. Especially as a cat druid. Tracking FF just adds a bar that's gonna stay lit up for 99% of a fight. Tracking Heroism is just... no.

EventHorizon really can do almost everything you've asked for. However, the question to ask is... why not try to set things up in your UI to avoid having one addon take up half your screen?
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 06:38 AM  
HJT
A Kobold Labourer

Forum posts: 1
File comments: 5
Uploads: 0
I fully understand the lightweight concept, but no GUI is... outdated.

Tekkub wrote an addon, stealyourcarbon, where you can drag'n'drop items into the addons settings.

Now, my wish would be that this addon has also a GUI, where you can drop the spells and trinkets you want to be tracked by EH on a list, change the order of that list and, very important, save different lists. An autochange on conditions like talent change, solo/party/raid would be uber!

Or, at least: does the myconfic.lua-thingy also works for the class configs?
If yes:
-how do i track faery fire in general (white if it is mine, grey if it is any other, be it improved or not, as a bear/kitty doesn't worry about the spell hit part, but the armor... yummy )
-how do i track trinkets (on use and procs, because: a kitty has some 10k AP, mirror of truth procs with 1k AP... thats a solid 10%!)
-how do i track heroism (as a non-shaman, including the debuff - useful as a raid leader)
-how do i get the number of a specific talent to set conditions?
-is it possible to set show conditions on multiple stances (p.ex. show in bear, kitty but not caster form)?
Last edited by HJT : 05-08-09 at 06:42 AM.
Report comment to moderator  
Reply With Quote
Unread 05-07-09, 01:18 AM  
Pretzle
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
A nice quick change to the .toc files to add class colouring to the class modules, if you want to implement it

Death Knight ## Title: EventHorizon_|c10c41f3bDeath Knight|r
Druid ## Title: EventHorizon_|c20ff7d0aDruid|r
Hunter ## Title: EventHorizon_|c30abd473Hunter|r
Mage ## Title: EventHorizon_|c4069ccf0Mage|r
Paladin ## Title: EventHorizon_|c50f58cbaPaladin|r
Priest ## Title: EventHorizon_|c60ffffffPriest|r
Rogue ## Title: EventHorizon_|c70fff569Rogue|r
Shaman ## Title: EventHorizon_|c802459ffShaman|r
Warlock ## Title: EventHorizon_|c909482c9Warlock|r
Warrior ## Title: EventHorizon_|c91c79c6eWarrior|r
Last edited by Pretzle : 05-07-09 at 01:19 AM.
Report comment to moderator  
Reply With Quote
Unread 05-05-09, 11:16 PM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
Originally posted by Sano
I can respect that, though I'm a bit confused as to why it's seems to be such a ridiculous idea. You have what amounts to an event and timing engine that visually cues people. It just doesn't seem to be that much of a stretch to add audio cues.

FWIW, I was able to add in support for an audio cue at the end of an expiring debuff with 4 lines of code including the config file. The fact that I could do it so easily is a testament to the your engine's ability to handle it.

It's not so much about the ability to handle it as it is a matter of feature creep.

This is why I created Clobber, rather than just throwing the routines into EventHorizon: Keep the core slim and handle completely optional features through modules.

It would've taken less than half the code and CPU usage to implement the entirety of Clobber within EventHorizon (which is actually how I started it). In the end it's an option that only a small minority of users will find necessary, and though it may be a tiny addition, it does add to the bulk of the core addon and its config files.

You're welcome to create a module for audio queues, and I would highly encourage releasing it if you do, but it's not something that I would personally add to EventHorizon's core.
Last edited by Taroven : 05-05-09 at 11:16 PM.
Report comment to moderator  
Reply With Quote
Unread 05-05-09, 04:05 PM  
Sano
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 29
Uploads: 4
Originally posted by Tifi
Originally posted by Sano
Would love to see some audio cues worked in.

Definitely not going to happen.
I can respect that, though I'm a bit confused as to why it's seems to be such a ridiculous idea. You have what amounts to an event and timing engine that visually cues people. It just doesn't seem to be that much of a stretch to add audio cues.

FWIW, I was able to add in support for an audio cue at the end of an expiring debuff with 4 lines of code including the config file. The fact that I could do it so easily is a testament to the your engine's ability to handle it.

Report comment to moderator  
Reply With Quote
Unread 05-04-09, 02:38 PM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
Originally posted by Crispy
Great addon! Been using this for a little over a month on boomkin and completely loving it.

The new eclipse tracking is a good addition, but I'm wondering if there's a better way to differentiate between the eclipse buff and it's internal cooldown. Possibly changing color slightly or using a partial bar like at the end of the priest's vampiric touch. Just seems to me like the line that separates the two bars gets lost in there.

Thanks so much for all your hard work.
Try adjusting config.texturealphamultiplier in config/myconfig.lua. You should see a pretty good highlight for duration vs cooldown.
Last edited by Taroven : 05-04-09 at 02:41 PM.
Report comment to moderator  
Reply With Quote
Unread 05-04-09, 09:48 AM  
Crispy
A Kobold Labourer

Forum posts: 1
File comments: 6
Uploads: 0
Great addon! Been using this for a little over a month on boomkin and completely loving it.

The new eclipse tracking is a good addition, but I'm wondering if there's a better way to differentiate between the eclipse buff and it's internal cooldown. Possibly changing color slightly or using a partial bar like at the end of the priest's vampiric touch. Just seems to me like the line that separates the two bars gets lost in there.

Thanks so much for all your hard work.
Report comment to moderator  
Reply With Quote
Unread 05-03-09, 12:46 PM  
cawfee
An Aku'mai Servant
 
cawfee's Avatar
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 94
Uploads: 1
Thanks for adding Drain Soul to this, it makes coordination so much easier still the best dot tracker in existence.
Report comment to moderator  
Reply With Quote
Unread 05-03-09, 08:06 AM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
Originally posted by Tifi
Tarovon, didn't we already talk about Envenom some time ago? I thought the Envenom buff wasn't really worth tracking because it doesn't matter when it comes to decision making, i.e. Rogues use the same skills with or without the buff. I'm gonna leave it commented out for now.
I've found the opposite since hitting 80 on my rogue and raiding quite a bit on it, especially after the recent poison proc changes and a good buff to the Envenom mechanic.

Seeing the buff in relation with the other timers has turned out to be pretty powerful when it comes to energy management - IE, rupture still fairly fresh, 4cp, 3 seconds left on envenom: Pool energy.

It could just be personal preference, but on the other hand my dps is higher when tracking Envenom than not.
Report comment to moderator  
Reply With Quote
Unread 05-03-09, 03:25 AM  
Tifi
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 94
Uploads: 4
Tarovon, didn't we already talk about Envenom some time ago? I thought the Envenom buff wasn't really worth tracking because it doesn't matter when it comes to decision making, i.e. Rogues use the same skills with or without the buff. I'm gonna leave it commented out for now.

Silversage, I suggest using Quartz for lag detection. I thought about adding lag detection, but EventHorizon just isn't the right place. When it comes to lag it's a matter of 10s or 100s of milliseconds, and the EH frame is usually tuned for much longer time intervals (default: 1 pixel = 80ms).
Different colors per bars/segments is on the ToDo list.
EH wasn't designed for vertical scrolling. Sure, in theory it's a simple transformation (x,y -> y,x), but in practice it either makes the addon slower, or the code even more unreadable. I'm not a big fan of options like that.
As for leveling versions you're on your own. There's just no way I'm going to keep track of multiple classes, multiple specs AND multiple levels.

Originally posted by Sano
Would love to see some audio cues worked in.
Definitely not going to happen.

the_Calen, I'll add the Enhancement spells in the next release, thanks.
Last edited by Tifi : 05-03-09 at 04:26 AM.
Report comment to moderator  
Reply With Quote
Unread 05-03-09, 02:08 AM  
Rhomloc
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Glyph of Life Tap - all warlocks

All warlock builds now have Glyph of Life Tap as one of their major glyphs. It's a substantial spell power bonus, lasting 20 sec. I recommend adding it to the default warlock config.lua. It could/should be the first spell, since all rotations begin with it.

--Glyph of Life Tap
self:NewSpell({
spellID = 63321,
playerbuff = true,
})
Report comment to moderator  
Reply With Quote
Unread 05-02-09, 01:54 PM  
Phetus
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 1
Originally posted by Taroven
[bonusbar:5]hide; [combat][harm,nodead] show; hide

Shows the frame when a target is selected, and/or when in combat. Hides the frame otherwise, including when you're controlling a vehicle.

The frame name to do this with is EventHorizonFrame.
Spot on ty for this
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: