Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(86 Kb)
Download
Updated: 09-06-14 07:11 PM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Siege of Orgrimmar (5.4)
Escalation (5.3)
Thunder Isle (5.2)
Landfall (5.1)
Mists of Pandaria (5.0.4)
Updated:09-06-14 07:11 PM
Created:10-12-09 06:05 AM
Downloads:118,778
Favorites:382
MD5:
Categories:Casting Bars, Cooldowns, Warlords of Draenor Beta, Beta-version AddOns
6.0.2
EventHorizon Continued  Popular! (More than 5000 hits)
Version: 1.9.5-Beta-4
by: Brusalk [More]
Hey All! Version 1.9.5-Beta-1 adds support for WoD. As I play very few specs actively, I'd like to ask for help from the community of players who use EventHorizon with updating the class configurations for the various specs and getting them release-ready. V 1.9.5-Beta-1 maintains backwards compatibility with 5.4, and also adds in an in-game notification about this request. It should only show up once.
-Brusalk (Kilrogg-US)


EventHorizon is now updated and working for 5.4. Just download the most recent version and you should be good to go! (1.9.5)

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 Click here to lend your support!

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 Notepad++ 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)
Code:
config.width = 375                                -- Width of a single bar....
to

Code:
config.width = 200                                -- Width of a single bar....
And now EventHorizon will have a width of 200 rather than 375.

Other variables are well explained in the text which comes after the -- on the lines respective to their variables.


Best practice would be to have open config.lua and myconfig.lua at the same time. Then for any changes you want to make to EventHorizon that you do not want to change you add into myconfig.lua on a new line the line you want to change by copy and paste, and then change the value to what you want. This way when you update EventHorizon you do not lose all your configuration options


It may seem complicated at first, and you can completely skip the step with myconfig.lua if you want, but once you understand it it's very simple to do


The default myconfig.lua with no variable changes inside it should have the following at the top of the file before any variable changes:

Code:
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 ]]--




* If you would like to show/hide the frame under specific circumstances take a look at EventHorizon_Redshift, which is located in the Optional Files section of this page.
* If you're a Goose user, or have another addon managing your frame visibility, EventHorizonFrame is what you'll want to track.

EventHorizon_Redshift has a similar configuration to EventHorizon itself, though is much simpler in nature.


Altering your classes configuration to fit your specific needs!

The settings where classes/specs bars are located are in config.lua in the folder for your class. (Example: EventHorizon_Monk) For examples I'll use the priest configuration. This is written for use with the new configuration system in mind so if things don't quite match up with what is in your config.lua that is why. You can either use what I've written here or alter what you already have by trial and error

Order:
Bars are added to EventHorizon in the order which they are called for the player's class. So the order of the bars that appear in EventHorizon is dependent on the order in which you add them in the config.lua.

How to add new bars

This is done by calling self:newSpell(). self:newSpell() is a function which takes in a table of bar configuration options.

For example, in the priest configuration we add a bar which has Vampiric Touch/SWD CD with the following:
Code:
-- Vampiric Touch/swd cd
	self:newSpell({
		debuff = {34914,3},
		cast = 34914,
		cooldown = 32379,
		refreshable = true,
		hasted = true,
		requiredTree = 3,
		requiredLevel = 28,
		stance = 1,
	})
Here we add a new bar with the options debuff, cast, cooldown, refreshable, hasted, requiredTree, requiredLevel, and stance
The values of the options is represented by what appears after the = sign and before the ,. cast is set to 34914 which is the spellID of Vampiric Touch. As a result the bar will now show Vampiric Touch casts on this new bar. Any calls of self:newSpell() before this one will appear before this bar, and any calls after this one will appear after this bar in-game.

Altering existing bars:
Simply change values, delete lines of options you want to remove, or add options/values you want to add.


Comprehensive list of options and acceptable values and what they do:


itemID:
Display the cooldown of the item with itemID provided. If more than one itemID is provided in a table, then EH will show the longest.

Example(s):
Code:
self:newSpell({
        itemID = 1543
})
EH will show as a cooldown on this bar the cooldown of item with itemID 1543

Code:
self:newSpell({
       itemID = { 1543, 1544, ... , 1243 },
})
EH will show as a cooldown on this bar the longest cooldown of the items with itemIDs 1543, 1544, ... , 1243


slotID:
Display the cooldown/internal cooldown/playerbuff of the item located in the slot of slotID provided

slotIDs:
ChestSlot = 5
FeetSlot = 8
Finger0Slot = 11
Finger1Slot = 12
HandsSlot = 10
HeadSlot= 1
LegsSlot = 7
MainHandSlot = 16
NeckSlot = 2
SecondaryHandSlot = 17
ShirtSlot = 4
ShoulderSlot = 3
abardSlot = 19
Trinket0Slot = 13
Trinket1Slot = 14
WaistSlot = 6
WristSlot = 9

Example(s):
Code:
self:newSpell({
        slotID = 13,
})
EventHorizon will show the playerbuff/internal cooldown/cooldown of the trinket located in the first trinket slot (slotID = 13)


cast:
Display the casts of the spell(s) provided on this bar.

Example(s):
Code:
self:newSpell({
        cast = 1543
})
EH will show the casts of the spell with spellID 1543

Code:
self:newSpell({
      cast = { 1543, 1544, ... , 1243 },
})
EH will show the casts of the spells with spellIDs 1543, 1544, ... , 1243


channel: (or channeled)
Display the cast of the channeled spell(s) provided on this bar.

Example(s):
Code:
self:newSpell({
        channel = {1543,3},
})
EH will show as a cast the channel with spellID 1543 that hits 3 times over it's full duration

Code:
self:newSpell({
       channeled = { {1543,2}, {1544,4}, ... , {1254, 6} },
})
EH will show as a cast the channel with spellID 1543 that hits 2 times, the channel with spellID 1544 that hits 4 times, ... , and the channel with spellID 1254 that hits 6 times over it's full duration.


cooldown:
A spellID or a table of spellIDs. EH will show the longest cooldown of the provided spellID(s)

Example(s):
Code:
self:newSpell({
        cooldown = 1543,
})
EH will show the cooldown of spell with spellID 1543,

Code:
self:newSpell({
        cooldown = {1543, 1642, ... , 1274},
})
EH will show the longest cooldown of the spells with spellIDs 1543, 1642, ... , 1274


debuff:
A spellID or a table of a spellID and it's unhasted time between ticks (if it's a DoT). Defaults to debuffs on the target.

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
})
EH will show the debuff with spellID 1543 that has an unhasted time between ticks of 3 seconds.

[code]
self:newSpell({
debuff = 1543,
})
EH will show the debuff with spellID 1543 that has no ticks. Just a simple debuff


playerbuff:
If there is no debuff defined for this bar, then EH will show the buff which appears on the player by default. Either a spellID or a table of a spellID and it's unhasted time between ticks

Example(s):
Code:
self:newSpell({
        playerbuff = {1543, 3},
})
EH will show a buff on the player of the buff with spellID 1543 and unhasted time between ticks of 3 seconds.

Code:
self:newSpell({
		playerbuff = 1543,
})
EH will show a buff on the player with spellID 1543 that has no ticks.


hasted:
true or false/nil. If true then the debuff/playerbuff for this bar has hasted ticks.

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
        hasted = true,
})
EH will the debuff with spellID 1543 that has a unhasted tick time of 3 seconds that is affected by haste.


recast:
true or false/nil. If true then a recast line will appear at the end of the debuff/playerbuff indicating that the player should aim to have the cast finish within this area.

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
        recast = true,
})
EH will show a recast line for the debuff with spellID 1543 that has an unhasted time between ticks of 3 seconds.


minstacks:
number or nil. If a number then the debuff/playerbuff defined for this bar must have greater than or equal to the number of stacks for it to show.

Example(s):
Code:
self:newSpell({
        playerbuff = {1543, 3},
        minstacks = 2,
})
EH will show a buff on the player of spellID 1543 that has an unhasted tick time of 3 seconds, but will only show if more than two stacks of the buff is on the player.


internalcooldown:
number or true or false/nil. If a number than EH will display an internal cooldown of number seconds for the slotID provided. If true then EH will display the internal cooldown of the trinket in the provided slotID that is defined in trinkets.lua. If false or nil then will not show an internal cooldown

Example(s):
Code:
self:newSpell({
        slotID = 14,
		internalcooldown = 45,
})
EH will show the internalcooldown of the trinket in slotID 14 as if it has an internal cooldown of 45 seconds.


unique:
true or false/nil. If true then EH will show buffs/debuffs on the target (by default) that are casted by anyone that match the provided debuff or buff ID. Normally debuffs are only shown if cast by the player

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
        unique = true,
})
EH will show a recast line for the debuff with spellID 1543 that has an unhasted time between ticks of 3 seconds that is cast by anyone.


