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,376
Favorites:1,231
MD5:
10.2.6

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 (11)
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
v4.3.5
638kB
Shadowed
03-15-21 04:23 AM


Post A Reply Comment Options
Unread 01-09-10, 07:16 PM  
Frostantine
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
I hate to bother you so much, but I do need help once again ><
I figured out why I wasn't able to use the config, but now I can't set my focus bar. I can't rightclick on mobs? I don't know if this has anything to do with the TipTac addon I have, but I've yet so find anything that indicates that it's TipTacs fault. I've also looked through the options in /suf, and unless I'm blind I couldn't find anything :/.
Report comment to moderator  
Reply With Quote
Unread 01-09-10, 09:34 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
Forstantine: It's a Blizzard issue, nothing can be done about it.

JSTrese: That's because you are doing something unintended by using the X/Y offsets to move the aura locations rather than reposition it. It only happens because of the enlarge options, but it doesn't happen if you use proper anchoring like right top or right bottom.

Not something that's going to be fixed.
Report comment to moderator  
Reply With Quote
Unread 01-10-10, 04:09 AM  
Frostantine
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Ah well, thanks for your help nontheless ^^
Awesome addon aswell.
Report comment to moderator  
Reply With Quote
Unread 01-10-10, 03:06 PM  
snoopdobi
A Murloc Raider

Forum posts: 6
File comments: 20
Uploads: 0
Question Debuff stack numbers?

Hey,

First of all thanks for this great addon, using it for a while now and its great.

One question, I'm watching my target's target debuff list very closely and I want to see debuff stack numbers somehow more visible, I mean atm they are behind of debuff timer and its hurting my eyes to understand how many stack that debuff got at that moment, is it possible to setting anything to solve this problem or Im trying to hold my left ear with my right arm?

Thanks again.
Report comment to moderator  
Reply With Quote
Unread 01-10-10, 03:45 PM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
If you use separated raid frames and want to use multiple rows instead of one large one for each group, see alpha: http://wow.curseforge.com/projects/s...d-unit-frames/ need testing before I psuh it.

snoopdobi: OmniCC controls the timer, not planning on hacking it to push the debuff stack in front of it.
Report comment to moderator  
Reply With Quote
Unread 01-10-10, 04:25 PM  
JStrese
A Murloc Raider

Forum posts: 8
File comments: 55
Uploads: 0
The reason I did manual X/Y offsets was because your positioning seems to be bugged..

