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:528,114
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 03-17-10, 02:14 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Did the alpha not work Gregory? It already has invert support. Unless you ran into an issue with that, I'm actually tagging it in a minute.
Last edited by Shadowed : 03-17-10 at 02:14 PM.
Report comment to moderator  
Reply With Quote
Unread 03-17-10, 03:28 PM  
Gregory
A Kobold Labourer

Forum posts: 0
File comments: 76
Uploads: 0
What you mean alpha work ? Swap bar and background alpha in global settings ? I've tried that, it doesn't work right. And i dont understand what alpha can change, you have exact same bar color code for invert or normal mode. Only difference with override. Also i dont want all frames inverted, need invert only raid so changing global alpha is bad solution in any case.
Last edited by Gregory : 03-17-10 at 03:31 PM.
Report comment to moderator  
Reply With Quote
Unread 03-17-10, 04:17 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Did the alpha version of SUF not work, didn't mean alpha the setting. Invert settings are per unit, not sure what the problem is, can you clarify?
Report comment to moderator  
Reply With Quote
Unread 03-18-10, 02:02 AM  
Gregory
A Kobold Labourer

Forum posts: 0
File comments: 76
Uploads: 0
I'm using latest alpha version from wowace. Problem is nothing changed when I enable invert option (without override colors).
Report comment to moderator  
Reply With Quote
Unread 03-18-10, 10:06 PM  
2amcoffee
A Defias Bandit

Forum posts: 2
File comments: 15
Uploads: 0
Druid Mana Bar

I'm curious if anyone else is having issues with the Druid Mana Bar displaying properly, if at all. This is the error I'm getting when I click the checkbox to enable it:

