This highly configurable mod allows players to associate buttons to unit frames. It is meant as a replacement to GroupButtons which stopped functioning with the 2.0 patch in December 2006. The mod extends the capabilities of GroupButtons by providing these additional features:
an unlimited number of buttons per unit frame
Buttons which turn on/off depending on the amount of damage a unit has
Buttons which are dimmed if a unit as that buff or a related buff applied.
Buttons which appear when a debuff is applied to a unit.
Buttons which allow you to have any type of "/" slash or macro command on a button
A variety of a modes for different activities in the game. For example, a set of buttons
for soloing, buttons for instances, buttons for raids, buttons for specific bosses (such as Baron Geddon in MC (to all priests to debuff), buttons for PvP, etc.
Assign buttons to unit frames that when clicked cast spells on different units. This feature allows, for example, buffs and heals for the player unit to appear within the target buttons to minimize the amount of mouse movement between buttons.
Works for any kind of non-casting classes; specifically warriors and rogues.
Version 1.8.1 (February 24, 2008) (by Palidindrome )
Changelog:
Code:
CHANGED: TOC for 2.3
CHANGED: Tainting issue fix. Copied Tayedaen's combat update code
ADDED: Copied in Cosmic Cleric's UI code for additional settings
ADDED: User Guide back to release package
NOTE - other 1.9 changes are NOT copied in. This is a incremental releasefor the toc/ bug and UI
ADDED: PerfectRaid support
ADDED: Pitbull Raid Frames Raid frames appear to work - Party frames do not work well.
ADDED: Countdown for cooldowns with remaining time < 10 secs can now be displayed with decimals
To enable decimals use '/XUB showdecimals'
ADDED: BUFFx: BUFF/BUFFBLINK buttons can now blink if a buff is about to expire
By defining a BUFFx, the button will blink if the buff is x seconds away
from expiring. Examples: BUFFBLINK15, BUFF10
ADDED: Global Dim
This dims all buttons in state STATE_ENABLED while player is casting a spell
To enable GlobalDim use '/XUB useglobaldim'
(Macro buttons are not dimmed because of the possibility of /stopcast macros)
If you use 'Color coded' instead of 'Transparency' then the dimmed buttons
are colored with c_globaldim (mint at the moment).
Please note that Global Dim has quite a cost in terms of performace, since
it has to dim all ENABLED buttons if you start a cast, and undim them after.
ADDED: new Tooltip option "Show Cooldown even in Combat"
ADDED: Global cooldowns no longer start a countdown timer by default
To enable a countdown timer for global cooldowns use '/XUB showglobalcooldown'
ADDED: Garbage collection after applying a profile
CHANGED: raid/group changes are handled better (does not work while in combat !!)
CHANGED: debuff handling
Some debuffs have no debuff type. Now for these debuffs the name of
the debuff is added to the debuff list instead of the debuff type.
This allows to check for a specific debuff if necessary.
CHANGED: Display of all buttons after a party/raid change (request by Torwauki)
The duration of the display of the buttons after a raid/party change is
now 0 secs per default, the duration after a manual change is still 3 seconds.
Eventually these times will be adjustable in the future, for now they can only be changed in code.
Search in 'eXtremeUnitButtons.lua' for:
XUB_DelayTime_after_automaticProfileChange = 0;
XUB_DelayTime_after_manualProfileChange = 3;
and change the values to your liking.
CHANGED: Improved pitbull support (thx paladindrome)
CHANGED: "Hide and Disable" --> "Show as Hidden"
CHANGED: "Enable and buffed" --> "Show as Buffed"
CHANGED: "Red Cooldown/Blue Mana" --> "Color Coded"
CHANGED: "Heal Button action" --> "Heal/Buff button action"
CHANGED: Button behaviour regarding buffs
After long development discussion we agreed to implement it this way:
A button in buffed state is shown either as BUFFED or INVALID (hidden).
This is adjustable with the modified Healbutton option in the option window (see 'Heal Button action')
CHANGED: Color system
New: Red=Range,Ochre=Buffed,Purple=Cooldown,Cobalt=Mana
There are also some changes to make implementing a color selector easier later
CHANGED: OutOfRange buttons have now a separate alpha from Invalid buttons
The alpha for invalid is set to '0'.
This can be changed to 'x' with '/script XUB_INVALID_ALPHA=x (0 <= x <= 1)
CHANGED: behaviour of unusable buttons
They are no longer higlightened if mouseovered, indicating that ou can't use the button at the moment
FIXED: Spells defined as BUFFS can be debuffs on target units (fixed in hotfix1)
FIXED: fix for "XUB_UF_Apply( "PlayerPet" , "PlayerFramePetFrame" )"
FIXED: workaround for API call 'UnitClass' sometimes returning NIL
Known addon bugs:
none
Known blizzard bugs:
------------------------
'isUsableSpell' is broken, there is nothing I can do to change that.
That means: Some spells are reported 'not usable' if you target a hostile target or NPC (like 'PowerWord: Shield' for example).
NOTES:
Code:
NOTE 1: !!!! Limited Pitbull support is enabled but does not work well
- consider it experimental and unsupported!!!!
NOTE 2: The colors for 'Color coded':
STATE_OUTOFRANGE = c_range = red
STATE_COOLDOWN = c_cooldown = purple
STATE_BUFFED = c_buffed = ochre
STATE_OUTOFMANA = c_outofmana = cobalt
Dimmed button = c_globaldim = mint
These colors can be changed in eXtremUnitButtons.lua.
To do this, open the file and search for 'XUB COLOR DEFINITION BLOCK'
NOTE 3:
The correct spelling for the 4 existing debuff types are :
Magic
Poison
Curse
Disease
Please note that the first character is uppercased.
NOTE 4: The historical changes have been removed from the online
display - they are availible in the embedded Changelog_complete.txt file.
Originally posted by paladindrome I would guess the E put in framework for pets - but never got around to supporting the frames themselves. Speculation at best.
Drome
Drome, you are correct.
The idea was to support pets in raids, but it was less of a priority than just getting raids to work. There were major performance issues in raids, which I understand that tayedaen resolved a number of months ago.
Any chance of seeing another beta release with the fixes implemented?
Started playing my shammie again and the frame rate drops to half after about 30 mins of playing (also solo) so the wep buff/totem thingy is very noticeable.
/reloadui or disabling xub fixes the problem, so there is no doubt of who is the culprit
Bronze
Last edited by Bronzeburn : 05-18-2008 at 02:18 AM.
Originally posted by paladindrome You did not do anything wrong. The code for raid pets is commented out (rest assured I spent the normal debug cycles trying to make it work as well). PartyPets work good - but there is a fiar amount of work to get raidpets to work.
Ahhh... OK, I feel sane again ;-) Thanks for the info! If I'd only know how to write addons ;-)
Thanks again; I will just wait then until maybe some day it will be possible to fill the remaining gaps in code and add this functionality
Originally posted by piteq I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames.
You did not do anything wrong. The code for raid pets is commented out (rest assured I spent the normal debug cycles trying to make it work as well). PartyPets work good - but there is a fiar amount of work to get raidpets to work.
The code that comments out raidpets is only the start. For it to work the support for each unit frame addon would need to be upgraded to support their raid pets. I do not see any pet support for the frames themselves. I would guess the E put in framework for pets - but never got around to supporting the frames themselves. Speculation at best.
I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames. I use XUB for a few months now, and usually paired it with CTRA or XPerl raid/party frames, and it works brilliantly. Problems started recently: I'm rarely required as healer (usually feral druid), so I never put too much attention to hunter/lock pets, but since a week or two I try to PvP in Arena as resto druid, and I'm trying to make healing buttons for my mates' pets.
I gave up with CTRA, switched to Blizzard frames, tried to attach the same buttons as for normal players to group "raidpet" and... nothing. Buttons for pet frames aren't displayed at all. I tried to do the same with XPerl - again no luck. No matter what I try to do, I seem to fail with pet frames. I have no problems with attaching buttons to party, player (self), focus, raid - just not pets. Using RC1 version. Help! :-)
Er, isn't it "partypet" and not raidpet, even for a raid?
Also, try posting your script so we can take a look at it. Finally, make sure in the configuration screen, "Unit Frames" section, for the party/raid dropdown selection at the bottom of the screen, you don't have Blizzard selected but instead the UI add-on frames that you are using.
Last edited by Cosmic Cleric : 05-09-2008 at 05:57 PM.
I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames. I use XUB for a few months now, and usually paired it with CTRA or XPerl raid/party frames, and it works brilliantly. Problems started recently: I'm rarely required as healer (usually feral druid), so I never put too much attention to hunter/lock pets, but since a week or two I try to PvP in Arena as resto druid, and I'm trying to make healing buttons for my mates' pets.
I gave up with CTRA, switched to Blizzard frames, tried to attach the same buttons as for normal players to group "raidpet" and... nothing. Buttons for pet frames aren't displayed at all. I tried to do the same with XPerl - again no luck. No matter what I try to do, I seem to fail with pet frames. I have no problems with attaching buttons to party, player (self), focus, raid - just not pets. Using RC1 version. Help! :-)
Now this line is perfectly valid, it creates a silent tooltip frame that XUB uses to get the weapon buffs (like poisons etc.).
My mistake was to execute this line twice EVERY OnUpdate cycle, creating two new frames each time.
Over time, this created a huge amount of unneeded frames, which were slowing down the system.
The code above is only executed if there's a weapon enchant present, this made debugging difficult
Naturally, in raids more people are using weapon buffs, so the problem was more visible in raids.
Another reason why I could not find the bug: Profling and memory watching does not reveal 'forgotten' frames...
I will keep you informed if this really fixes the problems.
cu
tay
GREAT find! /applaud
To your other post about if you should release intermediate beta builds not but call then new RC #'s, from my point of view, it would be up to you. If you need to have us test something, go ahead and post it, and I'll be glad to best it. Maybe call it something like RC1.1, RC1.2, etc. ?
Now this line is perfectly valid, it creates a silent tooltip frame that XUB uses to get the weapon buffs (like poisons etc.).
My mistake was to execute this line twice EVERY OnUpdate cycle, creating two new frames each time.
Over time, this created a huge amount of unneeded frames, which were slowing down the system.
The code above is only executed if there's a weapon enchant present, this made debugging difficult
Naturally, in raids more people are using weapon buffs, so the problem was more visible in raids.
Another reason why I could not find the bug: Profling and memory watching does not reveal 'forgotten' frames...
I will keep you informed if this really fixes the problems.
RL was pretty demanding in the last two or three weeks.
Neverthless, the main problems from RC1 seem to be fixed here. BUT
I still have a minor perfomance degradation over time that I was unable to get rid of so far.
It's not as bad as RC1 was, but it's existing.
I could post an interim beta that is better then RC1 at last.
But I would hesitate to call it RC2, because it's not 'release' quality.
What's your opinion on this ?
cu
tay
P.S.
I usually make a reloadUI to get rid of the low frame rates at the moment.
Originally posted by Cosmic Cleric I want the button to blink if the target has a disease but not if it has the Abolish Disease buff on it, which removes diseases every few seconds and lasts for many seconds.
Another good idea - but it will be fairly complex to configure in the abstract - or would require detailed knowledge of the specific spell(s). This is real similar to the Power Word Shield and Blessing of Protection issues. Enable Buff unless specific debuff present vs Enable Debuff unless specific buff present.
Re: Re: Re: Re: Re: Shoud this button config work?
Quote:
It's also nice to be able to have buffs check debuffs -- i.e. Casting Power Word: Shield unless the resulting debuff is on the target.
Yes - we have a long standing issue with regard to Buff's with corosponding debuff (Pally protection is another). A work around was put in for the specific spells as there was an issue if you targeted a non-party member with the UI but had the button targeting a party member. As I can tell CC is looking for the opposite (Display a button to clear a debuff except where a Buff is already present). I think that logic is even worse then a double negative - sigh.