[BUG] LibRangeCheck failure impacting AOE
Tyhs05 opened this issue ยท 3 comments
Before You Begin
- I confirm that I have downloaded the latest version of the addon.
- I am not playing on a private server.
- I checked for an existing, open ticket for this issue and was not able to find one.
- I edited the title of this bug report (above) so that it describes the issue I am reporting.
Describe the Issue
The last few versions that have been released have been causing me to have an issue on my totemic enhancement shaman.
The addon is not detecting when i am moving into an AOE situation and therefore is defaulting to ST prio.
I am up to date with the addon versions and have the correct settings selected as advised by a few people in the discord server.
How to Reproduce
I am unsure how to reproduce this exactly however this is what i have done to try and replicate it.
Updated to latest version (Auto AOE not working for me)
Roll back to old version (it worked for a day then stopped)
Updated to latest version (it worked for a day then stopped)
Player Information (Link)
https://pastebin.com/ifqYfW25 (dummys) / https://pastebin.com/JzfwMp3b (in key)
Error Messages (Link)
No error messages
Additional Information
No response
Contact Information
Discord- tyh05
I Logged into today to find the auto setting working correctly.
I took a snapshot when working at the training dummies to best match yesterdays snapshot.
https://pastebin.com/ExKLWKxF (new dummies)
might not be able to test in raid or m+ today but if i do and the issues persists il attach another snapshot
It looks like LibRangeCheck broke when you tested previously, which is rather strange. The additional targets were filtered due to (perceived) range.
This enemy (your target, most likely was detected but its range was never set (-1 is default value):
- Checking nameplate list for nameplate3 [ Creature-0-3768-2552-12906-225982-000098BA30 ] Cleave Training Dummy.
nameplate3 - -1 - Creature-0-3768-2552-12906-225982-000098BA30 - 180.00 - -1 - Cleave Training Dummy
The other enemies were all perceived as out of range (25 yards).
- Checking nameplate list for nameplate9 [ Creature-0-3768-2552-12906-225982-000118BA2F ] Cleave Training Dummy.
- Excluded by range (25 > 10).
- Checking nameplate list for nameplate5 [ Creature-0-3768-2552-12906-225982-000198BA2F ] Cleave Training Dummy.
- Excluded by range (25 > 10).
- Checking nameplate list for nameplate1 [ Creature-0-3768-2552-12906-225982-000098BA2F ] Cleave Training Dummy.
- Excluded by range (25 > 10).
- Checking nameplate list for nameplate4 [ Creature-0-3768-2552-12906-225982-000018BA2F ] Cleave Training Dummy.
- Excluded by range (25 > 10).
It looks like some kind of resolution/backup plan is needed for range checking (note to self: see Targets.lua line 436).
Disclaimer: This is mostly just anecdotal observations, but my workaround seems to be working for me.
I was running into the same problem on my Enhancement Shaman, much the same as was noted here and in #5084 about running into this on multiple classes in their original post. I even ran into it twice in the same day (both in Dawnbreaker). Sometimes it works in one run and breaks in the next, other times it broke in the very first Mythic+ run after logging in. Once it breaks, it stays broken until reload.
When it's broken, there's a few telltale signs in the snapshot that seem to consistently be the case:
- In the targets section, the current target is detected at a range of
-1. - In the targets section, the other targets are detected at a static, inaccurate range (I was getting
30). - Within the action lists,
target.distanceevaluated to a static, inaccurate range (I was getting15).
I also noticed that I never ran into this on my Windwalker Monk, so I tried to figure out what the differences were there. When I looked into LibRangeCheck's code, I noticed the class-specific spells that are being used to detect some ranges had a potentially important difference:
tinsert(HarmSpells.MONK, 100780) -- Tiger Palm (Melee Range)
-- [...snip...]
tinsert(HarmSpells.SHAMAN, 73899) -- Primal Strike (Melee Range)In this case, the only class-specific spell which could detect anything shorter than 30 yards was Primal Strike, which also happens to be a replaceable spell. For Enhancement, Primal Strike becomes Stormstrike, and during Ascendence, Stormstrike becomes Windstrike. Coincidentally, Windstrike has a range of 30, the same range as the bugged target detection, but the bug still happened even outside of Ascendence.
So the working theory is that two different things are happening when this bug occurs:
- LibRangeCheck's other methods of detecting range seem to fail and it falls back to just using class abilities and items for range checks. Normally LibRangeCheck is quite accurate, much more accurate than the registered class spells would give it the ability to.
- The primary registered spell that would detect melee range seems to fail or get stuck when the spell is replaced under certain circumstances. This is the piece that I think differentiates my observations between classes.
I don't know why point 1 might be happening, but I tried addressing point 2 by just adding more spells to it and bumping the MINOR_VERSION of LibRangeCheck to make sure it's the one that loads. To start, I added all of the variants of the replaced spell, and second, I added another melee ability that wasn't being replaced.
index 3f2cef6..bd3ea7d 100644
--- a/Libs/LibRangeCheck-3.0/LibRangeCheck-3.0.lua
+++ b/Libs/LibRangeCheck-3.0/LibRangeCheck-3.0.lua
@@ -40,7 +40,7 @@ License: MIT
-- @class file
-- @name LibRangeCheck-3.0
local MAJOR_VERSION = "LibRangeCheck-3.0"
-local MINOR_VERSION = 28
+local MINOR_VERSION = 99
---@class lib
local lib, oldminor = LibStub:NewLibrary(MAJOR_VERSION, MINOR_VERSION)
@@ -316,6 +316,10 @@ tinsert(HarmSpells.SHAMAN, 8042) -- Earth Shock (40 yards)
tinsert(HarmSpells.SHAMAN, 117014) -- Elemental Blast (40 yards)
tinsert(HarmSpells.SHAMAN, 188196) -- Lightning Bolt (40 yards)
tinsert(HarmSpells.SHAMAN, 73899) -- Primal Strike (Melee Range)
+tinsert(HarmSpells.SHAMAN, 17364) -- Stormstrike (Melee Range)
+tinsert(HarmSpells.SHAMAN, 60103) -- Lava Lash (Melee Range)
+tinsert(HarmSpells.SHAMAN, 115356) -- Windstrike (30 yards)
+tinsert(HarmSpells.SHAMAN, 57994) -- Wind Shear (30 yards)
if not isRetail then
tinsert(HarmSpells.SHAMAN, 403) -- Lightning Bolt (30 yards, level 1, rank 1)Since I've added these spells, I haven't noticed the same issue happening again. It's possible point 1 still is breaking, but perhaps the extra class abilities are mitigating the issue?


