feat(bleed): add DC.BLEED synthetic dispel type, wire Cauterize, bump 1.1.8

UnitAura returns "" for the dispel type on bleeds (mechanic 15 is not a
Blizzard dispel category). New Dcr_BleedIDs.lua ships 1491 bleed-aura
spell IDs auto-generated from coa-db Postgres (effect=APPLY_AURA,
aura=PERIODIC_DAMAGE, mechanic=BLEED). GetUnitDebuff now pulls spellId
and re-tags untyped debuffs as "Bleed" when the ID is in that set.

DC.BLEED = 128, registered in TypeNames / TypeColors (dark red AA1111
to read distinct from CHARMED's bright red), CureOrder default 7,
AuthorizedKeys/Values, options-UI checkbox, and all eight locales.

Cauterize (560749) now lists DC.BLEED alongside MAGIC + POISON so the
Pyromancer cleanse covers what the spell actually does in-game.

Regenerate Dcr_BleedIDs.lua with the SQL header inside the file.
This commit is contained in:
2026-05-27 19:08:09 +02:00
parent ded56c9dc9
commit d3baa86185
13 changed files with 1551 additions and 4 deletions
+16
View File
@@ -79,6 +79,7 @@ function D:GetDefaultsSettings()
[DC.POISON] = 4,
[DC.DISEASE] = 5,
[DC.CHARMED] = 6,
[DC.BLEED] = 7,
},
},
@@ -1599,6 +1600,17 @@ local function GetOptions()
disabled = function() return not D.Status.CuringSpells[DC.CHARMED] end,
order = 146
},
CureBleed = {
type = "toggle",
name = " "..L["BLEED"],
desc = L["OPT_BLEEDCHECK_DESC"],
get = function() return D:GetCureCheckBoxStatus(DC.BLEED) end,
set = function()
D:SetCureOrder (DC.BLEED);
end,
disabled = function() return not D.Status.CuringSpells[DC.BLEED] end,
order = 147
},
}
}, -- }}}
@@ -1776,6 +1788,7 @@ local TypesToUName = {
[DC.POISON] = "POISON",
[DC.DISEASE] = "DISEASE",
[DC.CHARMED] = "CHARM",
[DC.BLEED] = "BLEED",
}
local CureCheckBoxes = false;
@@ -1803,6 +1816,7 @@ function D:CheckCureOrder ()
[DC.POISON] = 4,
[DC.DISEASE] = 5,
[DC.CHARMED] = 6,
[DC.BLEED] = 7,
};
local AuthorizedValues = {
[false] = true; -- LOL Yes, it's TRUE tnat FALSE is an authorized value xD
@@ -1819,6 +1833,8 @@ function D:CheckCureOrder ()
[-15] = DC.DISEASE,
[6] = DC.CHARMED,
[-16] = DC.CHARMED,
[7] = DC.BLEED,
[-17] = DC.BLEED,
};
local GivenValues = {};