Download
(654Kb)
Download
Updated: 03-20-24 01:35 AM
Pictures
File Info
Compatibility:
Plunderstorm (10.2.6)
Updated:03-20-24 01:35 AM
Created:05-17-09 12:55 PM
Downloads:527,680
Favorites:1,231
MD5:

Shadowed Unit Frames  Popular! (More than 5000 hits)

Version: v4.4.8
by: Shadowed, Nevcairiel

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!



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:

Shadowed Unit Frames
v4.4.8 (2024-03-20)
Full Changelog Previous Releases
  • Update TOCs for 10.2.6
  • Switch PR CI to checkout v2
Archived Files (10)
File Name
Version
Size
Author
Date
v4.4.7
654kB
Shadowed
02-23-24 04:13 AM
v4.4.6
654kB
Shadowed
07-11-23 08:26 AM
v4.4.5
654kB
Shadowed
05-13-23 06:36 AM
v4.4.4
654kB
Shadowed
05-03-23 01:46 AM
v4.4.3
654kB
Shadowed
03-22-23 01:52 AM
v4.4.2
654kB
Shadowed
11-16-22 08:17 AM
v4.4.1
653kB
Shadowed
11-07-22 10:13 AM
v4.4.0
653kB
Shadowed
10-25-22 04:23 PM
v4.3.7
638kB
Shadowed
09-08-21 09:59 AM
v4.3.6
639kB
Shadowed
06-29-21 03:33 PM


Post A Reply Comment Options
Unread 08-13-09, 02:51 PM  
Kastorz
A Kobold Labourer

Forum posts: 0
File comments: 21
Uploads: 0
["message"] = "...terface\\AddOns\\ShadowedUnitFrames\\modules\\layout.lua:406: attempt to compare number with nil"


This always shows when i log on any of my characters.
Report comment to moderator  
Reply With Quote
Unread 08-13-09, 02:58 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Kastorz: Are you using any other modules like SUF Bars? Also is this recent or only with the latest update.

merneith: I'll get you some code for it later

waha: Odd, I noticed that happening once but need to look into it I suppose.
Last edited by Shadowed : 08-13-09 at 02:59 PM.
Report comment to moderator  
Reply With Quote
Unread 08-13-09, 08:21 PM  
elcifr
A Kobold Labourer

Forum posts: 0
File comments: 12
Uploads: 0
Just letting you know that the rep bar is still broken in the new build.
Report comment to moderator  
Reply With Quote
Unread 08-13-09, 09:08 PM  
waha
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 112
Uploads: 2
Originally posted by Shadowed
waha: Replicate-able? I'm not as worried if it's at least updating the color just not the tag text but I'll see if I can think up a reason why.
Okay, did ToC HC just now, and we did a bit of unmounting/remounting, and had several cases of the hp text not being updated. Just head into ToC with a group and mount/unmount a bit. ^^
Report comment to moderator  
Reply With Quote
Unread 08-14-09, 05:05 AM  
Kastorz
A Kobold Labourer

Forum posts: 0
File comments: 21
Uploads: 0
i disabled suf bars and suf class power and error still exists every time i log (just b4 patch i dont have it ofc)

["stack"] = "(tail call): ?\n[C]: ?\n...terface\\AddOns\\ShadowedUnitFrames\\modules\\layout.lua:406: in function `PositionWidgets'\n...terface\\AddOns\\ShadowedUnitFrames\\modules\\layout.lua:117: in function `Load'\n...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:192: in function `SetVisibility'\n...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:484: in function <...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:344>\n[C]: in function `SetAttribute'\n...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:672: in function `LoadUnit'\n...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:807: in function `InitializeFrame'\n...ace\\AddOns\\ShadowedUnitFrames\\ShadowedUnitFrames.lua:183: in function `LoadUnits'\n...ace\\AddOns\\ShadowedUnitFrames\\ShadowedUnitFrames.lua:447: in function <...ace\\AddOns\\ShadowedUnitFrames\\ShadowedUnitFrames.lua:444>\n"


and i got another one error catched today

["message"] = "...terface\\AddOns\\ShadowedUnitFrames\\modules\\health.lua:93: attempt to index field 'hostile' (a nil value)"

["stack"] = "(tail call): ?\n[C]: ?\n...terface\\AddOns\\ShadowedUnitFrames\\modules\\health.lua:93: in function `UpdateThreat'\n...terface\\AddOns\\ShadowedUnitFrames\\modules\\health.lua:108: in function `?'\n...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:106: in function <...nterface\\AddOns\\ShadowedUnitFrames\\modules\\units.lua:103>\n"
Last edited by Kastorz : 08-14-09 at 11:16 AM.
Report comment to moderator  
Reply With Quote
Unread 08-14-09, 10:26 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
If you're getting an error about hostile being a nil value, odds are you haven't updated for a while and just need to do a DB reset to fix it.
Report comment to moderator  
Reply With Quote
Unread 08-15-09, 05:34 AM  
Dajova
A Wyrmkin Dreamwalker
 
Dajova's Avatar
AddOn Author - Click to view AddOns

Forum posts: 58
File comments: 787
Uploads: 5
Something i would love to see is talent-build as a text-tag
Would help to check the primary taletspec on both my party and arena frames
__________________
Livestream | Twitter | YouTube
Report comment to moderator  
Reply With Quote
Unread 08-15-09, 10:11 AM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Not going to happen, you can't easily get talent information
Report comment to moderator  
Reply With Quote
Unread 08-15-09, 02:45 PM  
Skylinee
A Murloc Raider

