Raid frames with aura indicators, and grouped into one frame
Raid farmes with aura indicators, and split up per group
Shadowed Unit Frames
SUF focuses on a simplistic 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 Raid: Raid, Raid Pet, Main Tank, Main Tank Target, Main Assist, Main Assist Target, Boss, Boss Target Arena: Arena, Arena Target, Arena Pets
Features
Tags: Includes a simple tagging system that can be customized in virtually any way using Lua, so even if something isn't included by default odds are you can make the tags
Incoming heals: Supports LibHealComm-4.0 for incoming heal data which gives you more accurate information including heal over times and channels like Tranquility and Penance
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
Fader: Fades frames when out of combat and inactive (100% mana/no target)
Druid power/rune/totem bars: Supports simple rune and totem bars as well as Druid mana bars for the player frame
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.
Author: Shadowed <shadowed.wow@gmail.com>
Date: Thu Feb 18 13:07:38 2010 -0800
- Fixed fullAfter being set to 0 not 1000 for portraits
- Fixed name and time config tables being stripped
- Fixed error if using movers without another instance of AceConfigRegistry loaded
- Fixed cast bar options not showing up, caused by a typo + upgrade code being removed
Date: Wed Feb 17 19:46:00 2010 -0800
- Fixed error when relocking frames that would sometimes show up
- Fixed error when unlocking rframes with raid pets enabled
Date: Tue Feb 16 21:53:59 2010 -0800
- Added raid pet support, disabled by default
- Fixed leaked global
Date: Mon Feb 15 12:35:22 2010 -0800
- Added PLAYER_REGEN_DISABLED and PLAYER_REGEN_ENABLED to auto detect with InCombatLockdown
- Fixed AceTimer-3.0 being listed in TOC
- Wintergrasp is now considered a pvp zone for the purpose of zone configuration
- Redid showing party in raid, should work correctly when hiding based on zone configuration
- Tweaked highlight option ordering
Date: Sat Feb 13 08:38:47 2010 -0800
- Removed [unit:scaled:threat] tag, doesn't work how I want it to
- Added /suf profile <name> for changing profiles
Date: Thu Feb 11 09:20:42 2010 -0800
- Changed to letting Blizzard handle PlayerFrame.unit instead of SUF to reduce taint issues
Date: Sun Feb 7 12:41:58 2010 -0800
- Fixed silly logic error causing [perpp] to break on non-player units
Date: Sat Feb 6 16:38:56 2010 -0800
- Boss units are now enabled by default for new profiles
Date: Sat Jan 30 11:30:55 2010 -0800
- Added self scaling option to auras to change how big it scales, this will need some tweaking still (Self scaling option is advanced only)
- Fixed power being updated unnecessarily when using frequent updates
- Fixed health being updated unnecessarily when using frequent updates
- Changed coloring for uninterruptible casts to purple, yellow is not distinctive enough
Date: Mon Jan 25 14:04:06 2010 -0800
- Fixed range checker not working
Date: Sun Jan 24 19:14:03 2010 -0800
- Added hide in any raid/hide in 6-man raid to faq
- Fixed separated raid frames colliding when growing groups down and the column they are anchored to has <5 players in it
Date: Sat Jan 23 13:27:11 2010 -0800
- Trying a fix to stop range fading disabling combat fader, combat fader takes priority out of combat, in combat the range fader has priority
- Fixed config.lua:98 error when creating aura filters
Date: Fri Jan 22 09:07:46 2010 -0800
- Power tags shouldn't show a negative number on last Drak'tharon keep boss
Date: Tue Jan 19 13:10:26 2010 -0800
- Fixed UnitIsAFK errors when using configuration mode
- Fixed tags not having an env wrapped around them if they loaded due to being a child unit
- Merge: 0046ead 49a76b1
Date: Sun Jan 17 22:18:57 2010 -0800
- Merge branch 'master' of git.wowace.com:wow/shadowed-unit-frames/mainline
Hi, I just switched from Xperl to Shadowed and very pleased with your addons. There is one tiny problem I was hoping you able to fix it. Xperl have a border highlight to let you know that you need to cure that player. my main is resto shaman. So i found out Shadowed have this feature as well and when I tried to enable it, the error popped up. This applied to all, the player, the party, the main tank, the raid. Any fix on this problem?
Code:
Message: ...face\AddOns\ShadowedUnitFrames\modules\highlight.lua:65: Usage: <unnamed>:SetHeight(height)
Time: 03/20/10 16:33:25
Count: 6
Stack: [C]: in function `SetHeight'
...face\AddOns\ShadowedUnitFrames\modules\highlight.lua:65: in function `OnEnable'
...nterface\AddOns\ShadowedUnitFrames\modules\units.lua:210: in function `SetVisibility'
...terface\AddOns\ShadowedUnitFrames\modules\layout.lua:94: in function `Reload'
Interface\AddOns\ShadowedUF_Options\config.lua:206: in function <Interface\AddOns\ShadowedUF_Options\config.lua:196>
Interface\AddOns\ShadowedUF_Options\config.lua:241: in function <Interface\AddOns\ShadowedUF_Options\config.lua:222>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[2]"]:9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:796: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:611>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?
Interface\AddOns\Skada\lib\AceGUI-3.0\AceGUI-3.0.lua:326: in function `Fire'
...ada\lib\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:61: in function <...ada\lib\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:57>
Locals: (*temporary) = <unnamed> {
0 = <userdata>
}
(*temporary) = nil
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
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
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.
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.
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
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
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.
Quote:
[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-20-2010 at 12:22 AM.
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?
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:
Quote:
[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)
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.
*Clicking the donate button above will take you to PayPal.com
*Clicking the donate button above will take you to Pledgie.com