Go to Page... |
Compatibility: | Dragonflight (10.0.2) Shadowlands patch (9.2.7) Dragonflight Pre-patch (10.0.0) |
Updated: | 01-02-23 03:01 PM |
Created: | 10-12-09 06:05 AM |
Downloads: | 200,952 |
Favorites: | 380 |
MD5: | |
Categories: | Casting Bars, Cooldowns, Buff, Debuff, Spell, DPS, Healers, Tank, Combat Mods |
EventHorizon now has a Discord: https://discord.gg/mR8xUUK. Come say hi!
Also, EventHorizon is now on github: https://github.com/Brusalk/EventHorizon_Continued -- You can find the latest changes there, but releases will still be released here and on Curse.
-Brusalk (Kilrogg-US)
EventHorizon is now updated and working for Shadowlands. Just download the most recent version and you should be good to go!
If you have and comments, concerns, questions, suggestions, anything, don't hesitate to contact me either through comments here or via mail or whisper in game.
If you feel that the class config for your class is not up to snuff then please let me know why and update it yourself!
There is now a how-to on class configuration below!
There is also a how-to on customization of how EH looks below as well. Check it out!
Please be aware that I'm rewriting this addon from scratch to be released officially soon (tm). Addon development has had to take a backseat to real life for the past few months though I've been working on it as much as I can. (Also, coming in the rewrite is an in-game configuration menu as well as the ability to alter class-configs in-game to make it easier to customize EH.)
If you have a few extra bucks this month and you like all my work, consider chipping in
What does EventHorizon do?
EventHorizon displays all of your class/spec's rotational abilities on a common time scale. This means that instead of seeing a regular percentage-based timer bar, EH shows you exactly what is happening in relation to everything else. If that sounds complicated at all, just look at the screenshots.
The basic idea: An ability that lasts 12 seconds and has 6 seconds remaining shouldn't look exactly the same as one that lasts 5 minutes and has 2.5 minutes remaining.
Videos showing EH in action:
Dezzimal posted a great instructional video using a Shadow Priest for reference.
breakingsong demonstrated EH on a Destro Warlock.
Also, for instant gratification, here's a quick snippet showing a Shadow Priest's rotation at 1 frame per second, using an older layout:
The big white line is the current time. Future events are on the right side, past events on the left. 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). EventHorizon is extremely intelligent when dealing with most things DoT/HoT-related.
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.
How do I set it up?
EventHorizon does not include an in-game configuration UI. However, it really doesn't need one - Everything should "just work".
Power users and those wishing to theme EventHorizon for a specific UI, please read on to the advanced portion of this section. Don't worry, it's easier than it may seem.
The basics:
* The window may be moved via the drag-handle on the upper right frame corner. It may be a little hard to see at first, but will light up as soon as you mouse over it.
* You can show/hide EventHorizon manually by using /eventhorizon or /ehz.
Advanced configuration:
Note: I would highly recommend an advanced text editor such as VS Code if you wish to edit the configuration files. While this isn't required by any means, an editor with syntax highlighting makes changing the files MUCH easier.
* The default configuration for EventHorizon is located in EventHorizon\config.lua. This file contains every setting available for EH and is heavily commented to help tweak things to your liking. This file may be deleted and EventHorizon will maintain its functionality (not that I would ever recommend doing that).
* Any changes you make to config.lua will be removed when you update EventHorizon. This is by design. HOWEVER, there's an easy way to get around that. Simply create a new file (or a copy of config.lua) named "myconfig.lua". This file is automatically loaded, and because it loads after config.lua, the settings in myconfig.lua will always be the ones to appear in-game.
Files
There are 2 files which you can edit to change the physical appearance of EventHorizon including colors, size, global functionality and other things. I'm going to assume that you have the most recent version of the configuration file provided in the most recent version of EventHorizon.
config.lua:
You can think of this as the default settings of EventHorizon. If you want to change settings then you can do so here, but when you download a new version of EventHorizon you have to be careful as the new version includes config.lua and will overwrite any changes you've made to this file. You can always skip this file when overwriting, but it's better to use myconfig.lua as it's intended to avoid this problem.
myconfig.lua:
This file overwrites any values in config.lua with the values changed inside it. So if you have config.width set to 375 in config.lua and config.width set to 200 in myconfig.lua, EventHorizon will use 200 as the value.
Where this is useful is that myconfig.lua is never included in the updated versions of EventHorzion, and as such will never be overwritten when downloading a new version of EventHorizon.
As such best practice is to alter any values you wish to change in config.lua by changing the values inside myconfig.lua.
Configuration
In order to change settings of something you just have to change the text after the equals sign on the line with the setting you want to change.
For example if you wanted to change the width of the addon you would change line 33 which normally reads (by default)
config.width = 375 -- Width of a single bar....
config.width = 200 -- Width of a single bar....
local EHN,ns = ... local config = EventHorizon.config local c = EventHorizon.colors local _,class = UnitClass('player') -- These locals make in-line conditions a little easier. See the color section for a few examples. local DK = class == "DEATHKNIGHT" local Druid = class == "DRUID" local Hunter = class == "HUNTER" local Mage = class == "MAGE" local Paladin = class == "PALADIN" local Priest = class == "PRIEST" local Rogue = class == "ROGUE" local Shaman = class == "SHAMAN" local Warlock = class == "WARLOCK" local Warrior = class == "WARRIOR" --[[ EDIT BELOW THIS LINE ]]--
-- Vampiric Touch/swd cd self:newSpell({ debuff = {34914,3}, cast = 34914, cooldown = 32379, refreshable = true, hasted = true, requiredTree = 3, requiredLevel = 28, stance = 1, })
self:newSpell({ itemID = 1543 })
self:newSpell({ itemID = { 1543, 1544, ... , 1243 }, })
self:newSpell({ slotID = 13, })
self:newSpell({ cast = 1543 })
self:newSpell({ cast = { 1543, 1544, ... , 1243 }, })
self:newSpell({ channel = {1543,3}, })
self:newSpell({ channeled = { {1543,2}, {1544,4}, ... , {1254, 6} }, })
self:newSpell({ cooldown = 1543, })
self:newSpell({ cooldown = {1543, 1642, ... , 1274}, })
self:newSpell({ debuff = {1543, 3}, })
self:newSpell({ debuff = 1543, })
self:newSpell({ playerbuff = {1543, 3}, })
self:newSpell({ playerbuff = 1543, })
self:newSpell({ debuff = {1543, 3}, hasted = true, })
self:newSpell({ debuff = {1543, 3}, recast = true, })
self:newSpell({ playerbuff = {1543, 3}, minstacks = 2, })
self:newSpell({ slotID = 14, internalcooldown = 45, })
self:newSpell({ debuff = {1543, 3}, unique = true, })
self:newSpell({ debuff = {1543, 3}, keepIcon = true, })
self:newSpell({ debuff = {1543, 3}, icon = 1544, })
self:newSpell({ cooldown = 1543, smallCooldown = true, })
self:newSpell({ cooldown = 1543, smallCooldown = true, requiredGlyph = 12456, })
self:newSpell({ cooldown = 1543, smallCooldown = true, requiredTree = 3, })
self:newSpell({ cooldown = 1543, smallCooldown = true, requiredTree = {0,1,3}, })
self:newSpell({ cooldown = 1543, smallCooldown = true, requiredLevel = 84, })
self:newSpell({ cooldown = 1543, smallCooldown = true, stance = 1, })
self:newspell({ cooldown = 1543, smallCooldown = true, stance = {0, 1, 4}, })
File Name |
Version |
Size |
Author |
Date |
Type |
2.3e |
78kB |
11-10-14 11:20 PM |
Addon |
||
v1.9.3 |
71kB |
11-05-10 07:02 AM |
Patch |
Comment Options |
12-14-11, 05:48 PM | |
|
Re: EventHorizon in 25 man raids
No idea. It's been quite a long time since I've looked at the code in any detail.
|
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
12-21-11, 07:29 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
Uptade
hi,
scuse my english, this addon is dead ?
Last edited by Sinseee : 12-21-11 at 07:30 AM.
|
|
Sinseee |
View Public Profile |
Send a private message to Sinseee |
Find More Posts by Sinseee |
Add Sinseee to Your Buddy List |
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
01-12-12, 06:26 PM | |
A Defias Bandit
Forum posts: 3
File comments: 4
Uploads: 0
|
Hasted Dots
Since when did dots stop calculating haste correctly? I could've sworn they were working a few months ago. And now, the dot ticks just keep their default time, instead of decreasing with haste.
You can test this on a warlock. Just run up to the dummy and pop Corruption. The first couple ticks appear correct, but over time, the tick marks and actual ticks can be almost syncopated. Taroven: I know you've stopped actively supporting this addon, so I'd like to help, but I don't know where to begin. I am a programmer but have never used Lua before, but am willing to pick it up. Could you give me some tips on where the tick marks are being calculated and drawn? I'd love to dive in. |
|
neogia |
View Public Profile |
Send a private message to neogia |
Find More Posts by neogia |
Add neogia to Your Buddy List |
01-12-12, 10:11 PM | |||
|
Re: Hasted Dots
Edit: Also might've been an API change, after re-reading that. Not entirely sure. EH gets the tick timing dead-on until certain conditions are met, at which point there's nothing to do but let the spell fall off completely and run off the bars. You can sort of fix this by copying some of the tick logic from earlier versions of EH (which calculated ticks based on their perceived events and recalculated on the fly - works well, but doesn't lend too well to lag at all and doesn't do nice things to CPU usage in raids). A complete revamp of tick handling is definitely first on my things to fix if I were to continue development.
Most of the tick handling is done in SpellFrame_COMBAT_LOG_EVENT_UNFILTERED, around line 1087 in EventHorizon.lua. I would highly recommend reading through it and searching for each variable (omit 'self' in searches for best results) to get an idea of what each does, as most of the spellframe variables are used in the calculations and each has its own (sometimes obscure and usually very specific) purpose. I'd also advise looking through some of the previous EH releases, especially the betas, to get an idea of some of the ideas I was working with. Feel free to PM me with an email address and/or IM details and I'd be happy to lend a hand. On a related note, I probably wouldn't object to a GTC or access to a spare account from anyone interested in a massive update/rewrite. I have the free time to do so now, just no real desire to reactivate my account aside from that purpose.
Last edited by Taroven : 01-12-12 at 10:14 PM.
|
||
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
01-16-12, 09:15 PM | ||
A Kobold Labourer
Forum posts: 0
File comments: 3
Uploads: 0
|
Re: Re: Hasted Dots
Eitherway, you can't use a trialaccount for it? Or no point at low levels? |
|
|
brynjolf |
View Public Profile |
Send a private message to brynjolf |
Find More Posts by brynjolf |
Add brynjolf to Your Buddy List |
01-16-12, 11:06 PM | |||
|
Re: Re: Re: Hasted Dots
|
||
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
01-19-12, 01:48 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
Blade Flurry
Ok my head is about to explode! I need a bit help with the Blade Flurry ability of rogues. What i want to do is to track if the ability is toggled or not. They changed it and now u toggle it on and off at will and if u want to reactivate it there is a cooldown on it. Tbh i dont care about the cd of the skill itself but i want my bars to show if it is enabled or not. I searched for spell ID on wowhead to add it at the config.lua as a playerbuff but nothing happens. Is there a chance that it might be an aura? And if so how do i add it at the config to show the aura? Anyway if u know anything i ll be w8ing an answer.
Edit: There is another problem that i found. The bleed from Hemorrhage through the glyph of hemo cant be tracked. Due to the fact that the bleed has the same effect as the Hemorrhage debuff the addon cant track it. The bleed debuff spell ID is 89775 but its not working. Any ideas?? Ty in advance p.s. i ll say this again. this is the best addon ever
Last edited by Neloangelo13 : 01-24-12 at 11:35 AM.
|
|
Neloangelo13 |
View Public Profile |
Send a private message to Neloangelo13 |
Find More Posts by Neloangelo13 |
Add Neloangelo13 to Your Buddy List |
01-22-12, 10:53 AM | |
A Fallenroot Satyr
Forum posts: 26
File comments: 95
Uploads: 0
|
Fine Tuning?
Hi Tarovan,
Glad to see you are looking into the rewrite again, your continued support even though you aren't playing is much appreciated. Will the rewrite let us have bars be different colours? I haven't played with myconfig for a long time now and apparently last time I did it I'd just edited the main file like a nub so when I updated I lost my settings! Speaking of myconfig does it work for the class specific versions as well as the main one? Anyway what prompted me to post is I'm trying to add something and don't know how. I've got the 4pT13 set bonus on my feral druid, this turns my Frenzied Regeneration into a raid CD but only after I've been in bear form for 15 seconds. So if you are always tanking it's just a press it when needed button but if you are cat you have to plan 15 seconds ahead. I successfully added Frenzied Regeneration to the bear config but I don't know how to get the same bar to show me the debuff, Recently Shapeshifted. I thought that would be the most sensible way to do it. Code:
-- Frenzied Regeneration self:NewSpell({ spellID = 22842, playerbuff = 22842, cooldown = true, stance = 1, requiredTree = 2, requiredLevel = 52, }) I've tried a few things to try and get it to track the debuff too, I was looking at the priest config and tried to copy the formatting for multiple spells on the one bar, I'm completely guessing with the 'playerdebuff' line. This is my last go at getting it to work before going to bed and posting here: Code:
-- Frenzied Regeneration self:NewSpell({ spellID = 22842, cast = {22842,108095}, playerbuff = 22842, playerdebuff = 108095, cooldown = true, stance = 1, requiredTree = 2, requiredLevel = 52, }) If there is an Arms warrior in the raid they provide the 30% bleed debuff whenever one of their bleeds is up, this is basically all the time. As a cat this means I just don't have to cast Mangle but as a bear I still want to cast it every six seconds as it is my biggest threat and damage attack. Currently it isn't showing me the Mangle CD when someone else is providing the debuff, this is a bit irritating as while tanking I'm normally keeping track of other things and can't count GCD's all the time. Also the CD sometimes gets refreshed by Lacerate ticks. Code:
-- Mangle / Bleed damage debuff (god this sucked to look up...) - Also appears in bear form. self:NewSpell({ spellID = 33878, debuff = {35290,50271,30070,16511,33878,33876}, unique = true, refreshable = true, cooldown = true, stance = {1,3}, requiredTree = 2, }) I just looked all of those spell id's up and they are still correct but it did remind me about the rogue config. If you spec Subtlety and use the Glyph of Hemorrhage you want it to show you the bleed part of the hemo as well as the debuff, I'm not sure how to do that but confess I didn't spend much time looking at it. I just tracked down the bleed part of hemo with the glyph to hemo bleed. So is it possible to check for the glyph to be present and if it is show the bleed instead of the debuff, if not just the debuff? Ok I'm starting to babble now, I really better sleep. |
|
Cluey |
View Public Profile |
Send a private message to Cluey |
Find More Posts by Cluey |
Add Cluey to Your Buddy List |
01-22-12, 12:53 PM | ||||||||
|
Re: Fine Tuning?
You can actually have custom colors in the current version, using the following flags in NewSpell: Code:
barcolor = {R,G,B,A} -- color for your auras barcolorunique = {R,G,B,A} -- color for other players' auras
Code:
local _,class = UnitClass('player') -- These locals make in-line conditions a little easier. See the color section for a few examples. local DK = class == "DEATHKNIGHT" local Druid = class == "DRUID" local Hunter = class == "HUNTER" local Mage = class == "MAGE" local Paladin = class == "PALADIN" local Priest = class == "PRIEST" local Rogue = class == "ROGUE" local Shaman = class == "SHAMAN" local Warlock = class == "WARLOCK" local Warrior = class == "WARRIOR" Code:
if Warrior then config.past = -1 elseif Rogue then config.hideIcons = true elseif Priest then config.texturedbars = false else config.backdrop = false end Code:
c.sent = {true,Priest and 0.7 or 1,0.5} -- actually used in the stock config: the second field is 0.7 if priest, or 1 otherwise config.backdrop = Priest -- not in the stock config, but very valid - will set backdrop to true if priest, false otherwise config.backdrop = not Priest -- inverse of above, false if priest and true otherwise config.hideIcons = Rogue or Paladin -- true if warrior or paladin, false otherwise
Code:
self:NewSpell({ spellID = 108095, debuff = true, auraunit = 'player', })
The idea right now is for some extra bar segments/types: 1) An 'overlay' type, which would add itself as a highlight of the main aura when possible (and a different color when not, so it's obvious which spell it is). This would act mostly as its own bar with its own tick info. Not sure if/how cooldowns would be shown in this type. 2) A 'short' type, which would be a smaller (something like 10% of the normal bar height) version of the normal bar, overlaid on the bottom pixels of the normal bar. These short types will stack if more than one exists, and may or may not support ticks. (Probably will as 'sparks' on the bar) 3) This one's a maybe, but a stacked type where a bar is split into equal parts per tracked spell is possible, sharing cast and possibly cooldown info like a single bar would. I'll set all that up to be configurable. The spell config system itself is getting an overhaul, so I'll make sure it's as easy as possible to work with.
|
|||||||
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-04-12, 09:52 AM | |
|
I apologize if this has already been covered but I don't have time to read the several hundred comments that I'm behind.
As a cat druid I have become irritated that trauma isn't showing on my mangle bar in raids, I have a debuff icon elsewhere to show me that it is indeed on the mob. I finally looked at spell id's and found that trauma is not on my old list, instead it's warrior blood frenzy 30070 (4% damage). OLD list: -- Mangle / Bleed damage debuff (god this sucked to look up...) - Also appears in bear form. self:NewSpell({ spellID = 33878, debuff = {35290,50271,30070,16511,33878,33876}, CORRECTED List: (EH Druid myconfig) -- Mangle / Bleed damage debuff (god this sucked to look up...) self:NewSpell({ spellID = 33878, debuff = {35290,50271,46857,16511,33878,33876}, -- gore,tendon rip,trauma,hemorrhage,mangle, mangle -hope this helps P.S. Taroven you are still the greatest!! Couldn't have become part of a top 100 guild without you. Thank you!
Last edited by Kogasu : 02-04-12 at 08:30 PM.
|
|
Kogasu |
View Public Profile |
Send a private message to Kogasu |
Find More Posts by Kogasu |
Add Kogasu to Your Buddy List |
02-06-12, 09:43 PM | |
A Fallenroot Satyr
Forum posts: 26
File comments: 95
Uploads: 0
|
Nice catch Kogasu.
I expect that fixes the problem I was having Taroven. I guess checking them all when I was tired was a stupid idea as I missed this change. |
|
Cluey |
View Public Profile |
Send a private message to Cluey |
Find More Posts by Cluey |
Add Cluey to Your Buddy List |
02-09-12, 05:40 PM | |
A Deviate Faerie Dragon
Forum posts: 13
File comments: 55
Uploads: 1
|
@Taroven,
did you ever thought about supporting a Focustarget? Indeed, I copied EH several months ago on my local PC and renamed all Targets to Focus. So this does work very well. I'm not asking you to support this, I'm just interested Could be a lot of work I guess, to include a second window with different target, so I believe just copying the source as I did would be the fastest solution.
__________________
Never let me down again |
|
Valcry |
View Public Profile |
Send a private message to Valcry |
Find More Posts by Valcry |
Add Valcry to Your Buddy List |
02-09-12, 10:18 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 14
Uploads: 0
|
Fan Update
Someone please fan update this I cannot even play affliction anymore without it. Not to mention that it helped immensely on other classes.
|
|
MagnusXP |
View Public Profile |
Send a private message to MagnusXP |
Find More Posts by MagnusXP |
Add MagnusXP to Your Buddy List |
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.