libcast: reuse spellname and texture from previous call

- introduce a guard-close in case the spell is phony
- reuse the spell-name and texture returned by GetSpellInfo()
This commit is contained in:
Kyriakos (Dominick) Sidiropoulos
2024-06-04 08:49:37 +02:00
committed by GitHub
parent 2b58818f0e
commit 0bd90d47b4
+6 -4
View File
@@ -389,12 +389,14 @@ hooksecurefunc("UseContainerItem", function(id, index)
end)
hooksecurefunc("CastSpell", function(id, bookType)
_, lastrank = libspell.GetSpellInfo(id, bookType)
lastcasttex = GetSpellTexture(id, bookType)
local spellName, rank, texture, _, _, _, cachedId = libspell.GetSpellInfo(id, bookType)
if not spellName or not cachedId then return end -- ignore if the spell is not found
lastrank = rank
lastcasttex = texture
if GetSpellCooldown(id, bookType) ~= 0 then
local spellName = GetSpellName(id, bookType)
CastCustom(spellName)
CastCustom(spellName)
end
end, true)