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
+8 -2
View File
@@ -403,13 +403,19 @@ do
--D:Debug("|cFFFF0000Getting debuffs for %s , id = %d|r", Unit, i);
-- Name, rank, Texture, Applications, TypeName, duration, expirationTime, unitCaster, isStealable = UnitAura("unit", index or ["name", "rank"][, "filter"])
-- Name, rank, Texture, Applications, TypeName, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitAura("unit", index or ["name", "rank"][, "filter"])
local Name, rank, Texture, Applications, TypeName, Duration, expirationTime = UnitAura(Unit, i, "HARMFUL");
local Name, rank, Texture, Applications, TypeName, Duration, expirationTime, _src, _stealable, _consolidate, spellId = UnitAura(Unit, i, "HARMFUL");
--local Name, rank, Texture, Applications, TypeName, Duration = UnitDebuff(Unit, i);
if Name then
-- CoA: bleeds have no Blizzard dispel type. Re-tag them as "Bleed"
-- when spellId matches DC.BleedSpellIDs (generated from coa-db).
-- Only overrides typeless debuffs — a real Magic/Curse/etc tag wins.
if (not TypeName or TypeName == "") and spellId and DC.BleedSpellIDs and DC.BleedSpellIDs[spellId] then
TypeName = "Bleed";
end
return Name, TypeName, Applications, Texture, expirationTime;
else
return false, false, false, false, false;