Shadowed Unit Frames
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.
Shadowed Unit Frames in WoW Classic
There is in-development Beta versions available for WoW Classic!
Note that WoW Classic does not provide all the information that you might be used to:
- There is no Focus Frame
- Information about the HP of enemies is not available, and they'll show as 100 HP
- Cast Bars for anyone but the player himself are not available
- Debuffs have no duration information
Some of this data can be restored with additional libraries/addons, but it'll always be guesswork and potentially inaccurate. Shadowed Unit Frames comes bundled with LibClassicDurations for debuff durations. Mob HP can be provided by Real Mob Health, which you need to install manually.
Note on copying your layout from Retail to Classic:
In general you cannot copy your layout between the two versions, since they are quite different, and doing so will result in certain elements exclusive to one version (like Pet Happiness on Classic) not always working properly. There are some provisions in the code that makes copying from Retail to Classic mostly work, use at your own risk - however, never copy a Layout from Classic to Retail, this will absolutely result in the Class-specific power bars and other elements not available on Classic to cease to function.
Slash commands: /shadoweduf (/suf)
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.
Feedback
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!
Great frames, moving from Xperl. Total noob question here. I'm sure it's right under my nose. I've set my raid frames using the examples when unlocked, one column of 25 descending down the left side of the screen. However, when I invite one person to check frames, I don't see them when I convert to raid. Checking "show party as raid" works, but unlike Xperl where you can move the one person from group to group and check the position, in SUF when I move them to another group they disappear. I would like to uncheck "show party as raid" and still see the other person. Do I need to be in a full raid to see the raid frames? Is the display of the frames in raid dependent on the number of people you have, e.g. >5?
tenchu: You can't really have it both ways. While OOC the combat fader is supposed to take priority, and in combat the range checker takes priority.
guyver10: You can't, and dynamically hiding the player frame isn't something I plan on adding. The zone configuration is the closet you'll be able to get.
Shadowed:
Thanks for the add-on, I really appreciate your continued work on it. I have a configuration question that I hope you can help me figure out.
I don't really see a need for me to have my player unit frame show up if I'm in a group or raid; as a healer, I don't care if I have my own unit frame unless I'm not grouped. : ) I like to make the most of my screen space, so I'm trying to set my UI to dynamically show different unit frames based on my grouping status:
1) If I'm solo, it only shows the player unit frame (as well as target, target of target, pet, focus, etc. while in combat) 2) If I'm grouped, the player frame disappears, and only shows the party unit frame, regardless of whether I'm in an instance or not. When the group disbands, again regardless of whether I'm in an instance or not, the player frame comes back up. 3) If I'm in a raid, the raid frames I've elected to show appear, and the player unit frames disappear. Same as the party frames, detailed above.
I can get part of the way there with what you have now with the zone configurations; I can overlap the party or raid frames, and I can set it so that my player unit disappears when I'm IN the instance, but if I'm outside it is still visible with the party or raid frame. Is it possible to do what I want as is? If not, would you consider this a feature request?
The range fade does not seems to work too well. It never really worked for me since I started using SUF. I set out of range to 25% and out of combat to 80%. Even if I set the out of combat to 100% the out of range still sometimes don't work. So it's hard to know who are in the raid needs summon. I have to mouse over them and see where there are to know if you are in range. Any idea how i can fix this?
thanks for checking.
Yea just checked, used /cast [@mouseover]Nourish and it worked fine. I'm not really sure what you are doing wrong, but it's not a SUF bug.
sure, here's one of the macros.
I absolutely believe it's something I'm doing wrong, just can't figure it out.
#showtooltip Tricks of the Trade
/cast [target=Mouseover] Tricks of the Trade
#showtooltip Hand of Sacrifice
/cast [@mouseover,help,nodead]Hand of Sacrifice
#showtooltip Hand of Salvation
/cast [@mouseover]Hand of Salvation
Can you show one of the macros you're using? They definitely work since I've been using them, and I'd imagine I would see a lot more reports if they had broken.
I'm not saying your wrong, but I can't seem to get mouseover macros to work at all. I've tried everything I can think of, and they just won't cast either in party or raid frames.
Wooot, nice no errors, Thanks! Awesome Mod!!
I'm talking about SUF, not Blizzard UI. You cannot see the tank's target of target in SUF. There aren't plans to add it for the time being.
Shadowed,
Hm, this is sounding a little obtuse. I apologize if it's because I am asking the question in an unclear manner.
You said, "You cannot get the tank's target target, only the tank's target."
But it sounds more like it can be obtained, but SUF does not do so and thus of course it cannot display that information. Is that accurate? If so, are there any plans to cover that missing aspect of the Blizzard UI Frames, given that T-o-T is supported for most everything else in SUF?
I ask questions along this line because I am in the process of making the switch from oRA2 to oRA3, and oRA3 is missing tank windows. oRA2 had some nice ones. I've been referred to things like WTFrames, which apparently is built upon and contains the code base for oUF. I'd rather just use SUF (edit: which I've been happily using for my unit frames for quite some time!), but obviously it doesn't fill the gap.
Thank you again.
Mouseover macros work fine
is it me, or does @mouseover not work with SUF?
I love using SUF, but while tanking, really need my @mouseover to work. Am I just missing something, or does that not work with SUF?
tenchu: Update
wowace725b31: No I'm saying what I said, you can't show main tank target of target in SUF.
42x ShadowedUnitFrames-v3.2.10-11-g9626a0c\modules\cast.lua:383: attempt to index global 'cast' (a nil value) ShadowedUnitFrames-v3.2.10-11-g9626a0c\modules\cast.lua:303: in function `?' ShadowedUnitFrames-v3.2.10-11-g9626a0c\modules\units.lua:135: in function <...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:132>
Locals: self = <table> { EventUpdateChannel = <function> @ ShadowedUnitFrames\modules\cast.lua:307: EventStopCast = <function> @ ShadowedUnitFrames\modules\cast.lua:316: EventDelayChannel = <function> @ ShadowedUnitFrames\modules\cast.lua:311: EventCastSucceeded = <function> @ ShadowedUnitFrames\modules\cast.lua:361: UpdateDelay = <function> @ ShadowedUnitFrames\modules\cast.lua:382: EventUpdateCast = <function> @ ShadowedUnitFrames\modules\cast.lua:298: OnLayoutApplied = <function> @ ShadowedUnitFrames\modules\cast.lua:104: EventInterruptible = <function> @ ShadowedUnitFrames\modules\cast.lua:369: EventDelayCast = <function> @ ShadowedUnitFrames\modules\cast.lua:302: OnDisable = <function> @ ShadowedUnitFrames\modules\cast.lua:173: moduleHasBar = true UpdateCast = <function> @ ShadowedUnitFrames\modules\cast.lua:404: OnEnable = <function> @ ShadowedUnitFrames\modules\cast.lua:64: UpdateCurrentCast = <function> @ ShadowedUnitFrames\modules\cast.lua:278: moduleKey = "castBar" moduleName = "Cast bar" EventUninterruptible = <function> @ ShadowedUnitFrames\modules\cast.lua:378: EventInterruptCast = <function> @ ShadowedUnitFrames\modules\cast.lua:338: } frame = SUFHeaderpartyUnitButton1 { highFrame = <unnamed> {} portrait = <unnamed> {} UnregisterAll = <function> @ ShadowedUnitFrames\modules\units.lua:91: auras = <table> {} castBar = <unnamed> {} registeredEvents = <table> {} powerBar = <unnamed> {} RegisterNormalEvent = <function> @ ShadowedUnitFrames\modules\units.lua:22: SetVisibility = <function> @ ShadowedUnitFrames\modules\units.lua:173: topFrameLevel = 5 RegisterUpdateFunc = <function> @ ShadowedUnitFrames\modules\units.lua:64: disableRangeAlpha = false unitType = "party" SetRangeAlpha = <function> @ ShadowedUnitFrames\modules\units.lua:123: visibility = <table> {} ignoreAnchor = true rangeAlpha = 1 highlight = <unnamed> {} unitInitialized = true unitRealType = "party" range = <unnamed> {} unit = "party1" unitGUID = "0x0200000004694EF2" RegisterUnitEvent = <function> @ ShadowedUnitFrames\modules\units.lua:58: fontStrings = <table> {} vehicleUnit = "partypet1" incHeal = <unnamed> {} fader = <unnamed> {} indicators = <unnamed> {} hasChildren = true UnregisterSingleEvent = <function> @ ShadowedUnitFrames\modules\units.lua:41: DisableRangeAlpha = <function> @ ShadowedUnitFrames\modules\units.lua:115: unitID = 1 fullUpdates = <table> {} UnregisterUpdateFunc = <function> @ ShadowedUnitFrames\modules\units.lua:81: menu = <function> @ ShadowedUnitFrames\modules\units.lua:332: healthBar = <unnamed> {} 0 = <userdata> FullUpdate = <function> @ ShadowedUnitFrames\modules\units.lua:14: portraitModel = <unnamed> {} unitOwner = "party1" }
Shadowed,
Thank you for your reply.
I know that I can drag out the shield icon from the raid panel and choose both "Show Target" (thus, the tank's target) and "Target of Target" (which displays the tank's target's target).
Or are you saying that Blizzard's API does not allow you to obtain the tank's target's target, even tho their own MT frames can display it?
wowace725b31: You cannot get the tank's target target, only the tank's target.
enjaxx: It's not, you can only trigger it by the aura list, not conditions like aggro or debuff type.
Hello,
I have perused the 160+ comments, but finding this being asked previously has eluded me if it exists...
Blizzard Tank Frames have the tank, the tank's target, and the tank's target's target.
How do I see the latter in SUF?
Thank you for a fine addon. :-)
Hi Shadowed,
I don't know if it fits here but I have a question. I'm using SUF with SUF_Indicators and it works very well so far. The only thing I'm not able to configure are indicators which are not triggered by any aura (aggro) or indicators which could be triggered by a certain debuff family like curses...
Is this possible to achieve? I'm playing a healer and using Grid atm, but I would like to replace it with SUF...
Thanks a lot!