enhance immunity tracking with SPELL_GO cross-reference and improve combo point capture

Use SPELL_GO hit/miss data to skip redundant debuff scanning for CC/shared
immunity verification. Add stale entry cleanup (>2s) for pending debuffs.
Capture combo points at SPELL_CAST_EVENT (client-side, pre-server) for
reliable finisher duration tracking. Add SPELL_GO reactive ability detection
for yellow attack dodges replacing combat log text parsing.
This commit is contained in:
Jrc13245
2026-02-07 12:54:34 -05:00
parent dd0f6572d4
commit 4c00ade625
4 changed files with 297 additions and 37 deletions
+12 -2
View File
@@ -467,8 +467,18 @@ function CleveRoids.TrackComboPointCastByID(spellID, targetGUID)
-- If combo points are 0, try multiple fallback sources
if comboPoints == 0 then
-- First, try lastComboPoints (don't reset immediately - let it persist)
if CleveRoids.lastComboPoints > 0 then
-- PRIMARY: Check SPELL_CAST_EVENT capture (most reliable - client-side pre-server)
local pending = CleveRoids.pendingCasts and CleveRoids.pendingCasts[spellID]
if pending and pending.comboPoints and pending.comboPoints > 0 then
comboPoints = pending.comboPoints
if CleveRoids.debug then
DEFAULT_CHAT_FRAME:AddMessage(
string.format("|cff00ff88[TrackComboByID]|r Using SPELL_CAST_EVENT CP: %d for spell ID %d",
comboPoints, spellID)
)
end
-- Fallback: lastComboPoints (don't reset immediately - let it persist)
elseif CleveRoids.lastComboPoints > 0 then
comboPoints = CleveRoids.lastComboPoints
-- Don't reset here - let it persist for multiple events
if CleveRoids.debug then