From 6793bd278c328f74c6bf23dd148fe4a1ce69a274 Mon Sep 17 00:00:00 2001 From: pepopo978 Date: Mon, 30 Mar 2026 12:04:52 -0700 Subject: [PATCH] fix pounce bleed, improve bleed immunity logic --- Cursive.toc | 4 ++-- curses.lua | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Cursive.toc b/Cursive.toc index a32f7a0..e56f08b 100644 --- a/Cursive.toc +++ b/Cursive.toc @@ -1,6 +1,6 @@ ## Interface: 11200 -## Title: Cursive 3.0.5 -## Title-zhCN: Cursive 3.0.5 +## Title: Cursive 3.0.6 +## Title-zhCN: Cursive 3.0.6 ## Author: Pepopo ## Notes: Uses GUIDs to show units in combat and track curses ## Notes-zhCN: 使用的GUID功能来显示战斗中的单位并监视诅咒等 diff --git a/curses.lua b/curses.lua index 6418893..cf54dca 100644 --- a/curses.lua +++ b/curses.lua @@ -317,7 +317,16 @@ local function VerifyMeleeBleedApplied(targetGuid, spellID) end end - if not hasFullBuffsAndDebuffs then + local isPounceBleed = false + if spellID == 9005 or + spellID == 9823 or + spellID == 9827 then + isPounceBleed = true + end + + -- pounce bleed can fail due to stun immunity as well + -- skip marking the mob as bleed immune for it + if not hasFullBuffsAndDebuffs and not isPounceBleed then local mobName = UnitName(targetGuid) if mobName then curses.bleedImmuneMobs[mobName] = true @@ -373,6 +382,10 @@ Cursive:RegisterEvent("SPELL_GO_SELF", function(itemId, spellID, casterGuid, tar lastGuid = targetGuid local curseData = curses.trackedCurseIds[spellID] if curseData.meleeBleed then + if numTargetsMissed > 0 then + -- I think this will always mean the bleed missed and we can skip the extra bleed immunity logic + return + end local mobName = UnitName(targetGuid) local isBleedImmuneMob = mobName and mobName ~= "" and curses.bleedImmuneMobs[mobName] if not isBleedImmuneMob then