From 5b01196751c7d0aeb8cfa2b1e9076e18221c8ad9 Mon Sep 17 00:00:00 2001 From: Dusk-92 Date: Thu, 3 Sep 2026 11:29:46 +0200 Subject: [PATCH] Guard optional ClassicAPI cast events --- libs/libcast.lua | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/libs/libcast.lua b/libs/libcast.lua index 8c9ce18..8612daf 100644 --- a/libs/libcast.lua +++ b/libs/libcast.lua @@ -176,14 +176,23 @@ local classicRemoteEvents = API and API.casts and API.eventutils and _G.C_EventUtils.IsEventValid("UNIT_SPELLCAST_CHANNEL_STOP") if classicRemoteEvents then - libcast:RegisterEvent("UNIT_SPELLCAST_START") - libcast:RegisterEvent("UNIT_SPELLCAST_STOP") - libcast:RegisterEvent("UNIT_SPELLCAST_FAILED") - libcast:RegisterEvent("UNIT_SPELLCAST_INTERRUPTED") - libcast:RegisterEvent("UNIT_SPELLCAST_DELAYED") - libcast:RegisterEvent("UNIT_SPELLCAST_CHANNEL_START") - libcast:RegisterEvent("UNIT_SPELLCAST_CHANNEL_STOP") - libcast:RegisterEvent("UNIT_SPELLCAST_CHANNEL_UPDATE") + local remoteEvents = { + "UNIT_SPELLCAST_START", + "UNIT_SPELLCAST_STOP", + "UNIT_SPELLCAST_FAILED", + "UNIT_SPELLCAST_INTERRUPTED", + "UNIT_SPELLCAST_DELAYED", + "UNIT_SPELLCAST_CHANNEL_START", + "UNIT_SPELLCAST_CHANNEL_STOP", + "UNIT_SPELLCAST_CHANNEL_UPDATE", + } + + for index = 1, table.getn(remoteEvents) do + local eventName = remoteEvents[index] + if _G.C_EventUtils.IsEventValid(eventName) then + libcast:RegisterEvent(eventName) + end + end else libcast:RegisterEvent("CHAT_MSG_SPELL_SELF_DAMAGE") libcast:RegisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE")