From cc61fbf6d70d402fb5f5f89dbd61e1d0f93593f7 Mon Sep 17 00:00:00 2001 From: Meow <30401521+me0wg4ming@users.noreply.github.com> Date: Sat, 14 Mar 2026 09:52:16 +0100 Subject: [PATCH] fix for libtotem.lua crashing with Invalid spell slot --- libs/libspell.lua | 3 +++ libs/libtotem.lua | 2 ++ 2 files changed, 5 insertions(+) diff --git a/libs/libspell.lua b/libs/libspell.lua index 65298fad..e99de82a 100644 --- a/libs/libspell.lua +++ b/libs/libspell.lua @@ -108,6 +108,9 @@ function libspell.GetSpellInfo(index, bookType) name = GetSpellName(id, bookType) end else + if not bookType or (bookType ~= BOOKTYPE_SPELL and bookType ~= BOOKTYPE_PET) then + return nil + end name, rank = GetSpellName(index, bookType) id, bookType = libspell.GetSpellIndex(name, rank) end diff --git a/libs/libtotem.lua b/libs/libtotem.lua index 9836a4b3..e0bd7c68 100644 --- a/libs/libtotem.lua +++ b/libs/libtotem.lua @@ -252,6 +252,8 @@ end) -- Hook CastSpell to store pending name/icon per slot hooksecurefunc("CastSpell", function(id, bookType) + if not id or not bookType then return end + if bookType ~= BOOKTYPE_SPELL and bookType ~= BOOKTYPE_PET then return end local name, rank, icon, _, _, _, spellId = libspell.GetSpellInfo(id, bookType) if not name then return end libtotem:CheckAddQueue(name, rank, icon, spellId)