Shadowed Unit Frames

Another example

SUF focuses on a simple configuration while maintaining the flexibility that most users will care about, preventing unnecessary bloating of the addon that sacrifices performance. While you aren't going to be able to set the health bar to be exactly 3.14 pixels outside of the unit frames, you can change options you actually care about such as bar height, ordering, frame height and so on. To speed up configuration, you can configure multiple units at the same time through the global configuration. For example, if you want to set the height of the Player, Target, Focus and Party frames to 50 then the height of Target's Target, Target's Target of Target, Focus Target to 30 you can easily do this by changing two options instead of having to do it seven times.

However, should you need a little bit of extra configuration do not despair! An advanced option is included that will unlock additional configuration giving finer control over the configuration.

Slash commands: /shadoweduf (/suf)

Donations
Donations are not required, but are appreciated!

https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif

Anchoring
Are you driven crazy by your party frames not aligning up exactly with your player frames, even if it's only half a pixel off? The anchoring system will let you solve all alignment issues, by allowing you to anchor a frame to another and set a simple offset from the frame it is anchored to, or by manually setting the X/Y position of the frame.

Using the screen shot as an example, if you drag the player frame the other frames will move with the player frame preserving the alignment and spacing. Each frame can still be manually positioned wherever you want, but this gives you a way of easily anchoring and moving frames around without having to use a ruler.

Zone configuration (Disabling options/units by zone type)
Units and modules can be enabled or disabled based on the type of zone you are in. For example, if you want to see party targets and party pets while you are in an arena but nowhere else then you can use the visibility options to enable it only while inside an arena. Modules can also be disabled by zone type, if you want to see party auras while in a raid instance but nowhere else you can disable the module in raid instances only.

Profiles do not have to be swapped and it is all automatic.

Units
Supports unit frames are as follows:

Player: Player, Pet, Pet Target
General: Target, Target of Target, Target of Target of Target, Focus, Focus Target
Party: Party, Party Pets, Party Targets, Party ToT
Raid: Raid, Raid Pet, Main Tank, Main Tank Target, Main Assist, Main Assist Target, Boss, Boss Target, Boss ToT, Main Assist ToT, Main Tank ToT
Arena: Arena, Arena Target, Arena Pets, Arena ToT
Battleground: Battleground, Battleground Target, Battleground Target

Features

  • Tags: Includes a simple tagging system that can be customized in virtually any way using Lua, even if something isn't included by default odds are you can make the tags
  • Incoming Heals: Supports the Blizzard Events for incoming heal data, no external libraries needed
  • Auras: Can be set to only show auras you casted, or can cast on others. Can enlarge auras that you casted, and hide the cooldown ring on the timers of auras you didn't cast as well to make it more obvious which ones you casted and which ones you didn't
  • Aura Timers: You will need a mod such as OmniCC to show timers on buffs and debuffs
  • Aura Indicators: Display colored squares or icons for certain auras on any unit
  • Fader: Fades frames when out of combat and inactive (100% mana/no target)
  • Class Power (Eclipse, Holy Power, etc): Supports all of the class power features from Eclipse to Burning Embers.
  • Highlighting: Border highlighting of frames based on mousing over them, curable debuffs, aggro or you are targeting/focusing them
  • Range Checking: Fades frames out that are out of range of you
  • Exportable Layouts: If you have a layout, or your friend has a layout you want to try out you can export/import SUF layouts by going to /suf -> Layout Manager
  • Profiles: You can change from any profile to another one without reloading your UI, should you want to use a completely different layout based on zone you can easily switch profiles without hassle

Pretty much all the general unit frame settings are in, health bars, cast bars, power bars, portraits, indicators and so on.

Modules
Basic module support is included, should you be interested in building a module see the documentation on github for more information.

Currently released:

Feedback

Please focus all discussions, questions or general feedback to the forum thread:
http://forums.wowace.com/showthread.php?t=18744

