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
+4 -1
View File
@@ -142,6 +142,7 @@ DC.POISON = 8;
DC.DISEASE = 16;
DC.CHARMED = 32;
DC.NOTYPE = 64;
DC.BLEED = 128; -- CoA: synthetic dispel type (UnitAura returns "" for bleeds; we re-tag by spellId via DC.BleedSpellIDs)
DC.NORMAL = 8;
@@ -314,6 +315,7 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
[DC.POISON] = "Poison";
[DC.DISEASE] = "Disease";
[DC.CHARMED] = "Charm";
[DC.BLEED] = "Bleed";
}
DC.NameToTypes = D:tReverse(DC.TypeNames);
@@ -326,6 +328,7 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
[DC.POISON] = "22DD22";
[DC.DISEASE] = "995533";
[DC.CHARMED] = "FF0000";
[DC.BLEED] = "AA1111"; -- darker red so it reads distinct from CHARMED
[DC.NOTYPE] = "AAAAAA";
}
@@ -515,7 +518,7 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
DC.SpellsToUse[DS["COA_SOOTHING_TOUCH_MOA"]] = { Types = {DC.DISEASE, DC.POISON}, IsBest = 1, Pet = false, } -- Primalist MoA
DC.SpellsToUse[DS["COA_CLEANSING_IDOL"]] = { Types = {DC.DISEASE, DC.POISON}, IsBest = 0, Pet = false, } -- Witch Doctor — Cleansing Idol (AoE, can't direct-target via click)
DC.SpellsToUse[DS["COA_NANOBOT_CLEANSER"]] = { Types = {DC.DISEASE, DC.POISON}, IsBest = 1, Pet = false, } -- Tinker — Nanobot Cleanser (single-target, direct-castable)
DC.SpellsToUse[DS["COA_CAUTERIZE"]] = { Types = {DC.MAGIC, DC.POISON}, IsBest = 1, Pet = false, } -- Pyromancer — Cauterize (upgraded Burn Impurities; bleed dispel not exposed to Decursive)
DC.SpellsToUse[DS["COA_CAUTERIZE"]] = { Types = {DC.MAGIC, DC.POISON, DC.BLEED}, IsBest = 1, Pet = false, } -- Pyromancer — Cauterize (Magic + Poison via dummy; 1 Bleed via Dispel Mechanic, re-tagged by DC.BleedSpellIDs)
end
-- }}}