keepIcon:
true or false/nil. If true then EH will not change the icon from the icon that's first shown on login regardless of what's cast.

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
        keepIcon = true,
})
EH will keep the icon of debuff 1543 regardless of what else occurs on this spellbar.


icon:
number or string. If a number than EH will always show as the icon for this bar the icon of the spell of spellID number. If a string then EH will always show the icon provided by the string. The string must be a path to a string. Look up frame:SetTexture() on wowprogramming for more information.

Example(s):
Code:
self:newSpell({
        debuff = {1543, 3},
        icon = 1544,
})
EH will show the debuff 1543 with unhasted time between ticks of 3 seconds, but will always show the icon of the spell with spellID 1544.


smallCooldown
true or false/nil. If true then the cooldown will use the height settings provided inside config.lua represented by smallCooldown rather than cooldown. Basically makes it so a cooldown is smaller than the normal height

Example(s):
Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
})
EH will show a small cooldown of the spell with spellID 1543



Options to restrict when bars are shown:

You may have noticed how not all bars are shown at the same time. That's because of these options! Wooo!


requiredGlyph
spellID or false/nil. If not false/nil then in order for this bar to show the player must have the glyph with spellID provided.

Example(s):
Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
		requiredGlyph = 12456,
})
EH will show a small cooldown of the spell with spellID 1543 if they have the glyph with spellID 12456 active.


requiredTree
A number, a table of numbers or false/nil. If a number between 0 and the number of possible specializations for the players class, then the player's active specialization must be the one represented by the number. 1 represents the first specialization (Disc for priests), 2 represents the second (Holy for priests), 3 represents the third (Shadow for priests) and 4 represents Resto if a druid. 0 represents no specialization.
Can also be a table of numbers in which case the player's active specilization must be one of the provided numbers in the table.

Example(s):
Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
		requiredTree = 3,
})
EH will show a small cooldown of the spell with spellID 1543 if the player's active specialization is the third one for their class.

Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
		requiredTree = {0,1,3},
})
EH will show a small cooldown of the spell with spellID 1543 if the player's active specialization is either none, the first, or the third for their class.


requiredLevel:
A number between 1 and max level or nil/false. If a number than the player must be at the level or higher for the bar to show.
Example(s):
Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
		requiredLevel = 84,
})
EH will show a small cooldown of the spell with spellID 1543 if the player is 84 or higher.


stance
A number between 0 and the number of stances the player can use. The stances start at 0 for no stance, and then as you go right on the stance bar (default UI) the next stance is 1, then 2 and so on.
Can also be a table of numbers in which case the player must be in one of the stances for the bar to show.

Example(s):
Code:
self:newSpell({
        cooldown = 1543,
        smallCooldown = true,
		stance = 1,
})
EH will show a small cooldown of the spell with spellID 1543 if the player is in stance 1.

Code:
self:newspell({
		cooldown = 1543,
		smallCooldown = true,
		stance = {0, 1, 4},
})
EH will show a small cooldown of the spell with spellID 1543 if the player is in either no stance, stance 1, or stance 4.


A few last things in regard to class configs:
These are all individual options which can be combined together to form advanced functionality. The only interaction between the options to keep in mind is that playerbuffs will not show if a debuff is also provided for that bar. This is simply a technical limitation which can't be avoided.

I hope this has made it easier for you to understand how to configure EventHorizon to suit your individual needs!


What's changed from the original EventHorizon?
Check the changelog for the long version, but for a very quick summary of some of the changes:
* ALL classes and specs are now supported. This includes both healing and tanking.
* Class coloring has been implemented, giving a more personal touch to the addon and also providing a more differentiated layout.
* Glyphs that add time to an existing spell now display a stack count on the affected spell's icon. Check the Balance Druid screenshot for an example, it's on the Moonfire bar.
* Much more support has been added for custom spell configuration. Check out the class module code for examples, they're all over the place.
* DoT and HoT ticks are now recalculated every time they occur. This makes EH much, much more accurate than it was previously.

What still needs to be changed?
EventHorizon is past due for a complete rewrite. This is being actively developed and is planned for a release before the official release of Mists of Pandaria within the next month. Please be advised that after it's release 1) I'll no longer be supporting previous versions of EventHorizon, and 2) Configuration options will most likely be lost in the transition. Part of the rewrite is to make EventHorizon easier to configure via in-game options so hopefully it will be easy to get back to what you want. I will attempt to let you still use your old configuration options for the new version, but I can't promise you that it will work


If you have a bug to report, please post it in the comments here.
If you would like to actively participate in EventHorizon's development and know how to work with Google Code's SVN (or are willing to learn), or if you just want to contact me directly, feel free to send me a PM and I'll reply with my contact details.

All Rights Reserved
Changelog:

v1.9.5-Beta-4
*Core:
- Fixed GetAddOnInfo bug disabling get via name and enabled returning false for Load on Demand addons always.

v1.9.5-Beta-3
*Core:
- Fixed GetTalentInfo and GetSpecialization bug causing talents and abilities to display incorrectly.
- - GetSpecialization was functioning incorrectly for requiredTree = {0, ...} class configs.

v1.9.5-Beta-2
*Core:
- Fixed notification error w/ fresh EventHorizonDB variable.

v1.9.5-Beta-1
*Core:
- Got core working for WoD. (First rev.)
- Added notification on first load (one time only) about current state of addon and WoD class config status.
- Fixed GetTalentInfo, GetSpellInfo, and GetNumTalents MoP -> WoD incompatibility issues.

v1.9.5-15
*Core:
- Added the "Adding [bar]" debug messages on login/retalent to debug output only.
*Class Configurations:
- Druid
- - Separated sunfire/moonfire spells into two separate bars
- Hunter
- - Fixed Dire Beast showing for all specs when untalented
- Rogue
- - Applied fix for Shadowblades

v1.9.5-14
*Class Configurations:
- Druid
- - Fixed issue in config around dream of cenarius talent. Should work again
- Rogue
- - Updated completely for MoP

v1.9.5-13
*Class Configurations:
- Warrior
- - Removed Deadly Calm (No longer in-game)
- Hunter
- - Fixed a typo causing major issues

v1.9.5-12
*Class Configurations:
- Shaman
- - Fixed configuration error with level 60/90 talents.

