Spell tooltips don't always show the correct tooltip
raysmith59 opened this issue ยท 6 comments
I've seen a few examples over the past few months but the only one I can currently duplicate is Judgment, here's how the tooltip looks:
Judgment
Passive
Judgment causes the target to take 25% increased damage from your next Holy Power spender.
(frankly, I don't even know where that's coming from, I don't think it's a talent and I don't see a passive that does that... I think that used to be an effect from something but I don't see it in the current game)
In comparison, the spell book tooltip is:
Judgment
30 yd range
Instant 5.1 sec cooldown
Judges the target, dealing blah blah blah...
Ugh, yeah there's a thousand different spells for each spell name. I probably need to change to us querying the tooltip with spellID not spellname to avoid any ambiguity
weird the call right now "GameTooltip:SetSpellByID(spell_id)" so we are searching by spellID. We're pulling the spellID from the spellcache though, so the only reason this would be wrong is if the spell cache is wrong
TLDR; I think what's happening is that the cache isn't handling multiple instances of the same spell name and it doesn't appear that Blizzard is differentiating the spell names for the various ranks when the functions are called. So, Disengage has two different spellIDs, 781 and 231549, and the tooltip for 231549 (10 second cooldown reduction, see below) is replacing the actual tooltip, 781, based on the spell name being Disengage for both.
Based on this and a desire to keep things simple, I'm in the process of testing a change of Neuron.lua:477 to:
for i = sIndexMax,1,-1 do
It's low tech, but it seems to be working so far. A better solution would be to figure out if it's spell rank 2+ coming back and ignore those entries, I think, just not sure if that's possible.
I'll follow up if I notice any issues.
I think I just figured out what's happening although I don't have a theory of why.
For the hunter Disengage spell, it should show a tooltip of (based on the spellbook action tooltip):
Disengage
Instant 20 sec cooldown
Leap backwards, clearing movement impairing effects, and increasing your movement speed by 50% for 4 seconds.
(the speed boost is from a talent, I think)
However, what I get on my action bar is:
Disengage
Passive
Disengage's cooldown is reducted by 10 seconds.
When I looked on Wowhead, the base Disengage (learned at level 8) is basically as the spellbook indicates except that the cooldown is 30 seconds. Wowhead then lists a Disengage (Rank 2) that you get at level 85 that has the same description that I'm seeing on the action bar. So, it seems what's happeining is that any spells that have additional ranks during the leveling process are only showing the highest rank based on how you're looking up the spell.
https://www.wowhead.com/search?q=disengage
Each of those (Rank 1 and Rank 2) have different spellIDs but I'm not sure how you would get a combined tooltip that includes the cooldown reduction from the second rank, if you simply called the first spellID using some sort of min(spellID) function rather than the last spellID I'm assuming you'd get the tooltip with the 30 sec cooldown rather than the actual 20 second cooldown that I have after level 85.
No clue what to do with that info but hopefully it's of some use to get this figure out, it makes it really tough to play little-played classes when the buttons don't always indicate what they do and we're getting into the phase of the expansion where I'm playing alts more. :)
No issues so far and I haven't seen any incorrect tooltips either so for my purposes it's working well.
Nice sleuthing. Did you have any luck with your changes? I'm reading through this now to catch myself up