For feature requests and bug reports, please continue to use the Ticket tracker. Feel free to ask on the thread first, if you're unsure what to do!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Shadowed Shadowed Nov 13, 2011 at 21:12 UTC - 0 likes

    If you want to show every spell except X, Y and Z, you need to use a whitelist aura filter. If you want to show every spell except A, B, C you need to use a blacklist aura filter.

    You cannot do both on the same unit however.

  • Avatar of WalkingdeadSH WalkingdeadSH Nov 13, 2011 at 01:04 UTC - 0 likes

    I play a Shadowpriest and Been using this addon for like forever its owns simply as that.

    My problem is that I cannot to save my life remove Mind Trauma and Mind Flay off my target. I've been playing around it for like a year, but I cannot seem to figure it out. Either all my dots, debuffs show on my target including MT and MF or none show.

    All I want is Devouring plague, shadow word: pain and vampiric touch to use, that's it. Everything else not visable.

    I would be eternal greatful if I could receive some help on the matter.

    WD

    Last edited Nov 13, 2011 by WalkingdeadSH
  • Avatar of Shadowed Shadowed Nov 08, 2011 at 18:23 UTC - 0 likes

    You can't.

  • Avatar of lyradf lyradf Nov 08, 2011 at 11:34 UTC - 0 likes

    Hay, Playing a new priest so I am trying to set up raid frames in SUF to "show curable only" debuffs as a frame highlight/outline so I can dispel AND add the priests Weakened Soul debuff tracking icon to the raid frames so I am not trying to shield a player who cant be. I can get it to show either one or the other but not both. Any ideas?

  • Avatar of Shadowed Shadowed Nov 05, 2011 at 05:01 UTC - 0 likes

    It's already fixed.

  • Avatar of SmuvMoney SmuvMoney Nov 05, 2011 at 04:00 UTC - 0 likes

    Is there any way to decouple (as in not anchor) the party pet frames to the party frames?

  • Avatar of Darshan Darshan Nov 04, 2011 at 19:00 UTC - 0 likes

    @Jyces: Go

    Same here, i get errors after the latest alpha. And the values in frames are all gone, just showing on my portrait is this line [name][(()group())][()afk:time]

    When i target a hostile mob i get 1 error:

    Message: ...nterface\AddOns\ShadowedUnitFrames\modules\auras.lua:602: attempt to index field 'buffs' (a nil value) Time: 11/04/11 19:56:33 Count: 11 Stack: ...nterface\AddOns\ShadowedUnitFrames\modules\auras.lua:602: in function `?' ...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:18: in function `FullUpdate' ...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:311: in function `CheckUnitStatus' ...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:164: in function <...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:161> [C]: ? [C]: in function `Show' Interface\FrameXML\SecureStateDriver.lua:83: in function <Interface\FrameXML\SecureStateDriver.lua:73> Interface\FrameXML\SecureStateDriver.lua:137: in function <Interface\FrameXML\SecureStateDriver.lua:119>

    Locals: self = <table> { OnDisable = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:18 updateButton = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:209 UpdateFilter = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:472 scan = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:483 OnEnable = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:8 OnLayoutApplied = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:318 moduleKey = "auras" moduleName = "Auras" Update = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:593 anchorGroupToGroup = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:561 } frame = SUFUnittarget { 0 = <userdata> OnEnter = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\highlight.lua:7 portrait = <unnamed> { } UnregisterAll = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:92 auras = <table> { } registeredEvents = <table> { } powerBar = <unnamed> { } RegisterNormalEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:23 SetVisibility = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:193 healthBar = <unnamed> { } RegisterUpdateFunc = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:65 unitType = "target" SetRangeAlpha = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:124 visibility = <table> { } highlight = <unnamed> { } unitInitialized = true unitRealType = "target" unit = "target" fontStrings = <table> { } unitGUID = "0xF1307296003ABBB7" hasStateWatch = false RegisterUnitEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:59 comboPoints = <unnamed> { } portraitModel = <unnamed> { } SetBarColor = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:132 topFrameLevel = 5 highFrame = <unnamed> { } OnLeave = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\highlight.lua:16 indicators = <unnamed> { } UnregisterSingleEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:42 DisableRangeAlpha = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:116 isUnitVolatile = true fullUpdates = <table> { } UnregisterUpdateFunc = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:82 menu = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:340 combatText = <unnamed> { } incHeal = <unnamed> { } FullUpdate = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:15 comboPointType = "comboPoints" unitOwner = "target" } config = <table> { buffs = <table> { } debuffs = <table> { } } (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index field 'buffs' (a nil value)" scan = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:483 anchorGroupToGroup = <f

    And when i target myself and keep myself targeted, i get 2 of these messages every 0.5 second, so 4 per second. It stops as soon as i clear myself as target.

    Message: ...nterface\AddOns\ShadowedUnitFrames\modules\auras.lua:602: attempt to index field 'buffs' (a nil value) Time: 11/04/11 19:57:47 Count: 216 Stack: ...nterface\AddOns\ShadowedUnitFrames\modules\auras.lua:602: in function `?' ...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:18: in function `FullUpdate' ...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:187: in function <...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:179>

    Locals: self = <table> { OnDisable = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:18 updateButton = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:209 UpdateFilter = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:472 scan = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:483 OnEnable = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:8 OnLayoutApplied = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:318 moduleKey = "auras" moduleName = "Auras" Update = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:593 anchorGroupToGroup = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:561 } frame = SUFUnittargettargettarget { 0 = <userdata> OnEnter = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:600 UnregisterAll = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:92 auras = <table> { } castBar = <unnamed> { } registeredEvents = <table> { } timeElapsed = 0.021003894507885 RegisterNormalEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:23 SetVisibility = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:193 unitRealOwner = "target" RegisterUpdateFunc = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:65 unitType = "targettargettarget" SetRangeAlpha = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:124 visibility = <table> { } indicators = <unnamed> { } unitInitialized = true unitRealType = "targettargettarget" unit = "targettargettarget" unitGUID = "0x0300000001A03C8E" hasStateWatch = false RegisterUnitEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:59 fontStrings = <table> { } highFrame = <unnamed> { } OnLeave = <function> defined @Interface\FrameXML\UnitFrame.lua:208 UnregisterSingleEvent = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:42 DisableRangeAlpha = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:116 powerBar = <unnamed> { } fullUpdates = <table> { } UnregisterUpdateFunc = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:82 menu = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:340 SetBarColor = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:132 healthBar = <unnamed> { } FullUpdate = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\units.lua:15 topFrameLevel = 5 unitOwner = "targettargettarget" } config = <table> { buffs = <table> { } debuffs = <table> { } } (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index field 'buffs' (a nil value)" scan = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:483 anchorGroupToGroup = <function> defined @Interface\AddOns\ShadowedUnitFrames\modules\auras.lua:561

  • Avatar of Jyces Jyces Nov 04, 2011 at 18:02 UTC - 0 likes

    Not sure what changed in the latest udpate, but it messed up all the frames. Cannot see health/mana/name (text) of anyone. Panels are all blank, other then the colors.

    Edit: After reverting back to the previous version, the issue was fixed. I'll keep this version until the newer one is fixed. :)

    Last edited Nov 04, 2011 by Jyces
  • Avatar of Shadowed Shadowed Nov 03, 2011 at 22:04 UTC - 0 likes

    Probably, I don't know the recount system but you could do it I imagine.

  • Avatar of FuriCuri FuriCuri Nov 03, 2011 at 19:37 UTC - 0 likes

    Hello. I was thinking to add recount dps to the frames (via tags). Is it possible?

    Last edited Nov 03, 2011 by FuriCuri

Facts

Date created
May 17, 2009
Categories
Last update
Aug 14, 2015
Development stage
Release
Language
  • enUS
  • koKR
  • ruRU
  • zhCN
  • zhTW
License
All Rights Reserved
Curse link
Shadowed Unit Frames
Reverse relationships
1
Downloads
6,183,516
Recent files

Authors