Forum posts: 5
File comments: 371
Uploads: 0
What's the downsides in enabling Quick Health? More CPU time or growth in memory?
Report comment to moderator  
Reply With Quote
Unread 08-15-09, 06:20 PM  
Roane
A Theradrim Guardian

Forum posts: 66
File comments: 14
Uploads: 0
Is there a way to dismiss totems as there is with the default Blizzard frames? Right-clicking on the timer doesn't work. I've searched the last dozen pages of comments and looked through the options, and this is the only thing I'd like that I can't find. (Won't matter once I hit 30, but it'd be nice.)
Report comment to moderator  
Reply With Quote
Unread 08-15-09, 08:45 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Roane: There isn't, I would add something for it but I don't really want an additional option and it would mean it overrides the player frame hit box.

Skylinee: More CPU time since it has to poll for data, it's not going to bring your computer to a grinding halt but if you enable it on something like raid frames then there is still some performance loss due to it.

waha: I did about 3-4 rounds around ToC with various combos of mounting/dismounting mounting from one mount to another with different party configurations and it didn't seem to break for me.
elcifr: Reputation should be fixed for sure next push.
merneith: The simplest way is just a giant list like:

function(unit, unitOwner)
local class = select(2, UnitClass(unit))
if( not class or not UnitIsPlayer(unit) ) then return end

return class == "DRUID" and "Dr" or class == "WARRIOR" and "War" or class == "SHAMAN" and "Sha" or class == "PRIEST" and "Pr" or class == "WARLOCK" and "Wa" or class == "DEATHKNIGHT" and "Dk" or class == "PALADIN" and "Pa" or class == "MAGE" and "Ma" or class == "ROGUE" and "Ro"
end


And then for races

function(unit, unitOwner)
local race = select(2, UnitRace(unit))
if( not race or not UnitIsPlayer(unit) ) then return end

return race == "Scourge" and "UD" or race == "NightElf" and "NE" or race == "BloodElf" and "BE" or race == "Tauren" and "Ta" or race == "Draenei" and "Dr" or race == "Gnome" and "Gn" or race == "Dwarf" and "Dw" or race == "Human" and "Hu" or race == "Troll" and "TR" or race == "Orc" and "Or"
end
Last edited by Shadowed : 08-15-09 at 08:45 PM.
Report comment to moderator  
Reply With Quote
Unread 08-16-09, 11:48 AM  
waha
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 112
Uploads: 2
Originally posted by Shadowed
waha: I did about 3-4 rounds around ToC with various combos of mounting/dismounting mounting from one mount to another with different party configurations and it didn't seem to break for me.
I've narrowed it down to mostly happening with pet classes, hunters with pets out are a perfect thing to test it out on.
Report comment to moderator  
Reply With Quote
Unread 08-16-09, 12:56 PM  
gothic
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 18
Uploads: 1
Frame strata

Is it possible to lower the strata on unit frames, more specifically the health/mana bars in the player frame?

I have my player frame towards the bottom of the screen and Blizzard's new totembar, when expanded to show all available totems of that element, shows below the health/mana bars, but above the background of the Player frame.

I wasn't sure if the strata was already as low as can be, so I figured I'd ask.

(Can provide screenshot if I'm not making much sense)
Last edited by gothic : 08-16-09 at 12:57 PM.
Report comment to moderator  
Reply With Quote
Unread 08-17-09, 03:58 AM  
Peoii
A Kobold Labourer
 
Peoii's Avatar

Forum posts: 1
File comments: 21
Uploads: 0
Feature request, or help...

Can't seem to find an option, and not sure if this has been answered or requested before but...

For incoming heals, how would one go about adding it as a simple text tag?

The bar means very little to me, and clutters my UI in ways I'm not comfortable with using. However, if I could add a simple text on the bar, that'd be remarkably useful.

Even if such a feature isn't added into the code, simply knowing how to add that tag myself would be wonderfully helpful.

Thank you in advance.
Report comment to moderator  
Reply With Quote
Unread 08-17-09, 08:30 AM  
merneith
A Defias Bandit

Forum posts: 3
File comments: 43
Uploads: 0
merneith: The simplest way is just a giant list like:

function(unit, unitOwner)
local class = select(2, UnitClass(unit))
if( not class or not UnitIsPlayer(unit) ) then return end

return class == "DRUID" and "Dr" or class == "WARRIOR" and "War" or class == "SHAMAN" and "Sha" or class == "PRIEST" and "Pr" or class == "WARLOCK" and "Wa" or class == "DEATHKNIGHT" and "Dk" or class == "PALADIN" and "Pa" or class == "MAGE" and "Ma" or class == "ROGUE" and "Ro"
end


And then for races

function(unit, unitOwner)
local race = select(2, UnitRace(unit))
if( not race or not UnitIsPlayer(unit) ) then return end

return race == "Scourge" and "UD" or race == "NightElf" and "NE" or race == "BloodElf" and "BE" or race == "Tauren" and "Ta" or race == "Draenei" and "Dr" or race == "Gnome" and "Gn" or race == "Dwarf" and "Dw" or race == "Human" and "Hu" or race == "Troll" and "TR" or race == "Orc" and "Or"
end [/b]
Thanks very much, Shadowed. I truly appreciate your taking the time for this.

I'm still a little lost though. What event do you suggest I should use to call this?

Also how would the tag know to display which value, Human or Hu for example?

If you prefer, I can repost this at Elitest Jerks. I overlooked your wish to have support requests there. Thanks again for your assistance.
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.