[2010/03/18 20:37:41-2851-x1]: ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:438: attempt to compare number with nil
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:113: in function `Load'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\units.lua:223: in function `SetVisibility'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:94: in function `Reload'
ShadowedUF_Options-v3.2.5-16-g85d3222\config.lua:206: in function <Interface\AddOns\ShadowedUF_Options\config.lua:196>
ShadowedUF_Options-v3.2.5-16-g85d3222\config.lua:241: in function <Interface\AddOns\ShadowedUF_Options\config.lua:222>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceConfigDialog-3.0-45:796: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:611>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0-30 (Auracle):326: in function `Fire'
...braries\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:61: in function <...braries\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:57>:

---
Even when ticked, it isn't showing the bar. I've downloaded the latest alpha from wow-curse, still no dice. Any advice? (PS. Yes, this is while I'm on my druid :P)
Report comment to moderator  
Reply With Quote
Unread 03-19-10, 10:08 AM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Try running /script ShadowUF.db.profile.units.player.druidBar.height = 0.5; then reload your UI.
Report comment to moderator  
Reply With Quote
Unread 03-19-10, 06:39 PM  
rodalpho
A Kobold Labourer

Forum posts: 0
File comments: 20
Uploads: 0
text that disappears when casting

I would like to use the cast bar instead of the empty bar. This would have the same effect as the default xperl config, where the bar with the unit's name is also used as the casting bar.

In order to do that, I need some way to generate a custom text (the unit's name primarily, but I would add other stuff like level and an elite indicator to the target frame also) that disappears when the unit is casting a spell and reappears when the spell finishes. Is this possible in SUF? Any hints?
Report comment to moderator  
Reply With Quote
Unread 03-19-10, 11:18 PM  
2amcoffee
A Defias Bandit

Forum posts: 2
File comments: 15
Uploads: 0
Originally posted by Shadowed
Try running /script ShadowUF.db.profile.units.player.druidBar.height = 0.5; then reload your UI.
Still getting an error :S Player frame becomes completely blacked out.

[2010/03/19 22:17:37-2862-x1]: ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:427: attempt to compare nil with number
<in C code>: in function `sort'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:456: in function `PositionWidgets'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\layout.lua:113: in function `Load'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\units.lua:223: in function `SetVisibility'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\units.lua:529: in function <...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:389>
<in C code>: in function `SetAttribute'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\units.lua:790: in function `LoadUnit'
ShadowedUnitFrames-v3.2.5-16-g85d3222\modules\units.lua:1013: in function `InitializeFrame'
ShadowedUnitFrames-v3.2.5-16-g85d3222\ShadowedUnitFrames.lua:144: in function `LoadUnits'
ShadowedUnitFrames-v3.2.5-16-g85d3222\ShadowedUnitFrames.lua:77: in function `OnInitialize'
ShadowedUnitFrames-v3.2.5-16-g85d3222\ShadowedUnitFrames.lua:534: in function <...ace\AddOns\ShadowedUnitFrames\ShadowedUnitFrames.lua:532>

---
Last edited by 2amcoffee : 03-19-10 at 11:22 PM.
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 02:56 AM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
2amcoffee: You might have just waited too long between updates, try /script ShadowUF.db.profile.units.druidBar.order = 10;

rodalpho: No, you can't really make tag text that responds to cast events.
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 05:35 AM  
grom
A Deviate Faerie Dragon

Forum posts: 17
File comments: 10
Uploads: 0
i found that the following works for casts:

Code:
Tags.defaultTags = {
["notcasting"] = [[function(unit, unitOwner)
 local spell = UnitCastingInfo(unit)
  if not spell then
   return UnitName(unit)
 end
end]],

...

Tags.defaultEvents = {
["notcasting"] = "UNIT_NAME_UPDATE UNIT_SPELLCAST_START UNIT_SPELLCAST_STOP",
didn't test it with all spells and enemies and stuff but it worked properly when i casted my mount. then again, i don't know how stressing this is performance wise

the thing i could not get to work was some kind of mouse-over tag:

Code:
Tags.defaultTags = {
["mouseovername"] = [[function(unit, unitOwner)
  if MouseIsOver(SUFUnitplayer) then
   return UnitName(unit)
 end
end]],
the problem is, that the tag obviously only updates when the registered events are fired, but it seems that there's no event that fires when entering and/or leaving a unitframe
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 05:37 AM  
rodalpho
A Kobold Labourer

Forum posts: 0
File comments: 20
Uploads: 0
Given Grom's help, I came up with this undoubtedly ugly but working hack. This shows the unit's name when it's not casting and disappears when it is. With this text, you can use your casting bar as your name bar. No more resizing bars every time you cast a spell!

I also hacked together a version of this with my previous custom tag that only showed the target's level if it wasn't a level 80 PC for the target frames. Looking pretty good.

Listen on the following events:
Code:
UNIT_SPELLCAST_CHANNEL_INTERRUPTED UNIT_NAME_UPDATE UNIT_SPELLCAST_START UNIT_SPELLCAST_CHANNEL_START UNIT_SPELLCAST_DELAYED UNIT_SPELLCAST_CHANNEL_UPDATE UNIT_SPELLCAST_INTERRUPTED UNIT_SPELLCAST_STOP UNIT_SPELLCAST_CHANNEL_STOP UNIT_SPELLCAST_FAILED
Tag text is:
Code:
function(unit, unitOwner)
local SpellCasting = UnitCastingInfo(unit)
local SpellChanneling = UnitChannelInfo(unit)
  if not SpellCasting then
     if not SpellChanneling then
     return UnitName(unit) or UNKNOWN
     end
 end
end
Last edited by rodalpho : 03-20-10 at 06:16 AM.
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 05:58 AM  
2amcoffee
A Defias Bandit

Forum posts: 2
File comments: 15
Uploads: 0
Originally posted by Shadowed
2amcoffee: You might have just waited too long between updates, try /script ShadowUF.db.profile.units.druidBar.order = 10;
The Script didn't work, so I went ahead and just deleted all SuF files from WTF/Interface and set it up again from scratch. I apologize for taking up your time.
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 10:08 AM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
2amcoffee: Sorry I couldn't help you more, but at least it works


rodalpho: Mmm you're right, my fault. I forgot it'll auto filter the cast events by unit.

grom: Try UPDATE_MOUSEOVER_UNIT, that should get you mouseover and mouse in events.
Last edited by Shadowed : 03-20-10 at 10:08 AM.
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 11:47 AM  
grom
A Deviate Faerie Dragon

Forum posts: 17
File comments: 10
Uploads: 0
sorry, i forgot to mention that i tried both CURSOR_UPDATE and UPDATE_MOUSEOVER_UNIT. wowwiki says: "Does not fire when UnitExists('mouseover') becomes nil, or if you mouse over a unitframe."

OnEnter() and OnLeave() could work somehow but i don't know how to implement them

looked at Stuf Unit Frames but after i read the mouse-over code i understood even less
Report comment to moderator  
Reply With Quote
Unread 03-20-10, 02:39 PM  
odyzzle
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Hey Shadowed you were right, the problem seems to be caused by using OmniCC and SUF simultaneously.

When I disable OmniCC the problem completely ceases to exist. This seems pretty unusual because I have OmniCC set to only show timers on my big buffs/debuffs but I'm sure it will make more sense to you than it does to me.

Anyway, yeah, even with the "clock swirl" turned on for all auras, and auras cast by me set to 160%, there is no problem at all so long as OmniCC is disabled.

PS. my alternate unit frame addon is Xperl, and it doesn't have the problem with omni

Thanks
Last edited by odyzzle : 03-20-10 at 02:40 PM.
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.