RangeRecolor
Simple interface addition, which recolors the action bar buttons when your selected target is out of range, or when you are out of mana/rage etc.
No more guessing if your spell or ranged attack will hit that mob now, the action bar buttons will visually change color and be shaded differently showing you are out of range and will brighten back to full color to indicate when you are within range again and that button is usable.
Some action bar mods are starting to add this 'out of range' functionality to their addons, but at present theres only a few mods that do recolor themselves, such as CTMod and Discord. However, alot of people use other bars in combination with these too such as FlexBar which is popular, then you could often get a mismatch of shaded icons in various colors.
RangeRecolor adds the range recoloring to all action bars that don't currently have that functionality, which is actually the majority of action bars. Then it checks for action bars that have their own recoloring like CTMod and replaces their function with it's own recoloring instead.
RangeRecolor works with popular action bar addons plus the original Blizzard standard bars too, therefore adding the functionality to all bars and in the process recoloring them all the same.
Furthermore, you can use a simple slash command or the checkbox on the options panel to switch between red or grey shaded icons.
Slash commands:
/rr to enable/disable and set defaults.
/rr red to enable red shaded icons (default)
/rr grey to enable grey shaded icons
Addons supported:
* Blizzard Standard Bars
* CTMod
* Gypsy
* BibToolBars
* GhostBar
* PopBar
* Telo's SideBar
* Telo's BottomBar
* FlexBar
* HoloBar
* Discord Action Bars
* Cosmos
* Nurfed ActionBars
* Insomniax
* myAddons
I would of enjoyed some credit for the SetHook and general AddOn structure that you ripped from RedOut. This is an open community and any code can be used at any time, however it is often worthwhile to take a little time to credit those who supported the creation of the endeavor in the first place.
I'll not fight the support though I think its great the addons that you support, I'm not one of those community guys that steps up to the plate to do everything for the users of the addon, though you've taken it under yourself to add support for a lot of addons. Something which I never had the patience to do with RedOut.
However you should of expected me coming here and nagging you since you posted a link to here on the RedOut comments. =P
Nice work!
I've just tested RangeRecolor with the latest Nurfed bars and it's working as normal for me, no problems, recolors both icon and hotkey.
Hi, can you plz add a new link? Would be nice, thx.
http://www.bl4nk.com/wowaddons/RangeRecolor-2.3_fixed.rar
bl4nk - yes, I realized this afterwards. Apparently, anytime a lua error dialog pops up, the CallToArms message shows up in the system chat. I managed to get rid of the error by changing line 675 back to the way it was in the previous version. So far, everything seems to be working properly. I wasn't able to tell what the intent of the change was.
I get an error in RangeRecolor.lua on line 675:
"Attempt to compare number with table"
---
@ShadowGopher: I don't have CTA, and I'm getting the error too. It's probably something else.
got the same problem with Nurfed, even when Nurfed is one of the supported one... :S
Is possible to have a cooldown count on discord action bar? I installed "countdown count" for discord Action bar already but it don't work.
i have some problems with nurfed actionbars the icons won
I've been using CallToArms mod version P7B4. When I installed the latest version v2.3 of Range Recolor, I started getting errors. The error is Interface\AddOns\RangeRecolor.lua:675: attempt to compare number with table
The reason I think it may be a conflict with CallToArms is because everytime the error message popped up I got a message in the system chat window that said something like CTA: No CallToArms error found.
Grab the latest version, v2.3 has been out a while on WoWUI mod site, but I forgot to upload it here. Sorry everyone.
Seems to be slightly broken for me after patch, stays red when im in range on some occasions. If i click on one when i know im in range it updates all the icons.
Another problem occured with improved Sap. It doesnt seems to turn red in any way :/
It seems, that nurfed Action Bars are not longer supported.
Blizzard fixed the bug. Use the org version with the changes of Nathanmx.
763: bad argument #1 to `find' (string expected, got nil) i use gypsy bars and it only occurs when i shift+2 to get to my bars with mage armor and stuff
Yes Arcane Missiles are bugged. I took a look to the code and found out, that "IsActionInRange(id)" always returns nil with AM so it doesn't work.
I've coded a workaround by taking a spell with same range (CounterSpell) which everyone should have in his actionbar. The addon looks for the icon of AM and the fact, that IsActionInRange(id) returns nil, then checks the range by the range of the CounterSpell-Slot.
Read the readme for more info and slashcommands.
For me it did work ... (OnLoad-Bug fixed too)
http://www.jpgoerke.de/downloads/rangerecolor.zip
I have the same problem as Mouse51180 my Mage's Arcane Missiles dont work as intended
Thanks for the dumbed down version of how to fix this Nathanmx.
Everything seems to work fine now except for on my mage...the Arcane Missiles spell has a blue tint to it when im low on mana, but does not show the red tent when I am out of range...any idea why this particular spell doesnt seem to want to agree with the mod?
Here's the layman's version:
Step 1 - Search for:
this:RegisterEvent("UNIT_NAME_UPDATE");
Replace it with:
-- this:RegisterEvent("UNIT_NAME_UPDATE");
Step 2 - Search for:
if( (event=="UNIT_NAME_UPDATE") and (not isLoaded) ) then if( ( arg1 == "player" ) and ( UnitName("player") ~= nil) and ( UnitName("player") ~= UNKNOWNOBJECT )) then RangeRecolorAction_Setup(); end end
Replace with:
-- if( (event=="UNIT_NAME_UPDATE") and (not isLoaded) ) then -- if( ( arg1 == "player" ) and ( UnitName("player") ~= nil) and ( UnitName("player") ~= UNKNOWNOBJECT )) then -- RangeRecolorAction_Setup(); -- end -- end
Step 3 - Search for:
if (event=="VARIABLES_LOADED") then if (RangeRecolorEnabled) then
Add a single line after it:
RangeRecolorAction_Setup();
It should look like this:
if (event=="VARIABLES_LOADED") then if (RangeRecolorEnabled) then RangeRecolorAction_Setup();
In short, you've commented out the UNIT_NAME_UPDATE event, you've also commented out the event that is supposed to fire when UNIT_NAME_UPDATE occurs, and finally added the setup function to the VARIABLES_LOADED event.