I set the X/Y offsets to 0, then set the position to Right Top, and all the buffs are in the same column going downwards (aren't they supposed to go right? since I -do- have "max columns" set to 5). However, I can temporarily fix this by checking "Anchor to debuffs" in the Buffs section, then re-checking "Anchor to buffs" in debuffs.

I basically want my buffs to go from left to right to the right of the target frame, and have debuffs go directly under them. I also want my debuffs on the target to be enlarged and have timers on them. If you have any insight to this issue, please tell me

Edit: To explain what I mean, here's a screenshot of before and after I toggle the anchor options.

Before: http://img197.imageshack.us/img197/231/sufbefore.png
After: http://img94.imageshack.us/img94/5664/sufafter.png
(I saved them in 8-bit quality to they wouldn't be massive in size)

Originally posted by Shadowed
Forstantine: It's a Blizzard issue, nothing can be done about it.

JSTrese: That's because you are doing something unintended by using the X/Y offsets to move the aura locations rather than reposition it. It only happens because of the enlarge options, but it doesn't happen if you use proper anchoring like right top or right bottom.

Not something that's going to be fixed.
Last edited by JStrese : 01-10-10 at 04:42 PM.
Report comment to moderator  
Reply With Quote
Unread 01-10-10, 04:39 PM  
snoopdobi
A Murloc Raider

Forum posts: 6
File comments: 20
Uploads: 0
Originally posted by Shadowed
If you use separated raid frames and want to use multiple rows instead of one large one for each group, see alpha: http://wow.curseforge.com/projects/s...d-unit-frames/ need testing before I psuh it.

snoopdobi: OmniCC controls the timer, not planning on hacking it to push the debuff stack in front of it.
Oh no way to do it then, well thanks for answer.
Report comment to moderator  
Reply With Quote
Unread 01-11-10, 12:26 PM  
Skylinee
A Murloc Raider

Forum posts: 5
File comments: 371
Uploads: 0
Error with the latest alpha from wowace. I can't find a thread on wowace, so i guess i'll just report it here (have you considered making a topic in the Unitframes section on wowace so users can report errors more easily?)



1x <string>:"return function(unit, unitOwner)...":7: attempt to index global 'ShadowUFLocals' (a nil value)
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\tags.lua:157: in function `UpdateTags'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\layout.lua:404: in function `SetupText'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\layout.lua:114: in function `Load'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\units.lua:206: in function `SetVisibility'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\units.lua:510: in function <...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:370>
<in C code>: in function `SetAttribute'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\units.lua:751: in function `LoadUnit'
ShadowedUnitFrames-v3.0.6-18-g99fafef\modules\units.lua:970: in function `InitializeFrame'
ShadowedUnitFrames-v3.0.6-18-g99fafef\ShadowedUnitFrames.lua:204: in function `LoadUnits'
ShadowedUnitFrames-v3.0.6-18-g99fafef\ShadowedUnitFrames.lua:76: in function `OnInitialize'
ShadowedUnitFrames-v3.0.6-18-g99fafef\ShadowedUnitFrames.lua:559: in function <...ace\AddOns\ShadowedUnitFrames\ShadowedUnitFrames.lua:557>

Locals:
fontString = <unnamed> {
fastPower = false
widthID = "$healthBarRIGHTI0"
fastHealth = true
parent = SUFUnittarget {}
UpdateTags = <function> @ ShadowedUnitFrames\modules\tags.lua:155:
0 = <userdata>
availableWidth = 162.00000827486
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
1 = <function> defined return function(unit, unitOwner)
if( UnitIsDead(unit) ) then
return ShadowUFLocals["Dead"]
elseif( UnitIsGhost(unit) ) then
return ShadowUFLocals["Ghost"]
elseif( not UnitIsConnected(unit) ) then
return ShadowUFLocals["Offline"]
end

local health = UnitHealth(unit)
if( health > 999999 ) then
health = string.format("%dm", health / 1000000)
elseif( health > 99999 ) then
health = string.format("%.1fk", health / 1000)
end

local maxHealth = UnitHealthMax(unit)
if( maxHealth > 999999 ) then
maxHealth = string.format("%dm", maxHealth / 1000000)
elseif( maxHealth > 99999 ) then
maxHealth = string.format("%.1fk", maxHealth / 1000)
end

return string.format("%s/%s", health, maxHealth)
end:1
2 = <function> defined return function(unit, unitOwner)
local max = UnitHealthMax(unit)
if( max <= 0 or UnitIsDead(unit) or UnitIsGhost(unit) or not UnitIsConnected(unit) ) then
return "0%"
end

return math.floor(UnitHealth(unit) / max * 100 + 0.5) .. "%"
end:1
}
(for control) = 1
id = 1
func = <function> defined return function(unit, unitOwner)
if( UnitIsDead(unit) ) then
return ShadowUFLocals["Dead"]
elseif( UnitIsGhost(unit) ) then
return ShadowUFLocals["Ghost"]
elseif( not UnitIsConnected(unit) ) then
return ShadowUFLocals["Offline"]
end

local health = UnitHealth(unit)
if( health > 999999 ) then
health = string.format("%dm", health / 1000000)
elseif( health > 99999 ) then
health = string.format("%.1fk", health / 1000)
end

local maxHealth = UnitHealthMax(unit)
if( maxHealth > 999999 ) then
maxHealth = string.format("%dm", maxHealth / 1000000)
elseif( maxHealth > 99999 ) then
maxHealth = string.format("%.1fk", maxHealth / 1000)
end

return string.format("%s/%s", health, maxHealth)
end:1
(*temporary) = <table> {
1 = ""
2 = ""
3 = "Unknown"
4 = ""
}
args = <table> {
1 = <function> defined return function(unit, unitOwner)
if( UnitIsDead(unit) ) then
return ShadowUFLocals["Dead"]
elseif( UnitIsGhost(unit) ) then
return ShadowUFLocals["Ghost"]
elseif( not UnitIsConnected(unit) ) then
return ShadowUFLocals["Offline"]
end

local health = UnitHealth(unit)
if( health > 999999 ) then
health = string.format("%dm", health / 1000000)
elseif( health > 99999 ) then
health = string.format("%.1fk", health / 1000)
end

local maxHealth = UnitHealthMax(unit)
if( maxHealth > 999999 ) then
maxHealth = string.format("%dm", maxHealth / 1000000)
elseif( maxHealth > 99999 ) then
maxHealth = string.format("%.1fk", maxHealth / 1000)
end

return string.format("%s/%s", health, maxHealth)
end:1
2 = <function> defined return function(unit, unitOwner)
local max = UnitHealthMax(unit)
if( max <= 0 or UnitIsDead(unit) or UnitIsGhost(unit) or not UnitIsConnected(unit) ) then
return "0%"
end

return math.floor(UnitHealth(unit) / max * 100 + 0.5) .. "%"
end:1
}
temp = <table> {
1 = ""
2 = ""
3 = "Unknown"
4 = ""
}
formattedText = "%s %s"

---
Last edited by Skylinee : 01-11-10 at 12:26 PM.
Report comment to moderator  
Reply With Quote
Unread 01-11-10, 05:19 PM  
JStrese
A Murloc Raider

Forum posts: 8
File comments: 55
Uploads: 0
Got this error today after creating a new profile (I typed the name of the profile then hit enter, and the error appeared):

Date: 2010-01-11 17:17:00
ID: 1
Error occured in: Global
Count: 1
Message: ...terface\AddOns\ShadowedUnitFrames\modules\layout.lua line 341:
attempt to index field '?' (a nil value)
Debug:
(tail call): ?
...terface\AddOns\ShadowedUnitFrames\modules\layout.lua:341: SetupBars()
...terface\AddOns\ShadowedUnitFrames\modules\layout.lua:112: Load()
...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:206: SetVisibility()
...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:1024: ProfileChanged()
...ace\AddOns\ShadowedUnitFrames\ShadowedUnitFrames.lua:411: ?()
...ade\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146:
...ade\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146
[string "safecall Dispatcher[3]"]:4:
[string "safecall Dispatcher[3]"]:4
[C]: ?
[string "safecall Dispatcher[3]"]:13: ?()
...ade\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: Fire()
...nterface\AddOns\Dominos\libs\AceDB-3.0\AceDB-3.0.lua:441: SetProfile()
...s\Mapster\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:235:
...s\Mapster\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:234
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9:
[string "safecall Dispatcher[3]"]:5
(tail call): ?
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:791:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:611
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9:
[string "safecall Dispatcher[3]"]:5
(tail call): ?
...erface\AddOns\Mapster\Libs\AceGUI-3.0\AceGUI-3.0.lua:326: Fire()
...ter\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:86:
...ter\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:83
AddOns:
Swatter, v5.7.4568 (KillerKoala)
ButtonFacade, v3.3.288
ButtonFacadeEntropy, v3.2.55
Clique, vwowi:revision
DBMCore, v
Dominos, v1.15.2
DominosRoll, v
DominosTotems, v
DragEmAll, v0.7
FuBar, v
FuBarBagFu, vv1.1.6
FuBarDurabilityFu, v2.11
FuBarMoneyFu, vv1.2.2
FuBarPerformanceFu, v2.0.0
GearScoreLite, v3x03
InFlight, v3.3.001
InFlightLoad, v3.3.001
Mapster, v1.3.4
OmniCC, v2.5.9
OPie, v
OptionHouse, v
pMinimap, v30300.8-Release
Postal, v3.3.0
Quartz, v1.0
QuartzFocus, v1.0
QuartzGCD, v1.0
QuartzInterrupt, v1.0
QuartzLatency, v1.0
QuartzMirror, v1.0
QuartzPlayer, v1.0
QuartzRange, v1.0
QuartzSwing, v1.0
QuartzTarget, v1.0
QuartzTimer, v1.0
QuartzTradeskill, v1.0
RatingBuster, v
ShadowedUFIndicators, v
ShadowedUFOptions, v
ShadowedUnitFrames, vv3.0.6
SharedMedia, v3.0
SimpleBuffBars, v
Skada, v1.2-25
SkadaDamage, v1.0
SkadaHealing, v1.0
SkadaThreat, v1.0
Talented, vv2.4.4-release
TalentedSpecTabs, vv2.4.4-release
TBag, v
TidyPlates, v5.7.11
TidyPlatesCleanPlates, v1.9g
TipTac, v09.11.28
TipTacItemRef, v09.08.13
TotemTimers, v10.1.3
BlizRuntimeLib_enUS v3.3.0.30300 <us>
(ck=4a7)
Report comment to moderator  
Reply With Quote
Unread 01-11-10, 05:49 PM  
bigmase83
A Kobold Labourer
 
bigmase83's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 0
File comments: 24
Uploads: 1
Shadowed:

Hey bud, sorry to bother you again, but I have one more question. what is the tag to make an outline around text in a tag? can I just do it from your menu, or should I go into the tags and manually change the lua code? If I have to change the lua code, what is the code itself? Either way, could you give me an example?

Thanks bud and again, I get more and more impressed by this addon, kudos!
Report comment to moderator  
Reply With Quote
Unread 01-11-10, 11:43 PM  
bigmase83
A Kobold Labourer
 
bigmase83's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 0
File comments: 24
Uploads: 1
Also, is it just me or is there not an option for raid frame spacing (between the individual players - horizontally/verticall) I could swear there was but after redoing it I can't find it??
Report comment to moderator  
Reply With Quote
Unread 01-12-10, 12:18 AM  
Shadowed
...
Featured Addon Author

Forum posts: 387
File comments: 2513
Uploads: 83
bigmase83: There is one, it might be flagged as advanced only. There are no tags for flagging a single tag text to outline, it's all or nothing.

JStrese: Does it always happen, or did it go away after reload?

Skylinee: Tickets are generally best place to report SUF errors, you have a custom tag it looks like. Anything referencing ShadowUFLocals has to be renamed to reference ShadowUF.L
Report comment to moderator  
Reply With Quote
Unread 01-12-10, 12:58 AM  
JStrese
A Murloc Raider

Forum posts: 8
File comments: 55
Uploads: 0
It always happens, and comes back after a reload. Before I raid I have to toggle the two check boxes.. annoying

Want me to send you my settings for SUF (export > import)?

Originally posted by Shadowed
bigmase83: There is one, it might be flagged as advanced only. There are no tags for flagging a single tag text to outline, it's all or nothing.

JStrese: Does it always happen, or did it go away after reload?

Skylinee: Tickets are generally best place to report SUF errors, you have a custom tag it looks like. Anything referencing ShadowUFLocals has to be renamed to reference ShadowUF.L
Last edited by JStrese : 01-12-10 at 12:59 AM.
Report comment to moderator  
Reply With Quote
Unread 01-12-10, 10:03 AM  
blkmagik
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Buff stacks

For some reason i cant see the stack size of buffs on my target.

Have only really noticed it during the Saurfang fight.

Any suggestions as to what setting im missing to not get them to display?
Report comment to moderator  
Reply With Quote
Unread 01-12-10, 01:15 PM  
bigmase83
A Kobold Labourer
 
bigmase83's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 0
File comments: 24
Uploads: 1
Shadowed:

So, just to get this straight...and I just want to make sure, but for example...I have a tag on the right side of the health bar to display percenthp, can I not JUST have that be outlined with everytihing else on the unit frames be outlined (name, level, maxhp, etc)? Did you mean that if I have for example:

percenthp | curHP/maxHP

I can't have JUST percenthp be outlined, I would have to have the whole tag be outlined, or the whole global setting is outline on or off? If I can what is the tag, does Outline() not work?
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.