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: | 201,154 |
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 |
ContraLFE |
View Public Profile |
Send a private message to ContraLFE |
Find More Posts by ContraLFE |
Add ContraLFE 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 |
alexialei |
View Public Profile |
Send a private message to alexialei |
Find More Posts by alexialei |
Add alexialei 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 |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 5
Uploads: 0
|
Holy cow! That was a fast reply. =) Thanks!
Well, I didn't know what Axis was, but from what you're saying and if I'm understanding it right, it will basically be EH, but way better? Possibly with a UI system for configuration? That would be frickin' sweet! =) As for my issue, I don't know if this made a difference, but it must have. I copied the text out of the priest config file I had and made a new save file. I then deleted config and myconfig out of the priest folder and put my new config file in there. I got my 7 bars back in and out of shadow form! =) But, you were saying how much better the less bars was, so I thought I would give it a go. I gave it a go and I have to say, it makes sense what you were saying. I just need to tweek my custom colors to see the bar underneath. =) I downloaded EH_Vitals and the moment it loaded I was *squeeing* I do have some questions about that, but I'll post them in the Vitals comments to keep apples with apples and bananas with bananas. =) I never really liked oranges. =P As for the bullet points at the end: 1. For the spellID, If I were to leave them where they're at now, and I learned the next rank up, EH will track that new spell as well? If so, hell yea! =) Less work for me. =) I just assumed that EH was designed for higher levels looking to manage their casting/cooldowns easier. And as they wouldn't be getting new spells, I just assumed that each new spell needed the corresponding spellID. 2. For the stance thing, your tutorial on www.castersrus.com only said that stance = 1 was a priest in shadowform and you listed a few others, but you never said that stance = 0 was in normal form. Plus, I was a little confused on if someone was say a druid and was going to turn into a bear, would that be stance 1 or stance 4? Maybe have a small list of each class and their stances. =) But, I just remove the stance line all together. 3. lua errors. I turned them on and in the previous version I was using, there wasn't any. Once I installed the new version, I keep getting the same error anytime anything happens. This was pure stock without me having my own config files in there. It would pop up with a "count" of 2 upon logging in, and if I casted a spell, mount/unmount, etc. it would pop up and the "count" would add 2 more everytime. Hope that helps. Also, the only addons I also have are Bloodhound and Recount. Just in case there might be a conflict with them, but I doubt it. =) Code:
Message: Interface\AddOns\EventHorizon\EventHorizon.lua:451: Usage: UnitBuff("unit", [index] or ["name", "rank"][, "filter"]) Time: Wed Aug 11 17:57:04 2010 Count: 4 Stack: [C]: in function `AuraFunction' Interface\AddOns\EventHorizon\EventHorizon.lua:451: in function `f' Interface\AddOns\EventHorizon\EventHorizon.lua:143: in function <Interface\AddOns\EventHorizon\EventHorizon.lua:140> Locals: (*temporary) = "player" (*temporary) = nil |
![]() |
![]() |
alexialei |
View Public Profile |
Send a private message to alexialei |
Find More Posts by alexialei |
Add alexialei 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 |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 5
Uploads: 0
|
Hey Taroven! I'd like to start off by letting you know that I am enjoying your addon! I was browsing www.shadowpriest.com a few days ago and someone said they used EventHorizon as their spell tracker. Well, I looked into it and I was amazed. =)
I had some issues starting off as I had to learn a bit about lua coding. But, after a few hours of trial and error, I figured it out. =) Your comments really helped out. I ended up customizing it quite a bit and am tracking 7 items currently. I'm still leveling my shadow priest, so every time I learned more spells, I would have to change the spellID. Not a big deal. Just a little typing and a /reload and I was all set for more randoms! =) Here's the deal. Last night I leveled to 40 and got shadowform! =) But, the moment I turned into shadowform, 3 of my spells disappeared. =( I spent 4 hours last night and 2 hours today searching for what I was doing wrong and why it wasn't showing all 7 spells. I was thinking it had to so with stance = 0 or stance = 1 or something like that, or with the requiredTalent = {tab,index} thing. But, nothing I tried worked. Then I just read in some resent comments that shadowform now has 4 bars. =/ "* Priest: Down to four bars for Shadow, yay." Not really a yay for me. =/ Is there any way to change it back? I liked my 7 bars! =) Also, not sure why it is effecting me as I have installed 1.9r249 and that looks to have been changed in 1.9r272. =/ Also, I tried looking in the EventHorizon_Priest config.lua file for help on having the multiple spells in the 1.9r272 version, but it was exactly like the 1.9r249 version. =( I'm just completely lost here and I can't really do randoms efficiently as I'm kind of dependent on EH to get my timing right. =/ Oh yea! The 7 things I am tracking are, in this order: Devouring Plague Rank 3 (19277) Shadow Word: Pain Rank 5 (2767) Mind Blast Rank 6 (8106) Mind Flay Rank 3 (17312) Shadow Weaving (15332) Inner Fire Rank 3 (602) Fade (586) But, when I enter ShadowForm, I only see Shadow Word: Pain, Shadow Weaving, Inner Fire, and Fade. The release notes say that "Shadow: The Mind Flay and SWD bars have been removed. Mind Flay now shares with Mind Blast, SWD shares with SWP." Which, to me would mean that I could just do the new code for multiple spells: - cast = {spellID1, spellID2, spellID3, ...} and that should work. I tried that, and that didn't work either. I'm including the code in my EH_Priest/config.lua file in case you needed it. =P Also, I tried to save the original config.lua file as myconfig.lua, but then EH never loaded it. Was I doing something wrong there as well? Thanks for any help you can give! =) Code:
local config = EventHorizon.config local usemouseover = true -- Make this false or nil (or just delete the line altogether) to make your healing bars not change when you mouse over something. function EventHorizon:InitializeClass() self.config.gcdSpellID = 1243 -- Power Word: Fortitude --[[ Vampiric Touch self:NewSpell({ spellID = 48160, cast = true, debuff = true, dot = 3, stance = 1, requiredTalent = {3,24}, hasted = {3,19}, expectedTicks = 7, }) ]]-- -- Devouring Plague - Rank 3 self:NewSpell({ spellID = 19277, debuff = true, cooldown = true, dot = 3, refreshable = true, expectedTicks = 8, }) -- Shadow Word: Pain - Rank 5 self:NewSpell({ spellID = 2767, debuff = true, dot = 3, refreshable = true, }) -- Mind Blast - Rank 6 self:NewSpell({ spellID = 8106, cast = true, cooldown = true, }) -- Mind Flay - Rank 3 self:NewSpell({ spellID = 17312, channeled = true, numhits = 3, }) -- Shadow Weaving self:NewSpell({ spellID = 15332, playerbuff = true, requiredTalent = {3,12}, -- Shadow Weaving }) -- Inner Fire - Rank 3 self:NewSpell({ spellID = 602, playerbuff = true, }) -- Fade self:NewSpell({ spellID = 586, playerbuff = true, cooldown = true, }) --[[ Shadow Word: Death self:NewSpell({ spellID = 32379, cooldown = true, stance = 1, requiredTalent = {3,19}, }) ]]-- --[[ Renew self:NewSpell({ spellID = 139, playerbuff = true, auraunit = usemouseover and 'mouseover' or 'target', dot = 3, stance = 0, }) ]]-- --[[ Prayer of Mending self:NewSpell({ spellID = 48113, playerbuff = true, cooldown = true, auraunit = usemouseover and 'mouseover' or 'target', stance = 0, }) ]]-- --[[ Penance (including Grace) -- Also EASILY the longest spell entry in EventHorizon to date. Uses an absurd amount of nonstandard types! self:NewSpell({ spellID = 53005, playerbuff = 47930, auraunit = usemouseover and 'mouseover' or 'target', channeled = true, numhits = 2, cooldown = true, stance = 0, requiredTalent = {1,28}, cleu = 'SPELL_HEAL', -- Usage of config.cleu (alias: config.event) keepIcon = true, }) ]]-- --[[ Lesser Heal (including Surge of Light) self:NewSpell({ spellID = 2061, playerbuff = 33151, cast = true, stance = 0, }) ]]-- --[[ Greater Heal (including Serendipity) self:NewSpell({ spellID = 2060, playerbuff = 63731, unique = true, cast = true, stance = 0, }) ]]-- --[[ Circle of Healing self:NewSpell({ spellID = 34863, --playerbuff = -- There's a buff I want to show here, I just haven't decided what. cooldown = true, stance = 0, requiredTalent = {2,24}, }) ]]-- --[[ Weakened Soul (Disc - Can't track PW:S on the same bar yet) self:NewSpell({ spellID = 6788, debuff = true, unique = true, auraunit = usemouseover and 'mouseover' or 'target', stance = 0, requiredTalent = {1,15}, -- Soul Warding }) ]]-- return true end |
![]() |
![]() |
alexialei |
View Public Profile |
Send a private message to alexialei |
Find More Posts by alexialei |
Add alexialei 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 |
myrroddin |
View Public Profile |
Send a private message to myrroddin |
Visit myrroddin's homepage! |
Find More Posts by myrroddin |
Add myrroddin to Your Buddy List |
Taroven |
View Public Profile |
Send a private message to Taroven |
Visit Taroven's homepage! |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
Taroven |
View Public Profile |
Send a private message to Taroven |
Visit Taroven's homepage! |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
Taroven |
View Public Profile |
Send a private message to Taroven |
Visit Taroven's homepage! |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
![]() |
||
|
|
|
![]() |
![]() |
Taroven |
View Public Profile |
Send a private message to Taroven |
Visit Taroven's homepage! |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
![]() |
||
A Defias Bandit
Forum posts: 3
File comments: 25
Uploads: 0
|
As for the LB/LvB bar merge, Elemental is all about cooldown management, and when you've got your two primary spells on the same bar it can make things a bit harder to use. In otherwords, you need to see the cooldowns finishing in advance (I modify mine to line up FS, LvB, LB, CL as the first four rows). If you really need to save space, make Clearcasting and Thunderstorm options rather than being a default part of the setup.
Last edited by binkenstein : 07-22-10 at 03:09 PM.
|
|
![]() |
![]() |
binkenstein |
View Public Profile |
Send a private message to binkenstein |
Visit binkenstein's homepage! |
Find More Posts by binkenstein |
Add binkenstein to Your Buddy List |
![]() |
|
|
Agreed on the new layout making things easier.
I actually wasn't going to combine SWP and SWD at first, but after toying with it a bit I rather enjoyed it, so it stuck. The only problem, as you said, is that it's hard to see the cd, or even notice that it's ready. Additionally, myself and a few others have noted that cooldowns are a little tough to see behind castbars on the combined bars. I have a little surprise in the works for the next release, which should make things a little easier to keep track of. With any luck I'll have it out tonight, the code involved isn't complex in the slightest. |
![]() |
![]() |
Taroven |
View Public Profile |
Send a private message to Taroven |
Visit Taroven's homepage! |
Find More Posts by Taroven |
Add Taroven 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.