v1.9.5-11
*Core:
- Added support for requiredTalent (graciously given to me by Sylna (http://www.curseforge.com/profiles/Sylna/))
*Class Configurations:
- All
- - Added appropriate talents that weren't there before due to requiredTalent limitations
- Hunter
- - Removed Readiness
- Warlock
- - Added Havoc
- - Added RoF

v1.9.5-10
*Core:
- Changed the refreshable config option to be always true unless explicitly set to false. Shouldn't break anything and should fix tick issues when refreshed
*Class Configurations:
- Warlock
- - Added missing comma
- - Unstable Affliction will now correctly show ticks every 2 seconds unhasted

v1.9.5-9
*Core:
- Removed the spellIDs in tooltips showing by default. If you wish to enable them again, edit the line in EventHorizon.lua that reads local spellIDsEnabled = false to local spellIDsEnabled = true
*Class Configurations:
- Paladin:
- - Prot:
- - - Removed Inquisition
- - - Fixed spellIDs
- - Holy:
- - - Fixed SpellIDs
- - All:
- - - Fixed Judgment SpellID

v1.9.5-8
*Core:
- Fixed playerbuff/debuff not being interpreted correctly.
*Class Configurations:
- All Classes
- Fixed errors in class configs partially causing playerbuffs/debuffs to not be interpreted correctly. All intended debuffs/buffs should show correctly now
- Rogue:
- Fixed Sub Hemo bar. Should now correctly show Hemo DoT duration
- Priest:
- Added PoM CD to renew bar
- Paladin:
- Removed spellIDs which do not exist from class configuration

v1.9.5-7
*Core:
- Identified and probably fixed a bug with SetPoint calls creating Script Ran Too Long errors.
*Class Configurations:
- Priest
- Removed stance reqs for shadow spells
- All casts are now shown for non-shadowform spriests and healers
- Renew is also shown for non-shadowform spriests
- Warlock
- Commented out Soul Swap for affliction. If you want it back delete the line it says to delete to get it back
- Fixed error with Shadowflame debuff dot. Should now correctly show the debuff's ticks


v1.9.5-6
*Core:
- Identified a bug with playerbuff and debuff for class configurations not being interpreted correctly. Working on a fix but it's taking longer than anticipated
*Class Configurations:
- Hunter
- Added support for all DPS increasing talents in the 60 and 75 talent range. Just have to uncomment the ones you want to show and comment out the ones you don't
- Fixed a few talents to work as intended
- Warlock
- Fixed Agony/Corruption now showing for Affliction (related to bug with multiple debuff definitions per bar)
- Fixed error with Destruction not showing. (Turns out I added an extra 3 somewhere :P)

v1.9.5-5
*Class Configurations:
- Druid:
- Fixed issue with an unexpected equals sign on line 34. Turns out I accidentally deleted the self:newSpell({ line. Oopsy :P
- Shaman:
- Added back in Lightning Shield stacks as well as keeping the icon on Lightning Shield so stacks are always shown on the icon.

v1.9.5-4
*Class Configurations:
- Mage:
- Fixed issue with talents for fire mages.
- Shaman:
- Slightly Updated Elemental Shaman configuration.

v1.9.5-3
*Class Configurations:
- Fixed errant newSpell() in disc priest config.
- Vampiric Touch now has a recast line
- Mind Melt correctly shows on Mind Blast bar.
- Added Mind Flay/Devouring Plague bar to Shadow

*Core:
- Fixed typo in newSpell() which prevent auraunit config option from working as intended

v1.9.5-2
*Lots of fixes!

*Class Configurations:
- All classes should be working 100% save for Brewmaster Monks
- Fixed icon/auraunit issues for Fire Mages

*Core:
- Fixed requiredGlyphs to have correct functionality in MoP
- Fixed newSpell() to work 100% correctly for all configurations possible.

v1.9.5-1:
*Fixed an error in the config.lua file making it harder to understand


v1.9.5:
*Fully and completely working version of EventHorizon for MoP
*Class Configurations:
- All are now supported except for Brewmaster Monks
*Core:
- Everything should be working 100%. Trinkets may be bugged.

v1.9.4-3:
*Class Configurations:
- Hunter: Updated for MoP
- Druid: Updated for MoP. Balance may not be working 100%
- Monk: Added and updated for MoP. Missing Brewmaster
- Warlock: Affliction updated for MoP. Demonology and Destruction Missing

V1.9.4-2:
* Class Config's can now use a table of cooldowns. EH will use the longest CD of the provided spells. cooldown = {spell1, spell2, ...}
* Uncommenting the first line will enable the display of spell IDs in tooltips to assist in identifying the spellIDs of talents.
* Misc fixes
* Hunter: Should now be compatible with MoP abilities.
* Shadow Priest: Now Compatible with MoP abilities inc mindbender/sfiend cd and lvl 90talent cd bar

V1.9.4-1: MoP Beta (5.0) compatibility. This is NOT compatible with 4.3. ONLY FOR BETA


v1.9.3-4: WoW 4.1 compatibility. COMBAT_LOG_UNFILTERED events had an extra argument (hideCaster) added after the event arg.
* Little note if you're hacking from an older version, you can search through EventHorizon.lua using a regex of ",\s*event,\s*" and replace with ", event, hideCaster, ". Just watch what you're replacing, there's a couple hits with that which you don't want to replace. Notepad++ handles this very nicely.

v1.9.3-3:
* Death Knights really do exist.
* Mage: Changed the GCD spellID and haste comparison spell to Polymorph. May work a bit better for some players.

v1.9.3-2: Kinda.
* Core: See v1.9.3 notes below for most notes.
* Core: Made some changes to the stack indicator code to hopefully work a bit better. May not play nice with glyph-refresh stacks, let me know.
* REMOVAL - Core: Tick detection is once again (mostly) v1.9.2 code. It was accurate for the most part but did NOT play nicely with some spells.
* REMOVAL - nonAffectingHaste removed.
* Warlock: Removed Drain Mana references, as the spell no longer exists.

Note: I don't have an account, so this release is pretty much triage to fix a few

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.3. 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 r377: Eep.
* Core: Fixed error spam when mouseover units are being actively tracked.
* Core: Increased the period between mouseover aura checks from ~100ms to ~150ms.

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: Fixed. Global savedvars weren't being declared due to an old package script.
* r335-2 corrects another global savedvar issue.


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 r329:
* Core: Fixed stance/form detection.
* Priest (Beta/PTR): Filler bar now tracks Shadow Orbs instead of Mind Spike stacks.

v1.9 r327: Warlock love inc.
* Core: Bypassed a check in UPDATE_SHAPESHIFT_FORM when playing a Warlock. The Immolation Aura bar now appears as intended.
* Warlock (Beta/PTR): Removed Curse bar.
- Demonology: Immolation Aura now appears as intended when in metamorphosis. Bar order has been adjusted.
* Warlock (Live): Adjusted Demonology bar order to closer reflect Beta bars. New filler bar, showing Molten Core procs instead of ISB.

v1.9 r322: SVN messed up EventHorizon.lua in r321, sorry about 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.

Release notes:
v1.9 r274: Minor fixes.
* Trinkets work at login now. Sorry about that. Missed a call at login/reloadui and didn't notice until today.
* Purified Lunar Dust somehow lost its internal cooldown in the shuffle.
* Priest: Mind Sear is now tracked with MB/MF.

v1.9 r272: Not QUITE Axis, but it's getting there pretty quickly.
* NEW FEATURE! Bars are now able to track multiple casts, and can track both casts and channels on the same bar. The bar icon will change according to the last spell cast. (see note)
* Axis's talent check method has been implemented. Talents are now only checked once per talent, instead of once per config appearance. (see note 2)
* Equipment checks now pay better attention to event arguments and thus no longer require throttling. Say goodbye to missing trinkets.
* Various changes to the cast and channel functions, perhaps a slight performance benefit.
* Death Knight: Simplified the layout a bit. Removed some long cooldowns and unneeded buffs, added Howling Blast + Rime for frost.
* Mage: Folded the various Bolts and Scorch into a single bar. Arcane won't see it. Moved ABar down in priority.
* Priest: Down to four bars for Shadow, yay.
- Shadow: The Mind Flay and SWD bars have been removed. Mind Flay now shares with Mind Blast, SWD shares with SWP.
* Shaman: Hey look, I play one these days. Nice little batch of updates.
- Flame Shock is properly tagged as hasted.
- Elemental: Added Thunderstorm, changed EM's requiredTalent to EM (was Lightning Mastery for some reason). Folded Lava Burst and its cooldown into Lightning Bolt.
- Enhancement: Stormstrike debuff is now tracked. Maelstrom Weapon has been folded into Lava Lash's bar.
- Resto: Folded Earthliving Weapon and Lesser Healing Wave into Healing Wave's bar.
* Warlock: Could use feedback on the bar placement.
- The former Shadow Bolt bar now tracks the following casts: Shadow Bolt, Incinerate, Soul Fire, Chaos Bolt (plus cooldown), Drain Life/Mana/Soul (with tick info).

Notes:
1) The spell config remains compatible with previous versions, however a new syntax has been added for the NewSpell cast and channeled flags.
- cast = {spellID1, spellID2, spellID3, ...}
- channeled = { {spellID1,numhits}, {spellID2,numhits}, {spellID3,numhits} } - Note that numhits is not required and will fall back to the NewSpell numhits setting or nothing, if not present.
- See the Warlock, Priest, or Mage config for usage.
- The existing 'keepIcon' flag will prevent the bar icon from changing (casting times already prevent icon changes for buffs/debuffs).
2) Priests went from around 10 talent checks to 4. I'm pretty sure Shammies went from 16 to something like 5 or 6 checks. Pretty awesome stuff.

v1.9 r249: I lied. Got a little tired of random cooldown-induced issues.
* Core: The spell config cooldown flag may now be set to a spellID, to track an alternate spell for cooldown info. See the Warlock config.
* Core: If a buff's duration is longer than its internal cooldown, the cooldown bar will be overlaid like a normal cd. (see note)
* Death Knight: Revamped the config. No more long cooldown option, talent checks are a bit more intelligent to compensate.
* Priest: Penance will keep its own icon.
* Warlock: Adjusted the config a bit to better account for tree-specific procs. The curse bar now tracks Curse of Doom's cooldown.
* Warrior: Taste for Blood now properly displays its internal cooldown (see above).

Note: Some items (Deathbringer's Will in particular) seem to prefer placing a full cooldown bar for whatever reason.

v1.9 r241: EventHorizon is officially feature-frozen barring the discovery of major bugs. Stay tuned for the next betas.
* Core: A few API changes for external config support have been made, nothing affecting normal usage.
* Warlock: Corruption's amount of expected ticks has been corrected.

v1.9 r233:
* Core: The frame update function now obeys config.texturedbars if the option is disabled.
* Core: Removed some debug code that snuck in the release.

v1.9: Next up, Axis!
- NOTE: EventHorizon_Lines and EventHorizon_Redshift will be marked as disabled when you log in. This won't take effect until your next login or reloadui.
- NOTE: EH's savedvariables will be reset with this release, to ensure compatibility with older versions.
- NOTE: If you're an EventHorizon_Vitals user, please update Vitals to the latest version.
* Core: Integrated EH_Redshift and EH_Lines. No more trying not to break 4 addons at once. (notes 1 and 2)
* Core: EH will reset savedvariables when updating to incompatible versions. I'll try not to make use of that, but it helps to have the functionality.
* Core: Hopefully resolved crashes at login. Please let me know what you experience with this release if EH has been crashing your game.
* Core: Lots of optimization and streamlining. There should be an all-around performance increase with v1.9 over previous versions.
* Core: All known bar positioning issues have been fixed.
* Core: The end-of-cast line now appears for all casts by default.
* Core: Bar icons will now change according to the currently shown buff or debuff, if the bar does not track a cast time or equipment slot. Use the 'keepIcon' spell config flag to prevent this (see below).
* Core: Added a workaround for Lua errors caused by a bar trying to create itself without an associated type. Still not sure what causes it.
* Trinkets: Phylactery of the Nameless Lich and Whipsering Fanged Skull now have correct internal cooldowns.
* Trinkets: Spark of Hope is now on the ignore list.
* Config: config.lua has been redocumented. Should be a lot easier to read now.
* Config: config.castLine now accepts a number, defining the minimum cast time needed to show the end-of-cast line. Example: 'config.castLine = 1.5' will produce the old behavior. Default = true (0).
* Config: The end-of-cast line now has an entry in the color table (c.castLine) and is now the same color as the cast bar by default.
* Config: Trinkets should actually be shown by default now. Pretty sure I lied in the v1.8 notes, sorry.
* Config: Removed config.iconborder (no difference if you were using the defaults before).
* Config: config.staticheight (disabled by default) will have EH resize the bars instead of the frame. Credit to Brusalk for the idea. (notes 3, 4, and 5)
* Config: config.hideIcons will hide the bar icons. Usage: config.hideIcons = true
* Config: config.stackFont will change the font of the stack indicators. Usage: config.stackFont = "FontPath" (see note 6)
* Config: config.stackFontColor will change the color of the stack indicators. Usage = config.stackFontColor = {Red,Green,Blue,(Alpha)} (default = {1,1,1}, alpha is optional, does not need config.stackFont to work)
* Config: config.stackOnRight can move the stack indicators to the other side of the frame. Usage: config.stackOnRight = true (default = false)
* Config: Added support for individual bar coloring and textures. Three new options are available in the class config. Also, an extra flag has been added for bar icons.
- bartexture: Sets a custom texture for this bar. Applies to buffs, debuffs, and cooldowns. (example: bartexture = "Interface\\Addons\\EventHorizon\\Smooth")
- barcolor: Sets a custom color for active buffs and debuffs for this bar. Does not support class coloring. (example: barcolor = {Red,Green,Blue,Alpha}, ie {1,0,0,0.6} )
- barcolorunique: Sets a custom color for 'unique' spells for this bar. If barcolor is set and this is not, unique spells will show with barcolor's setting instead. Same format as barcolor.
- keepIcon: Will force the bar icon to stay the same if it would normally change itself when a different spell is being shown. See the Warrior config for usage.
* Warrior: Added keepIcon flag to Revenge and Shield Slam bars.

(1): Redshift and Lines are DISABLED by default. They can be turned on in config.lua, via the options config.enableRedshift and config.Lines.
(2): You can use the slash commands (/eventhorizon or /ehz) to disable Redshift and Lines per character if they are enabled in config.lua, as well.
(3): For example, 'config.staticheight = 150' will make EH 150 pixels tall. With 5 shown bars, each bar will be 30 pixels tall. Spacing is still used in this mode and will act the same as it does otherwise.
(4): Please be aware that this is an 'all or nothing' option. It's made for people with a specific area to place EH who do not want the frame to ever be resized.
(5): When using the staticheight option, icons will be cropped to always show 100% of at least one dimension. If an icon is wider than it is tall, the full width is always shown. Otherwise, the full height is shown.
(6): When config.stackFont is used, a few new options open up:
- config.stackFontSize changes the size of the font. Usage: config.stackFontSize = <number> (default = 12, no effect if stackFont is not used)
- config.stackFontOutline adds an outline or other effect to the font. Valid options are "OUTLINE", "THICKOUTLINE", or "MONOCHROME". Usage: config.stackFontOutline = "FLAG" (default = nothing)
- config.stackFontShadow adds a shadow effect to the stack indicators. Usage: config.stackFontShadow = {Red,Green,Blue,(Alpha)} (default = {0,0,0,0.5} if true, alpha is optional but recommended)
- config.stackFontShadowOffset changes the offset of the font shadow. Usage: config.stackFontShadowOffset = {x,y} (default = {1,-1} if invalid or not specified)
Note: config.stackFontColor doesn't support class coloring directly (though you can work out something if you really want it). Possibly in the future.

r232-specific notes: Fixes for staticheight, plus some much-requested spell config stuff.
* Core: Changing stance/form with staticheight enabled now resizes any active bars and indicators.
* Config: Added support for individual bar coloring and textures. Three new options are available in the class config.
- bartexture: Sets a custom texture for this bar. Applies to buffs, debuffs, and cooldowns. (example: bartexture = "Interface\\Addons\\EventHorizon\\Smooth")
- barcolor: Sets a custom color for active buffs and debuffs for this bar. Does not support class coloring. (example: barcolor = {Red,Green,Blue,Alpha}, ie {1,0,0,0.6} )
- barcolorunique: Sets a custom color for 'unique' spells for this bar. If barcolor is set and this is not, unique spells will show with barcolor's setting instead. Same format as barcolor.

v1.8: Big trinket update. Huge. Long. I have a headache.
* Config: Added a new option, config.showTrinketBars (default = true) - Set this to anything but true or remove it entirely to disable.
* Core: Trinket bars will be automatically added to the frame. Disable config.showTrinketBars if you don't like this. (See notes 1-5)
* Core: Massively improved the trinket detection. (See notes A-D)
* Spent about five hours (I wish I were exaggerating) adding trinkets to the database in trinkets.lua. Pretty much everything with an effect that can be tracked is in there now. Some things with hard-to-find spellIDs or complex effects aren't in. You're welcome, and I hope to never touch that file again.
* Druid/Balance: Added Starfall. Thanks for the reminder, Everdreamer.

* Addenum: EventHorizon now handles the initialization for EventHorizon_Vitals, if loaded. EH_V does next to nothing (as of v2.0 beta) before EH completely finishes loading.

(1): For those that haven't used EventHorizon's trinket support, this adds duration and cooldown info for just about any trinket automatically. This includes internal cooldowns, and does NOT include effects which are not buffs on yourself.
(2): If your trinket is not in trinkets.lua and it has a USE effect, its cooldown will still be tracked. The purpose of trinkets.lua is to assign spellIDs and internal cooldown information for the buffs that trinkets provide. Let me know if you have a trinket that you would like added to the list.
(3): I know this question will come up - TRINKETS.LUA IS NOT AND WILL NEVER BE LOCALIZED. If you are in a locale using a language other than English, EH will ONLY be able to track the cooldowns of trinkets with USE: effects.
(4): Deathbringer's Will should work for everyone now. Thanks for the spellIDs, Kogasu.
(5): I did add DMC:Greatness and Death's Choice/Verdict, let me know if you have any issues with either. It's easy enough to fix if need be.

(A): Empty trinket slots are removed from the display, no more empty bars.
(B): A blacklist contained within trinkets.lua (bottom of the file), EventHorizon.trinkets.blacklist, will tell EH to act as if certain trinkets are not equipped. Only the Argent Dawn trinkets are in for now. Give me names and more will be added, I'm not screwing with it anymore.
(C): Swapping trinkets or other cooldown slots will no longer result in multiple cooldown bars. This was a little tougher to fix than it sounds, let me know of any issues. (I tried to test as thoroughly as possible).
(D): The PLAYER_EQUIPMENT_CHANGED function that is used by trinket/equipment bars has been throttled to reduce framerate spiked caused by changing equipment sets, and perhaps at login.

v1.7c:
* Core: Overhauled the pre-init code. It's a little more intelligent now, resulting in less of a hitch at login/reload and hopefully resolving an issue with random freezes/crashes at login/reload.
* Config: Added Deathbringer's Will to the trinket module. I have no way to see whether or not it actually works, though.
* Shaman: Adjusted a couple talent requirements. Flame Shock and Fire Nova will now be visible to Shamans without Concussion. The spells now check for the absence of Restorative Totems.
- Enhance: Flame Shock is now tracked instead of Earth Shock.

v1.7b:
* Core: Fixed a non-fatal Lua error.

v1.7a:
* Core: Fixed a minor error caused by a variable that got renamed last release.

v1.7: Two major releases in how many days? I MUST HAVE GONE MAD. Don't worry, I didn't break too much (I hope).
* WARNING: Healers might be a bit confused on this release. The default behavior of the healing bars has received some love. Read on for the gory details.
* Core: EventHorizon's layout has changed for the better! The clunky old layout code has been completely rewritten in favor of something much more appealing to the eye.
* Core: Improved spell config flag: auraunit = 'mouseover' - Now works like a [@mouseover,exists][@target] macro (by default) rather than just horribly breaking things.
* Core: New spell config flag: baseunit = 'focus'/'targettarget'/'whateverYouWant' - Adjusts the [@target] portion above to whatever feels more appropriate for you.
* Random: TOC now has a ## Title field, sorry bout that Minion users.
* HEALING CLASSES: Added 'local usemouseover = true' to the top of EventHorizon_CLASSNAME\config.lua. Set this to nil, false, or delete the line entirely to make everything normal again.
- Druid/Resto: All bars involving a targeted buff now watch mouseover units as well.
- Paladin/Holy: All bars involving a targeted buff now watch mouseover units as well.
- Priest/Healing: All bars involving a targeted buff now watch mouseover units as well.
- Shaman/Resto: All bars involving a targeted buff now watch mouseover units as well.

v1.6: Obligatory disclaimer - MANY Saronite Bombs and Target Dummies were harmed in the making of this release. Seriously though, while this has had some fairly in-depth testing, treat this release as beta quality.
* NOTE: YOU MAY NEED TO ADJUST YOUR MYCONFIG.LUA. A few things have been moved to different tables, and there has been an added line in the colors section. Nothing should error unless you're overwriting the color table at once instead of per value. Adjust accordingly.
* Core: Added support for equipped items (trinkets, anyone?) and Engineering tinkers via 'slotID = <slotnumber>' in the class config. Items are refreshed every time you swap gear (no hitching noticed when using the equipment manager, though performance could likely be improved). Please see trinkets.lua before adding anything to your class config.
* Core: Added support for inventory items via 'itemID = <ID>' in the class config. Again, please see trinkets.lua.
* Config: EH's background and border may now be class colored. To make this easier to implement, config.bgcolor and config.bordercolor have been moved to the EventHorizon.colors. Move your myconfig vars around accordingly.
* Config: The 'Now' line has been made less opaque by default, and its color may now be adjusted (including class coloring) via colors.nowLine. See config.lua.
* Config: Indicators without a texture (sent/tick/nowLine, etc) no longer have their opacity multiplied by config.texturealphamultiplier. If you were having issues with this you know what I'm talking about. Otherwise, don't worry about it.
* Class changes: Lots. If you see something different about your class setup, I likely forgot about it when writing this log.
* Hunter: Shuffled the bars around a bit to better reflect shot priorities. Removed Mend Pet from all specs. BM may have a screwy shot list as a result of all this.
* Priest: Lots of changes for playability.
- Shadow: Shuffled the bars a little. They feel a tiny bit more natural now, though they could likely use further changes.
- Holy/Disc: The bars should work a little better for healers using Clique or similar addons/macros for healing, showing more information when you're not actually targeting what you're healing, and more relevant info when you are. Be sure to spam yourself a bit to get the hang of things before using this release in a raid environment. More adjustments will be made over time. (If you play another healing class and would like this same treatment, by all means let me know what I can do for you.)
* Paladin: Added Art of War to Exorcism. Changed one of the Judgement bars yet again. Let me know if I broke anything (again).
* Warrior/Prot: Removed Concussion Blow.
* Misc: ...lots. I probably missed quite a few changes on this log. Have fun finding them!

v1.5c: No core changes. If you're completely happy with your class layouts, feel free to skip this release.
* Warrior: Arms rehaul, etc.
- Arms: Reordered the bars. They feel less clunky now, IMHO.
- Prot: Revenge bar now tracks Sword and Board instead of Improved Revenge's stun.
* Druid: Minor tweaks.
- Feral: Reordered bear bars a bit. I haven't had an opportunity to test these changes, so please send feedback. Frenzied Regeneration isn't tracked on purpose, a dedicated cooldown monitor does a much better job for it.
- Balance: The Typhoon bar now tracks pretty much every worthwhile idol proc.
* Mage: Fixed up +crit debuff tracking and made it consistent across specs.
* Rogue: The inactive/optional Expose Armor bar has been updated to track Sunder Armor as well.

v1.5b:
* Core: Cooldown bars have had their opacity lowered a bit.
* Warrior: Fixed an old typo that was messing up the bars a little for Arms and Fury.
* Priest: Vampiric Touch now uses on-the-fly tick recalculation until I can figure out a way to get its expected ticks working properly with 2t9.

v1.5a:
* Core: Reworked the stance code a bit and added a new spell config flag. See the Warrior module for the new stuff.
- Multiple allowed stances for a spell may be set via the flag "stance = {x, y, ...}". Any number of stances may be specified.
- Disallowed stances may be set via the flag "notstance", using the same format as "stance".
- Cleaned up the stance code a little.
* Core: Cooldowns are now lower on the strata priority. Should make buffs and debuffs a little more visible.
* Druid: Feral abilities now have Ferocity as a required talent. Trees and boomkins, no more pointless bars when running around as a kitty.
- Balance: Added a couple idol procs to Typhoon's bar.
* Paladin: Reordered bars a bit to better reflect the 969 tanking rotation and Ret changes. Let me know if I can further improve it.
* Warrior: Shockwave and Concussive Blow are now tracked. Added some extra talent requirements to trim unnecessary bars.

v1.5:
* Core: Glyph detection has been rewritten a bit and uses less CPU while being less of a pain to work with on my end.
* Core: Glyph-based periodic haste (Corruption/Rejuvenation) should work better now. It's still not 100%, though, due to oddities on Blizzard's end.
* Core: Converted textureID to uniqueID in core and class config. uniqueID tracks a single specific spellID for things like Eclipse and Sacred Shield.
* Core: Some general fixes and API updates that I've likely forgotten by now.
* Druid: Converted Eclipse tracking from textureID to uniqueID. Removed Faerie Fire and reordered Balance bars a bit.
* Paladin: Converted Sacred Shield tracking from textureID to uniqueID.
* Shaman: Thunderstorm removed. Fire Nova and Elemental Mastery added.
* Mage: Updated Frost and Arcane. Arcane now tracks AP and PoM. Frost now tracks most freeze effects, Deep Freeze, and Fingers of Frost (TLDR: EH is now much more usable for Frost).

v1.4: Patch 3.3 compatibility
* Core: Hasted periodic spells now calculate their interval once per cast rather than per tick. This may cause issues with target swapping and variable haste, please let me know if any issues pop up. (See the changed modules for how this works - To use the old per-tick behavior, remove or comment out the expectedTicks flag)
- Note that the new code may cause issues when target switching with variable haste. Let me know if anything pops up.
- Due to the new handling, a check has been added for Mage Armor on the hasted spell's target.
- For hasted effects using the old handling, some extra logic has been added to make sure target swaps don't really screw things up. Future releases may remove the old handling completely. This is untested but should work fine.
* Core: Removed PTR check code. This release should still work in patch 3.2 if anyone is somehow still playing it, but v1.3c is preferred in that case.
* Warlock: Updated for the new haste handling.
* Priest: Updated for the new haste handling.
* Druid: Updated for the new haste handling.
* TOC: Updated for WoW 3.3.

v1.3c:
* Core: Fixed a minor Lua error resulting from delaying (and possibly cancelling) a tracked spellcast under 1.5 seconds. Once again, copypasta kills.

v1.3b:
* Core: Fixed errors related to the casting line. Not sure how they got there, to be honest.
* Warlock: Corruption is once more spec-specific, recovering from its status as a debug spell.

v1.3a:
* Core: Fixed a minor non-fatal typo in UnitBuffUnique (the function used to check status of multiple buffs at once) that caused buffs tagged as unique (Inspiration/AF, Grace) to not track other players' versions. Thanks, hungtar.

v1.3: Patch 3.3 update with some extra goodies.
* Core: Hasted periodic (DoT/HoT) spells are now fully supported. A new spell config var has been added: haste = glyphID or {talentTab,talentIndex}. This piggybacks on tick recalculation and is heavily affected by lag, but is as accurate as WoW's API allows. Ticks may seem a little jumpy depending on your latency. Hasted tick recalculation is only enabled when playing Patch 3.3.
* Core: When a bar has multiple spells assigned to it, spells cast by others should no longer interfere with the showing of your own buffs/debuffs. Warlock curses were affected most by this.
* Core: A vertical line, extending the full height of EH's frame, has been added to signify the end of any cast longer than 1.5 seconds. This uses the 'sent' coloring for those wishing to change it, and config.castLine for those wishing to remove it.
* Core: Bars watching multiple buffs/debuffs now have the ability to track periodic ticks on the bar's initial spell (spellID field) without bugging out. This allows the Warlock curse bar to provide tick info for CoA without messing up other curses, and has potential for a few other classes as well.
* Config: config.castLine has been added. Any value other than 'true' will disable full-frame casting lines if you dislike them.
* Config: config.recalculate is now mandatory and the option to disable it has been removed (as with its config entry).
* Warlock: Corruption is now considered a hasted DoT when using a Glyph of Rapid Decay.
- The Warlock curse bar should now work properly in the presence of other Warlocks.
- Curse of Agony is now able to show its ticks.
* Priest: Vampiric Touch and Devouring Plague are now considered as hasted DoTs as long as Shadowform is talented.
* Druid: Rejuvenation is now considered a hasted HoT when using a Glyph of Rapid Rejuvenation.
* Warrior: You may now use myconfig.lua with the Warrior module without needing to modify EventHorizon_Warrior.toc. No other class needed changing.

v1.2.4c: All Warlocks should now see the curse bar. In addition, the curse bar's icon has been changed to CoA.

v1.2.4b: Made a few changes to the frame reloading code to keep CPU usage down and prevent the frame from randomly reappearing if EH is hidden.

v1.2.4a: Corrected an event call that was being overwritten, preventing EventHorizon from initializing until reloadui. Sorry about that.

v1.2.4:
* Core: DoT/HoT recalculation was throwing errors if a spell ticked between the time a unit hit zero health and actually died (the timing differs between players and most mobs). A workaround has been added.
* Core: The frame is now reloaded when entering/exiting combat, changing zones and areas within zones, and at a few other points. This should hopefully resolve disappearing spells. A better fix is in the works.
* Paladin: Reworked the module a bit. Judgements will now show for all specs (including untalented). Judgement of Justice is tracked by default.
- Holy: If Judgements of the Pure is talented, the Judgement bar will change to JoW + JotP.
- Prot/Ret: Changed talentIDs a bit to handle lower levels and cross-speccing a bit better.
* Shaman: Changed the talentID for Earth Shock to Dual Wield.

v1.2.3:
* Shaman: Updates and fixes to the module. Talents got messed up a bit when I was working with the Resto config.
- All specs: Flame Shock now requires Concussion. Earth Shock now requires Shamanistic Focus. This is for Resto's sake, and there are other ways to handle it if anyone has issues due to the change.
- Elemental: Thunderstorm is now only shown when it's actually talented.
- Enhance: Maelstrom Weapon is now tracked on its own bar.
- Resto: Talent requirements have been fixed. Sorry about that. Also, corrected the spellID for Ancestral Fortitude.
* Priest/Heal: Corrected the spellID for Shaman's Ancestral Fortitude (unique tracking alongside Inspiration).

v1.2.2: Minor fixes and updates while we get ready for partial recoding in v1.3.
* Core: Zoning should no longer break spells that use the requiredGlyph setting. The fix had a 100% success rate in tests on two computers with a friend involved, but your mileage may vary.
* Shaman: Config has been revamped for personal sanity reasons.
- Elemental: Swapped Lightning Bolt and Chain Lightning. Thunderstorm is now tracked.
* Warlock: Haunt once again has a cast time.
* Warrior:
- Protection: Shield Slam will now only appear when Shield Mastery is talented, appears in all stances, and now tracks Glyph of Blocking.
- Arms: Unrelenting Assault's talent index has been fixed.

v1.2.1:
* Core: Fixed a typo that was causing glyph checks to fail. Please let me know if the issues continue.
- v1.2.1a: Added all Warlock curses to the display under a single bar. Be aware that Curse of Agony has no DoT tick display.

v1.2: The long-promised Special-Cases update!
- NOTE: This release marks the official re-release of EventHorizon's continued branch as its own addon. Please update your bookmarks and favorites accordingly. I'll get in touch with Tifi to have him update the original EH page with the new link once it's up.
* Core: Added "textureID" to spell config, allowing a user-specified texture to be used as a filter for any aura. See the Druid config for usage.
* Core: Buffs/debuffs with casting time have had their logic altered. The small recast line (Vampiric Touch, Immolate, etc) is now only displayed if the aura being tracked is the same as the spell being cast. This fixes undesired behavior with many spells, while leaving the spells it was intended for intact.
* Core: Auras using the "playerbuff" spell flag now accept tables as valid entries. This allows multiple buffs to be tracked on the same bar, same as debuffs.
* Core: All auras may now use the "unique" flag, rather than just debuffs.
* Config: Bar backgrounds are now hidden by default.
* Shaman: Updated module, Resto spec now included. Tracked in order: Earthliving Weapon, Riptide, Lesser Healing Wave (includes Ancestral Healing/Inspiration), Healing Wave, Chain Heal (includes Tidal Waves), Earth Shield.
* Paladin: Updated module, Holy spec now included. Tracked in order: Beacon of Light (on Focus), Sacred Shield (on target), Holy Shock, Holy Light (including Light's Grace), Flash of Light (including Sacred Shield HoT effect).
* Rogue: All ranks of Deadly Poison are now tracked. Leveling Rogues no longer have a bar that does absolutely nothing. Note: Due to limitations in combat log filtering, DP ranks lower than max level will have limited functionality. They will not recalculate, nor will ticks appear in the 'past' section of the bar. There is no way to fix this at the moment without massively increasing EventHorizon's cpu usage.
* Priest: Updated module, spell flags should all be correct now. Inspiration tracking now includes unique buff tracking for Ancestral Healing and other priests' Inspiration.
* Druid: Eclipse tracking is now done via Wrath and Starfire, with procs tracked independently.

v1.1.6:
* Core: Fixed timeless spells refreshing to timed breaking bars (Overkill is the only spell that comes to mind here, but should work for everything)
* Rogue: Added Overkill to the display if specced for it.
- v1.1.6a: Minor update. Auras flagged as "refreshable" with an auraunit other than target will no longer glitch on target changes.

v1.1.5: More glyph support.
* Core: Added requiredGlyph = <glyphID> to the spell config. See the Warlock module for reference. Note that if looking for the glyph on WowHead, you need to search for the glyph name and go to the uncategorized spells tab. The actual glyphID is the one with the gear icon, NOT the spell icon.
* Warlock: Warlock module has been updated. Thanks, Warlocomotif.
* Etc: TOC updates across the board. Sorry for being lazy with those, modules should no longer read as out of date.
- v1.1.5a corrects the glyph detection logic. There is a much more efficient way of doing this, which will make it in next release.

v1.1.4:
* Core: Fixed a very old (possibly ancient) bug involving spellcast delays.

v1.1.3: Glyph support!
- This release is somewhere between be
Optional Files (3)
File Name
Version
Size
Author
Date
Type
2.3d
77kB
10-14-14 05:51 PM
Addon
v1.9.3
71kB
11-05-10 07:02 AM
Patch
2.3
10kB
11-04-10 10:01 PM
Addon


Archived Files (64)
File Name
Version
Size
Author
Date
1.9.5-Beta-3
86kB
Brusalk
07-27-14 05:24 PM
1.9.5-Beta-2
86kB
Brusalk
07-20-14 11:31 PM
1.9.5-Beta-1
86kB
Brusalk
07-20-14 11:00 PM
1.9.5-15
85kB
Brusalk
01-06-14 11:31 PM
1.9.5-14
84kB
Brusalk
09-21-13 02:42 PM
1.9.5-13
84kB
Brusalk
09-16-13 09:04 PM
1.9.5-12
84kB
Brusalk
09-16-13 12:13 AM
1.9.5-11
84kB
Brusalk
09-15-13 08:03 PM
1.9.5-10
84kB
Brusalk
09-01-12 01:15 PM
1.9.5-9
84kB
Brusalk
08-31-12 10:58 PM
1.9.5-8
84kB
Brusalk
08-31-12 06:14 PM
1.9.5-7
83kB
Brusalk
08-31-12 04:37 PM
1.9.5-6
83kB
Brusalk
08-30-12 06:44 PM
1.9.5-5
83kB
Brusalk
08-30-12 03:34 AM
1.9.5-4
83kB
Brusalk
08-30-12 02:06 AM
1.9.5-4
83kB
Brusalk
08-30-12 01:51 AM
1.9.5-3
83kB
Brusalk
08-29-12 10:01 PM
1.9.5-2
82kB
Brusalk
08-29-12 06:52 PM
1.9.5-1
76kB
Brusalk
08-28-12 08:17 PM
1.9.5
77kB
Brusalk
08-28-12 02:35 AM
1.9.4-4
74kB
Brusalk
07-25-12 09:13 PM
1.9.4-3
73kB
Brusalk
07-21-12 04:15 PM
1.9.4-2
61kB
Brusalk
07-07-12 01:31 AM
1.9.4-1
61kB
Brusalk
07-06-12 05:30 PM
1.9.4-1
70kB
Brusalk
05-02-11 12:36 PM
1.9.3-3
72kB
Taroven
04-03-11 10:02 AM
1.9.3-3
67kB
Taroven
02-09-11 04:01 PM
1.9.2a
69kB
Taroven
11-09-10 06:11 PM
1.9.2
69kB
Taroven
10-27-10 10:52 PM
1.9 r378
65kB
Taroven
10-24-10 11:24 PM
1.9 r377
65kB
Taroven
10-22-10 08:37 AM
1.9 r376
65kB
Taroven
10-21-10 10:35 PM
1.9 r370
65kB
Taroven
10-20-10 05:33 PM
1.9 r362
65kB
Taroven
10-16-10 06:04 PM
1.9 (r274)
57kB
Taroven
07-21-10 06:14 PM
1.9 (r272)
57kB
Taroven
07-20-10 10:56 PM
1.9 (r249)
55kB
Taroven
06-14-10 09:35 AM
1.9 (r241)
55kB
Taroven
06-09-10 01:24 PM
1.9 (r233)
55kB
Taroven
06-05-10 02:22 PM
1.9 (r232)
55kB
Taroven
06-03-10 03:21 PM
1.8
49kB
Taroven
04-21-10 01:41 AM
1.7c
45kB
Taroven
04-19-10 03:00 PM
1.7b
45kB
Taroven
03-23-10 05:28 PM
1.7a
45kB
Taroven
03-19-10 04:42 PM
1.7
45kB
Taroven
03-18-10 04:33 PM
1.6
43kB
Taroven
03-13-10 06:02 AM
1.5c
38kB
Taroven
01-10-10 06:31 PM
1.5b
38kB
Taroven
01-03-10 02:11 PM
1.5a
38kB
Taroven
12-24-09 12:41 PM
1.5
37kB
Taroven
12-16-09 02:44 AM
1.4
37kB
Taroven
12-09-09 05:30 AM
1.3c
36kB
Taroven
11-29-09 05:38 AM
1.3b
36kB
Taroven
11-20-09 05:05 PM
1.3a
36kB
Taroven
11-20-09 12:37 AM
1.3
36kB
Taroven
11-18-09 10:10 PM
1.2.4c
35kB
Taroven
11-12-09 09:54 PM
1.2.4b
35kB
Taroven
11-06-09 12:44 AM
1.2.4a
35kB
Taroven
11-04-09 12:58 AM
1.2.4
35kB
Taroven
11-03-09 05:48 AM
1.2.3
34kB
Taroven
10-28-09 06:01 AM
1.2.2
34kB
Taroven
10-23-09 04:42 AM
1.2.1a
34kB
Taroven
10-14-09 12:09 AM
1.2.1
34kB
Taroven
10-13-09 11:49 PM
1.2
34kB
Taroven
10-12-09 06:05 AM


Post A Reply Comment Options
Unread 10-28-12, 02:17 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Re: playerbuff clobbers cooldown

Originally Posted by fount
Should I expect to be able to track a cooldown and a buff on the same bar, and not have the cooldown overwritten by the buff?

Code:
self:newSpell({
	cast = 8092, -- Mind Blast
	cooldown = 8092,
	smallCooldown = true,
	playerbuff = 21562, -- Fort (testing)
})
Thats a shadowpriest config and it wont track the cooldown with fort on. Am I missing something?
playerbuff defaults to checking the targets' auras.

You should add in the following line:

Code:
auraunit = "PLAYER",
That'll make any aura checks for the bar check the player rather than target.


I'm guessing that's the problem
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 10-28-12, 08:06 AM  
fount
A Kobold Labourer

Forum posts: 0
File comments: 11
Uploads: 0
playerbuff clobbers cooldown

Should I expect to be able to track a cooldown and a buff on the same bar, and not have the cooldown overwritten by the buff?

Code:
self:newSpell({
	cast = 8092, -- Mind Blast
	cooldown = 8092,
	smallCooldown = true,
	playerbuff = 21562, -- Fort (testing)
})
Thats a shadowpriest config and it wont track the cooldown with fort on. Am I missing something?
Last edited by fount : 10-28-12 at 08:09 AM.
fount is offline Report comment to moderator  
Reply With Quote
Unread 10-23-12, 01:26 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Update on the state of the rewrite:

Hey All. I figured it was due time for an update!

I'm still working as much as I can on finishing up the rewrite. I have a lot done but between the release of 5.0 and raiding, as well as school and the hardest set of classes I've ever taken I don't have a whole lot of free time. (Which is why I was trying to get it out before release, but failed )


I don't have an ETA on the release of the rewrite, but just know that I'm feverishly working on it whenever I have free time!


If you have a feature request or something you'd like to see added in into the rewrite, head over to the curseforge page for EventHorizon and submit an Enhancement Ticket into the ticket system. I can read and approve or disapprove feature requests and keep track of everything easily there!

Link to making a ticket

Please mark it as an enhancement and not a defect! Also include all the details you think might be relevant. I have an example feature request I made up already as somewhat of a guide.


Brusalk - Kilrogg
Last edited by Brusalk : 10-23-12 at 01:27 PM.
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 10-23-12, 01:21 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Originally Posted by Angaroth
Originally Posted by Brusalk
Change in the config.lua file the text
Code:
config.width = 375
to
Code:
config.width = 150
I tried putting
config.width = 100
in myconfig.lua and it didn't narrow it down.
I see in my config.lua
Code:
	width = {
		default = 150,
		number = true,
		name = 'Bar Width',
		desc = 'Set the width of shown bars. Icons add to the actual width of the window.'
	},
Which makes me think that the way to use myconfig.lua has changed. Does anyone have an example of the new way of changing width?
That seems very wrong and not what I have on my version. Can you pastebin.com me your myconfig.lua and config.lua files?

In EventHorizon.lua line 1961 and 1962
DisableAddOn('EventHorizon_Redshift')
DisableAddOn('EventHorizon_Lines')
It seems that you want to make sure that every user gets rid of the possible existence of out-of-date Redshift and Lines, which is understandable; but on the other hand, these 2 lines also generate 2 lines in every AddOns.txt,
EventHorizon_Redshift: disabled
EventHorizon_Lines: disabled
which is rather confusing, because I have installed neither of them.

Just a code cleanup suggestion, personally I was configuring my addons and felt very confused to see these 2 lines.
It'll be gone in the rewrite.

Personally I use
config.Redshift.showFocus = true
But when I /focus target, Redshift won't be triggered immediately until some event in Redshift.Events (EventHorizon.lua around line 3080) happens, usually "PLAYER_TARGET_CHANGED" or "PLAYER_REGEN_DISABLED".

Can you please add "PLAYER_FOCUS_CHANGED" into Redshift.Events? Thanks
It'll be there in the rewrite. For now you can manually add that event into the table following the existing format and it should fix it. I probably won't do an update of the current version of EH unless something breaks hardcore.


Is it possible to track totem duration with event horizon?

(Keeping a fire totem up is one of the core priorities as a shaman)
Unfortunately no. However, in the rewrite the functionality will exist and will be possible.
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 10-23-12, 01:06 PM  
the_mort
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Is it possible to track totem duration with event horizon?

(Keeping a fire totem up is one of the core priorities as a shaman)
the_mort is offline Report comment to moderator  
Reply With Quote
Unread 10-18-12, 08:28 PM  
Everdreamer
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Request for my preference

Personally I use
config.Redshift.showFocus = true
But when I /focus target, Redshift won't be triggered immediately until some event in Redshift.Events (EventHorizon.lua around line 3080) happens, usually "PLAYER_TARGET_CHANGED" or "PLAYER_REGEN_DISABLED".

Can you please add "PLAYER_FOCUS_CHANGED" into Redshift.Events? Thanks
Everdreamer is offline Report comment to moderator  
Reply With Quote
Unread 10-18-12, 08:22 PM  
Everdreamer
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Suggestion for code clean-up

In EventHorizon.lua line 1961 and 1962
DisableAddOn('EventHorizon_Redshift')
DisableAddOn('EventHorizon_Lines')
It seems that you want to make sure that every user gets rid of the possible existence of out-of-date Redshift and Lines, which is understandable; but on the other hand, these 2 lines also generate 2 lines in every AddOns.txt,
EventHorizon_Redshift: disabled
EventHorizon_Lines: disabled
which is rather confusing, because I have installed neither of them.

Just a code cleanup suggestion, personally I was configuring my addons and felt very confused to see these 2 lines.
Everdreamer is offline Report comment to moderator  
Reply With Quote
Unread 10-17-12, 06:59 PM  
Angaroth
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Originally Posted by Brusalk
Change in the config.lua file the text
Code:
config.width = 375
to
Code:
config.width = 150
I tried putting
config.width = 100
in myconfig.lua and it didn't narrow it down.
I see in my config.lua
Code:
	width = {
		default = 150,
		number = true,
		name = 'Bar Width',
		desc = 'Set the width of shown bars. Icons add to the actual width of the window.'
	},
Which makes me think that the way to use myconfig.lua has changed. Does anyone have an example of the new way of changing width?
Last edited by Angaroth : 10-19-12 at 05:51 PM.
Angaroth is offline Report comment to moderator  
Reply With Quote
Unread 09-21-12, 06:21 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Originally Posted by Quil
I've been running into an issue with my Engineering gloves and 5.0:

I added the line
self:NewSpell({slotID = 10})
in the config.lua for priests, and the gloves show properly on the EventHorizon bar. When I zone into an instance (or take a port across the world), my gloves are removed from EventHorizon and no longer show on the spell list. If I manually take my gloves off and put them back on, it re-appears. Same if I reloadui.

From what I can tell, PLAYER_EQUIPMENT_CHANGED fires off everytime I zone, just as I am leaving the current zone. When this occurs, it's returning a nil from FindItemInfo. It's as though it can't get your equipment properly as you're zoning and so the gloves are turned off.
I'll look into it, but as I'm in the home stretch to finish the rewrite (which I'm still planning on releasing in Alpha form on Monday evening!) it's fairly low on my priority list at the moment. It should be fixed in the rewrite at least however!

(wow that was a bad last sentence)
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 09-20-12, 05:08 PM  
Quil
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
I've been running into an issue with my Engineering gloves and 5.0:

I added the line
self:NewSpell({slotID = 10})
in the config.lua for priests, and the gloves show properly on the EventHorizon bar. When I zone into an instance (or take a port across the world), my gloves are removed from EventHorizon and no longer show on the spell list. If I manually take my gloves off and put them back on, it re-appears. Same if I reloadui.

From what I can tell, PLAYER_EQUIPMENT_CHANGED fires off everytime I zone, just as I am leaving the current zone. When this occurs, it's returning a nil from FindItemInfo. It's as though it can't get your equipment properly as you're zoning and so the gloves are turned off.
Quil is offline Report comment to moderator  
Reply With Quote
Unread 09-15-12, 05:16 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Re: Re: Re: Re: Redshift auto hide not working?

Originally Posted by Trimble Epic
Originally Posted by Brusalk
Originally Posted by Brusalk
Originally Posted by Trimble Epic
Is the redshift stuff working? I've tried enabling redshift so that EH should hide when I have no target, but it's no hiding....

Code:
config.enableRedshift = true			-- Enable Redshift's show/hide functions? Default = false
config.Redshift.showCombat = true 		-- Always show EH in combat. Default = true
config.Redshift.showHarm = true			-- Show EH if targeting an attackable unit, in or out of combat. Default = true
config.Redshift.showHelp = false		-- Show EH if targeting a friendly (unattackable) unit, in or out of combat. Default = false
config.Redshift.showBoss = true			-- Always show EH when targeting a boss-level unit, regardless of its attackable state. Default = true
config.Redshift.showFocus = false		-- Always show EH while a focus unit exists, in or out of combat. Default = false
config.Redshift.hideVehicle = true		-- Hide EH if using a vehicle with an actionbar of its own. Does not affect vehicles that do not change the actionbar. If you use Vitals, you may want to set this to false. Default = true
config.Redshift.hideVitals = true		-- Hide EventHorizon_Vitals as well when the main frame is hidden. Default = true
just for good measure, I updated this in both config and myconfig files... The width setting did properly read from myconfig...
I'll look into it. I don't readily see a reason for why it shouldn't be working so I'll update you when I figure out why it's not.
I just wanted to give you an update on this.

I'm still not sure why it's not working as intended. At this point I've spent a few hours so it's getting to the point where I'm thinking it's better to just get the rewrite out as I'll have implemented Redshift/Lines in that (and should be out within 3 weeks so it's not too long a wait)
I should have replied back sooner... Sorry.

I've noticed that the redshift stuff is working just fine... ...on my Warrior, Mage, and Paladin.. It's just the priest that seems to refuse to hide when not in combat and not targeting anything. I've spent some time looking at the priest config, but I can't find anything that should be affecting redshift. I even took out my "myconfig" file and used your default file, and it's still refusing to hide for my priest. Perhaps I'll have to debug how it handles hiding it and trace it.
That's really odd.
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 09-13-12, 04:12 PM  
Trimble Epic
An Aku'mai Servant
 
Trimble Epic's Avatar
AddOn Author - Click to view AddOns

Forum posts: 31
File comments: 40
Uploads: 2
Re: Re: Re: Redshift auto hide not working?

Originally Posted by Brusalk
Originally Posted by Brusalk
Originally Posted by Trimble Epic
Is the redshift stuff working? I've tried enabling redshift so that EH should hide when I have no target, but it's no hiding....

Code:
config.enableRedshift = true			-- Enable Redshift's show/hide functions? Default = false
config.Redshift.showCombat = true 		-- Always show EH in combat. Default = true
config.Redshift.showHarm = true			-- Show EH if targeting an attackable unit, in or out of combat. Default = true
config.Redshift.showHelp = false		-- Show EH if targeting a friendly (unattackable) unit, in or out of combat. Default = false
config.Redshift.showBoss = true			-- Always show EH when targeting a boss-level unit, regardless of its attackable state. Default = true
config.Redshift.showFocus = false		-- Always show EH while a focus unit exists, in or out of combat. Default = false
config.Redshift.hideVehicle = true		-- Hide EH if using a vehicle with an actionbar of its own. Does not affect vehicles that do not change the actionbar. If you use Vitals, you may want to set this to false. Default = true
config.Redshift.hideVitals = true		-- Hide EventHorizon_Vitals as well when the main frame is hidden. Default = true
just for good measure, I updated this in both config and myconfig files... The width setting did properly read from myconfig...
I'll look into it. I don't readily see a reason for why it shouldn't be working so I'll update you when I figure out why it's not.
I just wanted to give you an update on this.

I'm still not sure why it's not working as intended. At this point I've spent a few hours so it's getting to the point where I'm thinking it's better to just get the rewrite out as I'll have implemented Redshift/Lines in that (and should be out within 3 weeks so it's not too long a wait)
I should have replied back sooner... Sorry.

I've noticed that the redshift stuff is working just fine... ...on my Warrior, Mage, and Paladin.. It's just the priest that seems to refuse to hide when not in combat and not targeting anything. I've spent some time looking at the priest config, but I can't find anything that should be affecting redshift. I even took out my "myconfig" file and used your default file, and it's still refusing to hide for my priest. Perhaps I'll have to debug how it handles hiding it and trace it.
Trimble Epic is offline Report comment to moderator  
Reply With Quote
Unread 09-13-12, 01:19 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Originally Posted by binkenstein
How do I disable the spellid insert into tooltips?
At the top of EventHorizon.lua set local spellIDsEnabled = true to false instead.

Or remove the line entirely.
Brusalk is offline Report comment to moderator  
Reply With Quote
Unread 09-13-12, 01:16 PM  
binkenstein
A Kobold Labourer

Forum posts: 0
File comments: 22
Uploads: 0
How do I disable the spellid insert into tooltips?
binkenstein is offline Report comment to moderator  
Reply With Quote
Unread 09-10-12, 07:06 PM  
Brusalk
A Fallenroot Satyr
 
Brusalk's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 174
Uploads: 5
Originally Posted by Juanito
I'm not sure how you're predicting ticks at the moment, but I've found out the AURA_APPLIED/AURA_REFRESHED timestamp and the initial instant tick of SW:P (PERIODIC_DAMAGE) are always identical, so it seems like that should be an easy to filter out issue.

Sorry for all the spam. :P

I've become so dependent on EventHorizon that anything that can improve it for myself and others, excites me, lol. Been thinking of dropping my personal version for the Continued release for awhile, but I'm not sure if you support some of the stuff I do (pet requirement bars mostly >> that change/hide depending on specific UnitCreatureFamily, suppose I could just edit your's to add if not.)
I'm still messing around with how I want to do it and figuring out what will work best.

As for the other requirements and stuff, I'm planning on not only easily exposing a lot of the framework of EH but also I plan on making it easier for other people to make modules for EH with the intent of people being able to add functionality to the bars, such as adding more requiredBlah. I'm also in the process of fleshing out the API for the module system to make it easy.
Brusalk is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

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.