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,786 |
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 |
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-10-12, 11:15 AM | ||
A Deviate Faerie Dragon
Forum posts: 13
File comments: 55
Uploads: 1
|
Re: Fan Update
@Taroven: Never mind I really thankful anyway that this addon does still work very good, although you don't have any account since ....months? In case somewhen in far future you should not longer be able to support this addon, I might take a deeper look into it. The Main work ist already done and in case Blizzard will change some API for MoP it might not be toooo much work for a third person to correct a few lines. I really love this addon. Every half a year I'm trying to make a new UI and I'm always trying differnt Dot-Addons but I can't find something better for me
__________________
Never let me down again
Last edited by Valcry : 02-10-12 at 11:20 AM.
|
|
|
Valcry |
View Public Profile |
Send a private message to Valcry |
Find More Posts by Valcry |
Add Valcry to Your Buddy List |
02-17-12, 12:38 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Hey there, been awhile since I have posted here as I have just been manually tweaking my old files for over a year. One thing I would like to add to the Vitals section is support for the ranged poison for rogues. Is there any chance of pointing me in the right direction?
|
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-17-12, 02:21 PM | ||
|
As far as Vitals goes, weapon enchants are handled automatically regardless of spellID and such, and should just work. Otherwise as a Rogue you're looking at some fairly indepth changes, since it's pretty much all hard-coded. |
|
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-17-12, 04:51 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Sorry, Ill try to make it clear. Currently vitals tracks the Main Hand and Off Hand poisons. I would like to find a way to have it track the Thrown weapon poison as well. I was looking at the code and it was a bit over my head.
|
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-17-12, 09:30 PM | ||
|
|
|
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-18-12, 02:34 PM | |||
|
Might need to tell your browser to Save As instead of just clicking. Replace EventHorizon_Vitals/core.lua with that. The changes weren't all that bad, just a matter of getting a couple more strings built in Init and adding the extra info to UpdateInventory and OnUpdate_Enchant. Vitals should show them as MH OH Thrown. (Little note: This is built from the release copy of Vitals, so the enchantSeparator option doesn't do anything) |
||
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-18-12, 03:34 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Message: Interface\AddOns\EventHorizon_Vitals\core.lua:158: attempt to index local 'fs' (a nil value)
Time: 02/18/12 16:33:31 Count: 1 Stack: Interface\AddOns\EventHorizon_Vitals\core.lua:158: in function <Interface\AddOns\EventHorizon_Vitals\core.lua:154> Interface\AddOns\EventHorizon_Vitals\core.lua:386: in function `Init' Interface\AddOns\EventHorizon\EventHorizon.lua:2243: in function `LoadModules' Interface\AddOns\EventHorizon\EventHorizon.lua:2539: in function `Initialize' Interface\AddOns\EventHorizon\EventHorizon.lua:2740: in function `f' Interface\AddOns\EventHorizon\EventHorizon.lua:469: in function <Interface\AddOns\EventHorizon\EventHorizon.lua:465> Locals: fs = nil j = "RIGHT" flag = "right" (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index local 'fs' (a nil value)" ns = <table> { powerTypeSecondary = <table> { } Enable = <function> defined @Interface\AddOns\EventHorizon_Vitals\core.lua:635 Init = <function> defined @Interface\AddOns\EventHorizon_Vitals\core.lua:351 backdrop = <table> { } secondaryPowerTypes = <table> { } CheckTalents = <function> defined @Interface\AddOns\EventHorizon_Vitals\core.lua:592 config = <table> { } color = <table> { } auras = <table> { } classcolor = <table> { } powerTypePrimary = <table> { } UNIT_AURA = <function> defined @Interface\AddOns\EventHorizon_Vitals\core.lua:484 Disable = <function> defined @Interface\AddOns\EventHorizon_Vitals\core.lua:655 } |
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-18-12, 03:36 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Date: 2012-02-18 16:35:01
ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\EventHorizon_Vitals\core.lua line 158: attempt to index local 'fs' (a nil value) Debug: [C]: ? EventHorizon_Vitals\core.lua:158: EventHorizon_Vitals\core.lua:154 EventHorizon_Vitals\core.lua:386: Init() EventHorizon\EventHorizon.lua:2243: LoadModules() EventHorizon\EventHorizon.lua:2539: Initialize() EventHorizon\EventHorizon.lua:2740: f() EventHorizon\EventHorizon.lua:469: EventHorizon\EventHorizon.lua:465 AddOns: Swatter, v5.13.5258 (BoldBandicoot) DebugLib, v5.1.DEV.312(/embedded) EventHorizon, v1.9.2 EventHorizonPriest, v EventHorizonVitals, v2.3 SlideBar, v5.13.5258 (BoldBandicoot) Stubby, v5.13.5258 (BoldBandicoot) BlizRuntimeLib_enUS v4.3.2.40300 <us> (ck=108) Ill post this as well, not sure which would help more. |
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-18-12, 06:54 PM | |
|
Whoops. Forgot to actually create the new strings.
I've updated the previously linked file, or you can fix it yourself if you like. Just change the following at line 94 (should be the first/only result if you search for it): Code:
if i <= 3 then Code:
if i <= 5 then |
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-18-12, 07:29 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Thanks, works like a charm now. Its gonna suck for me if/when you ever do another full update because of how heavily modified my files have become.
Ok, Shaman time. I would like to add a line that would track the remaining time on Searing, Magma, and Fire Elemental Totem all in the same line. Would like if it showed the CD of Fire Elemental in the background of it.
Last edited by martinkaca : 02-18-12 at 07:35 PM.
|
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-18-12, 10:23 PM | ||
|
As far as totems go, EH doesn't support them at all in the current build. You can technically write a module to support them, but the best bet is to wait until the rewrite is complete. I'll have full totem support in there. |
|
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-18-12, 10:51 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 13
Uploads: 0
|
Most of my changes were in the class files themselves, just tuning what bars I like, the order of said bars, and the requirements for certain moves to show on the bars. Did you plan on adding a GUI interface in the rewrite? Re-sizing in game would be wonderful. It won't be that bad when I update but it will defiantly take a day or so of tweaking.
|
|
martinkaca |
View Public Profile |
Send a private message to martinkaca |
Find More Posts by martinkaca |
Add martinkaca to Your Buddy List |
02-19-12, 09:19 AM | |
|
No plans for a GUI, sorry. The class config is too complex for one to really be effective or anywhere near easy to implement or support. I'll probably end up writing one for basic stuff like size and position though.
Last edited by Taroven : 02-19-12 at 09:34 AM.
|
|
Taroven |
View Public Profile |
Send a private message to Taroven |
Find More Posts by Taroven |
Add Taroven to Your Buddy List |
02-19-12, 04:51 PM | |
|
I suppose I could give a status report on the rewrite...
Things got back to busy again, but I'm still putting as much time as I'm able into EH. Offhand numbers for what's done and what's not:
* Class Configs, the Bargroup API, and YOU Here's the skivvy on bar groups: They're new, they're awesome, they're a big part of the config for a few classes and anyone wanting a focus window. Bar groups allow EH to show multiple windows, with the option of changing the default unit for contained bars (without needing to change an individual bar entry). And if anyone wants to write the module for it, they'll do a fine job of showing stuff like Bigwigs/DBM timers and whatever random info you want through custom bars. The idea I'm shooting for with the class config is quite a bit different than the old method. Rather than overload a function and dump a bunch of functions EH's way (all the while hoping it all works), it's moving towards a more elegant table-based approach with some new tricks up its sleeves. No examples quite yet, I'm holding off on decisions about the config structure until the spellframe code matures. |
|
Taroven |
View Public Profile |
Send a private message to Taroven |
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.