RangeDisplay
Estimated range display. Type /rangedisplay for configuration or /rangedisplay locked to lock/unlock the frames.
RangeDisplay is a simple range display addon. It is using spell range, item range and interact-distance based checks to determine the approximate range to your current target. Due to the whackyness of interact-distance based checks, recent versions only use those when spell/item based checks are not possible . The display can be configured in many ways (displaying only the max range, adding border and background, etc).
Currently you can set up RangeDisplay to show your current range to your target, focus, pet and mouseover units. The mouseover unit range can be anchored to the mouse or placed at a fixed position.
New in v3.8.0: It is possible to add sound notifications to "range sections" (similar to color setting). The sound will be played when entering the section. If two sections have the same sound file attached to them, then the sound is not played again if switching between the two sections.
This sound notification is enabled by default for the target unit's close range section.
Displaying max range only: if you want to display only the maxRange, you need to set Text to "%d" and tick the Reverse option for the section(s).
Doesn't seem to work properly for Hunters.
So a hunter does melee from 0-5 yds.
Hunter autoshot is 8+ yards away.
Scatter shot is 0-21 yds.
So in Rangedisplay I set:
Close range limit to 5 yds
Short range limit to 8 yds
Medium range limit to 21 yds
I would expect it to show:
Close = 0 - 5
Short = 6 - 8
Medium = 9 - 21
etc...
But it never shows short. It only shows:
"0 - 5"
"5 - 20"
So the 8yd limit thing isn't even considered. What am I doing wrong here? The range library should be able to detect when my autoshot is available to know when I'm at 8 yds away...
Sadly this addon doesn't showed up in twitch client, so everytime client refresh addon list, this addon is deleted by client.
Is there any suggestion of this?
In reply to bolayeou:
Sorry, I have no idea what could go wrong with the twitch client. I don't use it at all... Maybe someone else can help you out
In reply to mitchnull:
I think this is a version issue, it doesn't show up for me as well. I've seen people talk about this on other addons, and the solution is for the author to set the addon version to be available for WoW Classic versions (i.e. 1.13.x), so you might want to try doing that for the next release.
In reply to bolayeou:
One reason I've found for addons being suddenly deleted, is if you have "Auto Uninstall" ticked via the sync settings within the Twitch Client. Untick that box, and you may find that non-Twitch addons won't be deleted anymore.
In reply to bolayeou:
One reason I've found for addons being suddenly deleted, is if you have "Auto Uninstall" ticked via the sync settings within the Twitch Client. Untick that box, and you may find that non-Twitch addons won't be deleted anymore.
The addon shows incorrect values, much smaller than the real ones. I think it's LibRangeCheck-2.0 problem.
In reply to Forge_User_89483223:
what race/class/level have you tested with? is this on classic or retail? friendly or enemy targets?
thanks,
mitch
In reply to mitchnull:
playing as hunter on classic. enemy target. its correct dispalay for 30+ range, but incorrect for melee aka blind zone
seems its always set to distance 5. no matter what numbers i'm entered
ps. sorry for multi post, something goes wrong..
In reply to mitchnull:
Retail, Holy Paladin (It happens with more classes). Training dummy for example in Stormwind. LibRangeCheck says I'm in melee range. However I am very far out of range melee. THANK YOU!
https://imgur.com/a/QwsfvVj
In reply to Forge_User_89483223:
Ah, now I understand :) I didn't know anyone was using those LibRangeCheck functions ;)
Anyway, back when those were created we didn't have any sub-5yd range checkers, so I assumed that melee range was 5yds. Now we have some items with smaller ranges and it turns out that the melee range is 2yds (if we take the other values as "correct")...
Now I've updated the MeleeRange constant to 2 yards, but I advice you to use a fallback mechanism just in case the 2yd checker is not available, like this:
local meleeChecker = rc:GetHarmMaxChecker(rc.MeleeRange) or rc:GetHarmMinChecker(rc.MeleeRange)
(the GetHarmMinChecker will find the closest higher checker in case a MaxChecker is not found)
Addon works for Classic although you must go to /rangedisplay and disable settings for Focus. There is no focus frame for Classic.
In reply to level12lobster:
thanks for the heads-up. I disabled arena and focus units in the latest alpha
In reply to level12lobster:
I cannot get /rangedisplay to do anything. I type that in chat, and when I hit enter it does nothing (doesnt even try to enter the text). Like the enter key does not even work. Any suggestions?
3rd error:
Message: ...angeDisplay\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:74: attempt to call global 'GetNumSpecializationsForClassID' (a nil value)
Time: Tue Aug 27 07:33:45 2019
Count: 1
Stack: ...angeDisplay\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:74: attempt to call global 'GetNumSpecializationsForClassID' (a nil value)
...angeDisplay\libs\LibDualSpec-1.0\LibDualSpec-1.0.lua:74: in main chunk
Locals: MAJOR = "LibDualSpec-1.0"
MINOR = 17
lib = <table> {
registry = <table> {
}
options = <table> {
}
upgrades = <table> {
}
currentSpec = 0
eventFrame = <unnamed> {
}
mixin = <table> {
}
}
minor = nil
registry = <table> {
}
options = <table> {
}
mixin = <table> {
}
upgrades = <table> {
}
AceDB3 = <table> {
db_registry = <table> {
}
frame = <unnamed> {
}
New = <function> defined @Interface\AddOns\ElvUI\Libraries\Ace3\AceDB-3.0\AceDB-3.0.lua:709
}
AceDBOptions3 = <table> {
optionTables = <table> {
}
handlers = <table> {
}
GetOptionsTable = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceDBOptions-3.0\AceDBOptions-3.0.lua:442
}
AceConfigRegistry3 = <table> {
RegisterOptionsTable = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:315
validated = <table> {
}
tables = <table> {
}
callbacks = <table> {
}
RegisterCallback = <function> defined @Interface\AddOns\ElvUI\Libraries\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
GetOptionsTable = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:360
UnregisterCallback = <function> defined @Interface\AddOns\ElvUI\Libraries\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
IterateOptionsTables = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:346
NotifyChange = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:289
ValidateOptionsTable = <function> defined @Interface\AddOns\AddOnSkins\Libs\Ace3\AceConfig-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:276
UnregisterAllCallbacks = <function> defined @Interface\AddOns\ElvUI\Libraries\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
}
_ = "Warlock"
_ = "WARLOCK"
classId = 9
(*temporary) = nil
(*temporary) = 9
(*temporary) = "attempt to call global 'GetNumSpecializationsForClassID' (a nil value)"
Second Lua error:
Message: Interface\AddOns\RangeDisplay\RangeDisplay.lua:715: attempt to call method 'EnhanceDatabase' (a nil value)
Time: Tue Aug 27 07:33:45 2019
Count: 1
Stack: Interface\AddOns\RangeDisplay\RangeDisplay.lua:715: attempt to call method 'EnhanceDatabase' (a nil value)
Interface\AddOns\RangeDisplay\RangeDisplay.lua:715: in function <Interface\AddOns\RangeDisplay\RangeDisplay.lua:707>
[C]: ?
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:70: in function <...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65>
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:498: in function `InitializeAddon'
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:613: in function <...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:605>
Locals: <none>
Doesn't seem to load in Classic. Have not tried disabling other addons:
Message: Interface\AddOns\RangeDisplay\RangeDisplay.lua:780: attempt to index field 'db' (a nil value)
Time: Tue Aug 27 07:33:48 2019
Count: 1
Stack: Interface\AddOns\RangeDisplay\RangeDisplay.lua:780: attempt to index field 'db' (a nil value)
Interface\AddOns\RangeDisplay\RangeDisplay.lua:780: in function `applySettings'
Interface\AddOns\RangeDisplay\RangeDisplay.lua:764: in function <Interface\AddOns\RangeDisplay\RangeDisplay.lua:763>
[C]: ?
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:70: in function <...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65>
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:527: in function `EnableAddon'
...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:620: in function <...s\ElvUI\Libraries\Ace3\AceAddon-3.0\AceAddon-3.0.lua:605>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:353: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:424: in function `TimeManager_LoadUI'
Interface\FrameXML\UIParent.lua:693: in function <Interface\FrameXML\UIParent.lua:658>
Locals: <none>
In reply to Homeguard3:
Looks like you have older versions os Ace3 and LibDualSpec loaded (possibly from some other addon). Please try RangeDisplay without other addons to see if the errors are still there.
In reply to mitchnull:
I had to do a clean manual install of the addon for the options to even load. But it seems to be working now!
Any hope for a Classic port?