5 Commits

Author SHA1 Message Date
florian.berthold 9adfb1e1bd fix(libs): pcall AceGUI OnGamePadButtonDown (3.3.5 has no gamepad script type)
release / release (push) Successful in 3s
2026-05-29 20:23:33 +02:00
florian.berthold 6a686f9a2d fix: reset Bleed cure state in Configure + map CureBleed checkbox; port icon/border textures .tga->BLP 2026-05-29 10:43:54 +02:00
florian.berthold f87b41960d refactor(bleed): pack BleedIDs as comma-string (~16/line) for clean diffs
release / release (push) Successful in 3s
Previous per-ID-per-line form (1502 lines / 53 KB) made every regen show
as a 1500-line block diff. Pack the IDs into a comma-separated string at
~16 entries per line (94 packed lines / 11.5 KB) and parse once at load.
Future regenerations only churn the chunks where IDs actually change.

No behaviour change: still produces a {[spellId]=true} hash for O(1)
lookup in Decursive.lua:GetUnitDebuff.
2026-05-27 20:37:52 +02:00
florian.berthold d3baa86185 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.
2026-05-27 19:08:09 +02:00
florian.berthold ded56c9dc9 fix(Pyromancer): register Cauterize (Magic/Poison), bump 1.1.7
Cauterize (560749) clears Magic + Poison via a dummy script effect and
removes 1 bleed via Dispel Mechanic. Decursive has no bleed type so
only the magic/poison part is wired; bleed dispel is silently dropped.
2026-05-27 18:59:29 +02:00
23 changed files with 171 additions and 10 deletions
+9 -3
View File
@@ -124,8 +124,8 @@ DC.AfflictionSound = "Interface\\AddOns\\Decursive\\Sounds\\AfflictionAlert.wav"
--DC.AfflictionSound = "Sound\\Doodad\\BellTollTribal.wav" --DC.AfflictionSound = "Sound\\Doodad\\BellTollTribal.wav"
DC.FailedSound = "Interface\\AddOns\\Decursive\\Sounds\\FailedSpell.wav"; DC.FailedSound = "Interface\\AddOns\\Decursive\\Sounds\\FailedSpell.wav";
DC.IconON = "Interface\\AddOns\\Decursive\\iconON.tga"; DC.IconON = "Interface\\AddOns\\Decursive\\iconON.blp";
DC.IconOFF = "Interface\\AddOns\\Decursive\\iconOFF.tga"; DC.IconOFF = "Interface\\AddOns\\Decursive\\iconOFF.blp";
for class in pairs(RAID_CLASS_COLORS) do for class in pairs(RAID_CLASS_COLORS) do
DC["CLASS_"..class] = class DC["CLASS_"..class] = class
@@ -142,6 +142,7 @@ DC.POISON = 8;
DC.DISEASE = 16; DC.DISEASE = 16;
DC.CHARMED = 32; DC.CHARMED = 32;
DC.NOTYPE = 64; 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; DC.NORMAL = 8;
@@ -314,6 +315,7 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
[DC.POISON] = "Poison"; [DC.POISON] = "Poison";
[DC.DISEASE] = "Disease"; [DC.DISEASE] = "Disease";
[DC.CHARMED] = "Charm"; [DC.CHARMED] = "Charm";
[DC.BLEED] = "Bleed";
} }
DC.NameToTypes = D:tReverse(DC.TypeNames); DC.NameToTypes = D:tReverse(DC.TypeNames);
@@ -326,6 +328,7 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
[DC.POISON] = "22DD22"; [DC.POISON] = "22DD22";
[DC.DISEASE] = "995533"; [DC.DISEASE] = "995533";
[DC.CHARMED] = "FF0000"; [DC.CHARMED] = "FF0000";
[DC.BLEED] = "AA1111"; -- darker red so it reads distinct from CHARMED
[DC.NOTYPE] = "AAAAAA"; [DC.NOTYPE] = "AAAAAA";
} }
@@ -515,6 +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_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_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_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, DC.BLEED}, IsBest = 1, Pet = false, } -- Pyromancer — Cauterize (Magic + Poison via dummy; 1 Bleed via Dispel Mechanic, re-tagged by DC.BleedSpellIDs)
end end
-- }}} -- }}}
@@ -822,7 +826,7 @@ function D:OnDisable() -- When the addon is disabled by Ace
D.Status.Enabled = false; D.Status.Enabled = false;
D.DcrFullyInitialized = false; D.DcrFullyInitialized = false;
D:SetIcon("Interface\\AddOns\\Decursive\\iconOFF.tga"); D:SetIcon("Interface\\AddOns\\Decursive\\iconOFF.blp");
if ( D.profile.ShowDebuffsFrame) then if ( D.profile.ShowDebuffsFrame) then
D.MFContainer:Hide(); D.MFContainer:Hide();
@@ -982,6 +986,7 @@ function D:Configure() --{{{
CuringSpells[DC.POISON] = false; CuringSpells[DC.POISON] = false;
CuringSpells[DC.DISEASE] = false; CuringSpells[DC.DISEASE] = false;
CuringSpells[DC.CHARMED] = false; CuringSpells[DC.CHARMED] = false;
CuringSpells[DC.BLEED] = false; -- CoA: reset so Cauterize doesn't ghost after respec
local Spell, spellName, Type, _; local Spell, spellName, Type, _;
local GetSpellInfo = _G.GetSpellInfo; local GetSpellInfo = _G.GetSpellInfo;
@@ -1187,6 +1192,7 @@ function D:GetSpellsTranslations(FromDIAG)
["COA_SOOTHING_TOUCH_MOA"] = { 520841, }, -- Primalist MoA (Poison, Disease — same Soothing-Touch variant pattern as Venomancer's Antivenom/Blight pair) ["COA_SOOTHING_TOUCH_MOA"] = { 520841, }, -- Primalist MoA (Poison, Disease — same Soothing-Touch variant pattern as Venomancer's Antivenom/Blight pair)
["COA_CLEANSING_IDOL"] = { 504840, }, -- Witch Doctor (Disease, Poison — AoE idol, 30yd, ticks every 3s) ["COA_CLEANSING_IDOL"] = { 504840, }, -- Witch Doctor (Disease, Poison — AoE idol, 30yd, ticks every 3s)
["COA_NANOBOT_CLEANSER"] = { 502537, }, -- Tinker / Invention (Disease, Poison — single-target, 40yd, ticks every 3s for 15s) ["COA_NANOBOT_CLEANSER"] = { 502537, }, -- Tinker / Invention (Disease, Poison — single-target, 40yd, ticks every 3s for 15s)
["COA_CAUTERIZE"] = { 560749, }, -- Pyromancer (Magic + Poison via dummy script; also removes 1 bleed via Dispel Mechanic — bleed not modelled by Decursive)
} }
for k,v in pairs(customSpells) do Spells[k] = v end for k,v in pairs(customSpells) do Spells[k] = v end
end end
+116
View File
@@ -0,0 +1,116 @@
-- Decursive — CoA bleed-aura spell IDs
-- Auto-generated from db.exil.es (coa-db) — DO NOT EDIT by hand.
-- Regenerate with:
-- SELECT s.id FROM spell s
-- WHERE EXISTS (SELECT 1 FROM jsonb_array_elements(s.effects) e
-- WHERE (e->>'id')::int = 6 -- SPELL_EFFECT_APPLY_AURA
-- AND (e->>'aura')::int = 3 -- SPELL_AURA_PERIODIC_DAMAGE
-- AND (e->>'mechanic')::int = 15) -- MECHANIC_BLEED
-- ORDER BY s.id;
-- Generated: 2026-05-27T18:37:37Z Count: 1491
local DC = DcrC;
-- Packed as comma-separated IDs (~16/line) so regens diff cleanly.
-- Parsed once at addon load into a {[id]=true} hash for O(1) lookup.
local packed = [[
703,772,1079,1080,1081,1822,1823,1824,1826,1943,3147,4102,4244,6546,6547,6548
8631,8632,8633,8639,8640,8818,9492,9493,9752,9894,9896,9904,10044,11273,11274,11275
11289,11290,11572,11573,11574,11575,11977,12054,12721,13318,13443,13445,13738,14087,14118,14331
14874,14903,15583,15976,16095,16393,16403,16406,16509,17153,17407,17504,18075,18078,18106,18200
18202,19771,21948,21949,24192,24331,24332,25208,26839,26867,26884,27003,27008,27556,27638,28913
29574,29578,29583,29906,29935,30285,30639,31041,31410,31956,32019,32901,33745,33865,33912,35144
35318,35321,36023,36054,36332,36383,36590,36617,36965,36991,37123,37662,37973,38363,38772,38801
38810,39198,39215,39382,40199,41092,41932,42395,42397,42658,43093,43153,43246,43931,43937,46845
47465,48130,48261,48286,48374,48567,48568,48573,48574,48671,48672,48675,48676,48880,48920,49678
49799,49800,50498,50729,51275,52401,52504,52771,52873,53317,53499,53578,53579,53580,53581,53582
53602,54668,54703,54708,55102,55249,55276,55550,55604,55622,55645,57661,58459,58517,58830,58978
59007,59239,59256,59262,59264,59268,59269,59343,59349,59444,59682,59691,59825,59826,59881,59882
59883,59884,59885,59886,59989,61164,61896,62318,62331,62418,65033,66620,67679,70278,70279,71926
75160,80183,80304,80629,80636,83532,85137,85138,85139,85242,85327,85339,85356,92365,92468,92716
100332,100632,101478,102884,102887,102894,102900,156943,158045,164018,182200,201161,202026,202072,202884,202887
202894,202900,234785,254002,254118,254120,254126,254138,254669,254671,254902,255434,255435,255436,255777,255922
256416,257330,257342,257343,257344,257525,267018,267020,271853,272355,273872,273873,273874,273875,273876,273877
273878,273879,273880,273881,273882,273883,273887,274279,274321,274322,274323,274324,274325,274326,274327,274328
274329,274330,274331,274332,274870,274871,274872,275327,275662,275699,275700,275701,275702,275703,275704,276204
276205,276206,276207,276208,276209,276210,276211,276212,276213,277532,282288,282289,282290,282291,282292,282293
282294,282295,282296,282297,283003,283510,284564,284840,284845,284846,284847,284848,284881,284890,284892,285052
285053,285054,285055,285056,285057,285058,285059,285060,285061,285062,285063,285071,285164,285165,285166,285167
285168,285169,285170,285694,285897,285901,285902,285903,285904,285905,285906,285907,285908,285909,286035,286036
286037,286038,286039,286040,286041,286181,286182,286183,286184,286185,286186,286187,286428,286429,286430,286431
286432,286433,290242,290244,290245,290246,290247,290248,290249,290250,291026,291027,291028,291029,291030,291031
291041,291056,300844,300870,300933,300934,300935,300936,300937,300938,300939,303010,303017,303046,304003,304167
304223,312451,312525,312778,312786,312802,312842,312844,312970,313165,313292,313415,316451,316525,316778,316786
316802,316842,316844,316970,317165,317292,317415,320451,320525,320778,320786,320802,320842,320844,320970,321165
321292,321415,340015,340052,340095,340119,340516,350009,350010,350039,350052,350057,350069,350302,350346,350378
350379,351014,351053,351092,351096,351121,351284,351285,351343,351344,351349,351350,351351,354043,354072,354073
354274,354281,354292,354619,354620,354621,354643,354644,354645,354830,354835,354858,354859,354860,354864,354865
354866,354976,354995,355247,355263,355375,355376,355437,355485,355500,355561,355764,384294,385396,391369,413006
462136,500073,500127,500351,501640,501641,501642,501643,501644,501645,501646,501647,501648,501649,501650,501651
501687,501688,501689,501690,501691,501692,501693,501694,501704,501705,501706,501707,502732,502733,503561,504291
504669,504670,504671,504672,504673,504674,504675,504676,520610,520712,520713,520714,520715,520716,520781,524964
560101,560102,560103,560104,560313,560356,560407,561303,572725,573337,575836,575837,600703,600772,601079,601822
601943,633745,680279,680744,680766,704256,705023,705757,706808,707229,707303,782754,782801,783054,783055,783056
800341,800772,800990,801023,802568,802569,802570,802571,802572,802573,802580,802587,803851,803859,803860,803861
803862,803863,803864,804143,804600,805366,805832,806569,806576,806670,806671,806882,806883,806884,806885,806886
806887,806898,806899,806900,806901,806902,806903,807237,807324,807325,807326,807327,807328,807329,807330,850518
860210,901020,901021,901022,901023,901081,901149,901150,901151,901152,901153,901154,901185,901186,901187,901188
901189,901190,901191,901192,904000,904001,904002,904003,904004,904005,904006,904007,904008,904009,904010,904020
904021,904022,904023,904024,904025,904026,904027,904028,904029,904030,904040,904041,904042,904043,904044,904045
904046,904047,904048,904049,904050,904060,904061,904062,904063,904064,904065,904066,904067,904068,904069,904070
904080,904081,904082,904083,904084,904085,904086,904087,904088,904089,904090,904100,904101,904102,904103,904104
904105,904106,904107,904108,904109,904110,904120,904121,904122,904123,904124,904125,904126,904127,904140,904141
904142,904143,904144,904145,904146,904147,904160,904161,904162,904163,904164,904165,904166,904167,904180,904181
904182,904183,904184,904185,904186,904187,904200,904201,904202,904203,904204,904205,904206,904207,904220,904221
904222,904223,904224,904225,904226,904227,904960,904961,904962,904963,904964,904965,904966,904967,904968,904980
904981,904982,904983,904984,904985,904986,904987,904988,907000,907001,907002,907003,907004,907005,907006,907007
907008,907020,907021,907022,907023,907024,907025,907026,907027,907028,907040,907041,907042,907043,907044,907045
907046,907047,907048,907060,907061,907062,907063,907064,907065,907066,907067,907068,947470,947471,947472,947473
947474,947475,947476,947477,947478,947479,947480,947481,954809,954815,954883,954884,954885,954886,954887,954888
954889,965150,965408,965630,965747,965758,965762,965772,966380,975040,978693,978694,978695,982251,982450,982682
982683,982684,982685,982686,982687,982688,982703,982704,982705,982706,982707,983021,983022,983023,983024,983025
983026,983027,983028,983029,983030,983031,983032,983037,983251,983260,983261,983262,983263,983264,983265,983266
983267,983663,984698,984702,984818,984828,984831,984865,986011,986012,986013,986014,986015,986016,986017,986018
986019,986020,987149,990240,992373,992716,992722,992768,992802,992833,992943,992991,993001,993096,993740,993741
993742,993752,993900,997099,997243,997244,997245,997246,997247,997248,997249,997250,997251,997252,997316,997595
997765,997766,997767,997768,997769,997770,997771,1100703,1100772,1100790,1100791,1100792,1100793,1100794,1100795,1101079
1101822,1101823,1101824,1101943,1106546,1106547,1106548,1108631,1108632,1108633,1108639,1108640,1109007,1109492,1109493,1109752
1109824,1109826,1109894,1109896,1109904,1111273,1111274,1111275,1111289,1111290,1111572,1111573,1111574,1112721,1114874,1114903
1115583,1124331,1124332,1125208,1126839,1126867,1126884,1127003,1127007,1127008,1127556,1127638,1129583,1131041,1133745,1133746
1133747,1136332,1137066,1143104,1146845,1147465,1148567,1148568,1148573,1148574,1148580,1148581,1148671,1148672,1148675,1148676
1149799,1149800,1149804,1150498,1153578,1153579,1153580,1153581,1153582,1155550,1155622,1158978,1159881,1159882,1159883,1159884
1159885,1159886,1161164,1163071,1163468,1180242,1180251,1180252,1180253,1180254,1180255,1402322,1407046,1407048,1569398,1570396
1572620,1572621,1572622,1572623,1572624,1572625,1572626,1572627,1572628,1572629,1572630,1572631,1572638,1573293,1574215,1574241
1574267,1575466,1575467,1575468,1575469,1575470,1575471,1575472,1576594,1576595,1576596,1576597,1576598,1576599,1576600,1576601
1576602,1576603,1580246,1584827,1587588,1588276,1588281,1588282,1588283,1588284,1588346,1588348,1588372,1588841,1588842,1588843
1588844,1588845,1588846,1588847,1588848,1588849,1588850,1588851,1588852,1588894,1590352,1590575,1590576,1590577,1590578,1590579
1590580,1590581,1590582,1590583,1590584,1901020,1901021,1901022,1901023,1954815,2100021,2100022,2100023,2100024,2100170,2100752
2100913,2102164,2102580,2102654,2102655,2102656,2102657,2102681,2102682,2102683,2102684,2102842,2102843,2102844,2102845,2106029
2106030,2106031,2106032,2110917,2110918,2110919,2110920,2112408,2112409,2112410,2112411,2118240,2118241,2118242,2118243,2118326
2118327,2118328,2118329,2122122,2122123,2122124,2122125,2122323,2122324,2122325,2122326,2125205,2125206,2125207,2125208,2125292
2125293,2125294,2125295,2125372,2125373,2125374,2125375,2125601,2125602,2125603,2125604,2125664,2125665,2125666,2125667,2130032
2130174,2130814,2130815,2130816,2130817,2130829,2130855,2130856,2130857,2135600,2135601,2135602,2135603,2135657,2135658,2135659
2135660,2135668,2135669,2135670,2135671,2135747,2135748,2135749,2135750,2135819,2135820,2135821,2135822,2135824,2135825,2135826
2135827,2135833,2135834,2135835,2135836,2135857,2135858,2135859,2135860,2135877,2135878,2135879,2135880,2136058,2136059,2136060
2136061,2136326,2136327,2136328,2136329,2136382,2136383,2136384,2136385,2136398,2136399,2136400,2136401,2137739,2137740,2137741
2137742,2137807,2137808,2137809,2137810,2141254,2141255,2141256,2141257,2141572,2141573,2141574,2141575,2142208,2142209,2142210
2142211,2142516,2142517,2142518,2142519,2145205,2148844,2148845,2148846,2148847,2150775,2150776,2150777,2150778,2150844,2150845
2150846,2150847,2151239,2151357,2151372,2151451,2151452,2151453,2151454,2152541,2152542,2152543,2152544,2152614,2152615,2152616
2152617,2152775,2152776,2152777,2152778,2153067,2153239,2153357,2153372,2154541,2154542,2154543,2154544,2154614,2154615,2154616
2154617,2154867,2156122,2156123,2156124,2156125,2156323,2156324,2156325,2156326,2251020,2251021,2251022,2251023,2304587,2304809
2304815,2304883,2304884,2304885,2304886,2304887,2304888,2304889,3100021,3100022,3100023,3100024,3100170,3100752,3102164,3102580
3102654,3102655,3102656,3102657,3102681,3102682,3102683,3102684,3106029,3106030,3106031,3106032,3123924,3123925,3123926,3123927
3125205,3125206,3125207,3125208,3125292,3125293,3125294,3125295,3125372,3125373,3125374,3125375,3125601,3125602,3125603,3125604
3125664,3125665,3125666,3125667,3130032,3130174,3130814,3130815,3130816,3130817,3135600,3135601,3135602,3135603,3135657,3135658
3135659,3135660,3135668,3135669,3135670,3135671,3135747,3135748,3135749,3135750,3135819,3135820,3135821,3135822,3135824,3135825
3135826,3135827,3135833,3135834,3135835,3135836,3135857,3135858,3135859,3135860,3135877,3135878,3135879,3135880,3136058,3136059
3136060,3136061,3136326,3136327,3136328,3136329,3136382,3136383,3136384,3136385,3136398,3136399,3136400,3136401,3137739,3137740
3137741,3137742,3137807,3137808,3137809,3137810,3141254,3141255,3141256,3141257,3141572,3141573,3141574,3141575,3142208,3142209
3142210,3142211,3142516,3142517,3142518,3142519,3280243,3304815,3954809,4125431,5011037,5011166,5036870,5432530,8000004,9931133
9980645,10013445,10092716
]]
DC.BleedSpellIDs = {}
for id in string.gmatch(packed, "%d+") do
DC.BleedSpellIDs[tonumber(id)] = true
end
+2 -2
View File
@@ -84,7 +84,7 @@
<Color r="0" g="0" b="0" a="0.75" /> <Color r="0" g="0" b="0" a="0.75" />
</Texture> <!-- }}} --> </Texture> <!-- }}} -->
<Texture name="DcrLVIconTemplate" file="Interface\AddOns\Decursive\iconON.tga" virtual="true"> <!-- {{{ --> <Texture name="DcrLVIconTemplate" file="Interface\AddOns\Decursive\iconON.blp" virtual="true"> <!-- {{{ -->
<Anchors> <Anchors>
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="$parent"> <Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="$parent">
<Offset> <Offset>
@@ -97,7 +97,7 @@
</Size> </Size>
</Texture> <!-- }}} --> </Texture> <!-- }}} -->
<Texture name="DcrLVRaidIconTemplate" file="Interface\AddOns\Decursive\iconON.tga" virtual="true"> <!-- {{{ --> <Texture name="DcrLVRaidIconTemplate" file="Interface\AddOns\Decursive\iconON.blp" virtual="true"> <!-- {{{ -->
<Anchors> <Anchors>
<Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" relativeTo="$parent"> <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" relativeTo="$parent">
<Offset> <Offset>
+17
View File
@@ -79,6 +79,7 @@ function D:GetDefaultsSettings()
[DC.POISON] = 4, [DC.POISON] = 4,
[DC.DISEASE] = 5, [DC.DISEASE] = 5,
[DC.CHARMED] = 6, [DC.CHARMED] = 6,
[DC.BLEED] = 7,
}, },
}, },
@@ -1599,6 +1600,17 @@ local function GetOptions()
disabled = function() return not D.Status.CuringSpells[DC.CHARMED] end, disabled = function() return not D.Status.CuringSpells[DC.CHARMED] end,
order = 146 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.POISON] = "POISON",
[DC.DISEASE] = "DISEASE", [DC.DISEASE] = "DISEASE",
[DC.CHARMED] = "CHARM", [DC.CHARMED] = "CHARM",
[DC.BLEED] = "BLEED",
} }
local CureCheckBoxes = false; local CureCheckBoxes = false;
@@ -1803,6 +1816,7 @@ function D:CheckCureOrder ()
[DC.POISON] = 4, [DC.POISON] = 4,
[DC.DISEASE] = 5, [DC.DISEASE] = 5,
[DC.CHARMED] = 6, [DC.CHARMED] = 6,
[DC.BLEED] = 7,
}; };
local AuthorizedValues = { local AuthorizedValues = {
[false] = true; -- LOL Yes, it's TRUE tnat FALSE is an authorized value xD [false] = true; -- LOL Yes, it's TRUE tnat FALSE is an authorized value xD
@@ -1819,6 +1833,8 @@ function D:CheckCureOrder ()
[-15] = DC.DISEASE, [-15] = DC.DISEASE,
[6] = DC.CHARMED, [6] = DC.CHARMED,
[-16] = DC.CHARMED, [-16] = DC.CHARMED,
[7] = DC.BLEED,
[-17] = DC.BLEED,
}; };
local GivenValues = {}; local GivenValues = {};
@@ -1861,6 +1877,7 @@ function D:SetCureOrder (ToChange)
[DC.POISON] = D.options.args.CureOptions.args.CurePoison, [DC.POISON] = D.options.args.CureOptions.args.CurePoison,
[DC.DISEASE] = D.options.args.CureOptions.args.CureDisease, [DC.DISEASE] = D.options.args.CureOptions.args.CureDisease,
[DC.CHARMED] = D.options.args.CureOptions.args.CureCharmed, [DC.CHARMED] = D.options.args.CureOptions.args.CureCharmed,
[DC.BLEED] = D.options.args.CureOptions.args.CureBleed, -- CoA: added with DC.BLEED
} }
end end
+9 -3
View File
@@ -397,19 +397,25 @@ do
if D.LiveList.TestItemDisplayed and i == 1 and Unit ~= "target" and Unit ~= "mouseover" and UnitExists(Unit) then if D.LiveList.TestItemDisplayed and i == 1 and Unit ~= "target" and Unit ~= "mouseover" and UnitExists(Unit) then
D:Debug("|cFFFF0000Setting test debuff for %s (debuff %d)|r", Unit, i); D:Debug("|cFFFF0000Setting test debuff for %s (debuff %d)|r", Unit, i);
return "Test item", DC.TypeNames[D.Status.ReversedCureOrder[1]], 2, "Interface\\AddOns\\Decursive\\iconON.tga", D.LiveList.TestItemDisplayed + 70; return "Test item", DC.TypeNames[D.Status.ReversedCureOrder[1]], 2, "Interface\\AddOns\\Decursive\\iconON.blp", D.LiveList.TestItemDisplayed + 70;
end end
--D:Debug("|cFFFF0000Getting debuffs for %s , id = %d|r", Unit, i); --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); --local Name, rank, Texture, Applications, TypeName, Duration = UnitDebuff(Unit, i);
if Name then 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; return Name, TypeName, Applications, Texture, expirationTime;
else else
return false, false, false, false, false; return false, false, false, false, false;
+2 -1
View File
@@ -18,7 +18,7 @@
## SavedVariables: DecursiveDB ## SavedVariables: DecursiveDB
## Version: Asc-1.1.6-coa (orig 2.5.1-6-gd3885c5) ## Version: Asc-1.1.8-coa (orig 2.5.1-6-gd3885c5)
## Author: Archarodim ## Author: Archarodim
## X-License: All Rights Reserved ## X-License: All Rights Reserved
@@ -50,6 +50,7 @@ Dcr_DIAG.xml
Localization\load.xml Localization\load.xml
DCR_init.lua DCR_init.lua
Dcr_BleedIDs.lua
Dcr_LDB.lua Dcr_LDB.lua
Dcr_utils.lua Dcr_utils.lua
@@ -199,7 +199,7 @@ local function Constructor()
button:SetScript("OnKeyDown", Keybinding_OnKeyDown) button:SetScript("OnKeyDown", Keybinding_OnKeyDown)
button:SetScript("OnMouseDown", Keybinding_OnMouseDown) button:SetScript("OnMouseDown", Keybinding_OnMouseDown)
button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel) button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel)
button:SetScript("OnGamePadButtonDown", Keybinding_OnKeyDown) pcall(button.SetScript, button, "OnGamePadButtonDown", Keybinding_OnKeyDown)
button:SetPoint("BOTTOMLEFT") button:SetPoint("BOTTOMLEFT")
button:SetPoint("BOTTOMRIGHT") button:SetPoint("BOTTOMRIGHT")
button:SetHeight(24) button:SetHeight(24)
+2
View File
@@ -99,6 +99,7 @@ L["BINDING_NAME_DCRSKLIST"] = "Ignorierliste ausgeben"
L["BINDING_NAME_DCRSKSHOW"] = "Zeige/Verstecke die Ignorierliste UI" L["BINDING_NAME_DCRSKSHOW"] = "Zeige/Verstecke die Ignorierliste UI"
L["BLACK_LENGTH"] = "Sekunden auf der Blacklist: " L["BLACK_LENGTH"] = "Sekunden auf der Blacklist: "
L["BLACKLISTED"] = "Black-listed" L["BLACKLISTED"] = "Black-listed"
L["BLEED"] = "Blutung"
L["CHARM"] = "Verführung/Übernommen/Gedankenkontrolle" L["CHARM"] = "Verführung/Übernommen/Gedankenkontrolle"
L["CLASS_HUNTER"] = "Jäger" L["CLASS_HUNTER"] = "Jäger"
L["CLEAR_PRIO"] = "C" L["CLEAR_PRIO"] = "C"
@@ -196,6 +197,7 @@ L["OPT_ANCHOR_DESC"] = "Zeigt Anker des Rahmens der allgemeinen Mitteilungen an"
L["OPT_AUTOHIDEMFS"] = "Automatisch verstecken" L["OPT_AUTOHIDEMFS"] = "Automatisch verstecken"
L["OPT_AUTOHIDEMFS_DESC"] = "Wähle, wann das MUF-Fenster verborgen werden soll." L["OPT_AUTOHIDEMFS_DESC"] = "Wähle, wann das MUF-Fenster verborgen werden soll."
L["OPT_BLACKLENTGH_DESC"] = "Definiert wie lange ein Spieler auf der Blacklist steht. " L["OPT_BLACKLENTGH_DESC"] = "Definiert wie lange ein Spieler auf der Blacklist steht. "
L["OPT_BLEEDCHECK_DESC"] = "Wenn markiert, kannst du Blutungseffekte sehen und entfernen (CoA: Zauber wie 'Ausbrennen', die die Blutungs-Mechanik aufheben)"
L["OPT_BORDERTRANSP"] = "Rahmen-Transparenz" L["OPT_BORDERTRANSP"] = "Rahmen-Transparenz"
L["OPT_BORDERTRANSP_DESC"] = "Rahmen-Transparenz setzten" L["OPT_BORDERTRANSP_DESC"] = "Rahmen-Transparenz setzten"
L["OPT_CENTERTRANSP"] = "Transparenz Mitte" L["OPT_CENTERTRANSP"] = "Transparenz Mitte"
+2
View File
@@ -98,6 +98,7 @@ L["BINDING_NAME_DCRSKLIST"] = "Print the skip list"
L["BINDING_NAME_DCRSKSHOW"] = "Show or hide the skip list" L["BINDING_NAME_DCRSKSHOW"] = "Show or hide the skip list"
L["BLACK_LENGTH"] = "Seconds on the blacklist : " L["BLACK_LENGTH"] = "Seconds on the blacklist : "
L["BLACKLISTED"] = "Black-listed" L["BLACKLISTED"] = "Black-listed"
L["BLEED"] = "Bleed"
L["CHARM"] = "Charm" L["CHARM"] = "Charm"
L["CLASS_HUNTER"] = "Hunter" L["CLASS_HUNTER"] = "Hunter"
L["CLEAR_PRIO"] = "C" L["CLEAR_PRIO"] = "C"
@@ -197,6 +198,7 @@ L["OPT_ANCHOR_DESC"] = "Shows the anchor of the custom message frame"
L["OPT_AUTOHIDEMFS"] = "Auto-Hide" L["OPT_AUTOHIDEMFS"] = "Auto-Hide"
L["OPT_AUTOHIDEMFS_DESC"] = "Choose when to hide the MUF window" L["OPT_AUTOHIDEMFS_DESC"] = "Choose when to hide the MUF window"
L["OPT_BLACKLENTGH_DESC"] = "Defines how long someone stays on the blacklist" L["OPT_BLACKLENTGH_DESC"] = "Defines how long someone stays on the blacklist"
L["OPT_BLEEDCHECK_DESC"] = "If checked you'll be able to see and remove bleed effects (CoA: spells like Cauterize that clear bleed mechanic)"
L["OPT_BORDERTRANSP"] = "Border transparency" L["OPT_BORDERTRANSP"] = "Border transparency"
L["OPT_BORDERTRANSP_DESC"] = "Set the transparency of the border" L["OPT_BORDERTRANSP_DESC"] = "Set the transparency of the border"
L["OPT_CENTERTRANSP"] = "Center transparency" L["OPT_CENTERTRANSP"] = "Center transparency"
+1
View File
@@ -72,6 +72,7 @@ if not L then
return; return;
end; end;
L["BLEED"] = "Sangrado"
L["CLASS_HUNTER"] = "Cazador" L["CLASS_HUNTER"] = "Cazador"
L["CURSE"] = "Maldición" L["CURSE"] = "Maldición"
L["DEFAULT_MACROKEY"] = "NONE" L["DEFAULT_MACROKEY"] = "NONE"
+2
View File
@@ -99,6 +99,7 @@ L["BINDING_NAME_DCRSKLIST"] = "Afficher la liste des exceptions"
L["BINDING_NAME_DCRSKSHOW"] = "Afficher ou Cacher la liste des exceptions" L["BINDING_NAME_DCRSKSHOW"] = "Afficher ou Cacher la liste des exceptions"
L["BLACK_LENGTH"] = "Délais (Secs) sur la *blacklist* : " L["BLACK_LENGTH"] = "Délais (Secs) sur la *blacklist* : "
L["BLACKLISTED"] = "Sur liste noire" L["BLACKLISTED"] = "Sur liste noire"
L["BLEED"] = "Saignement"
L["CHARM"] = "Possession" L["CHARM"] = "Possession"
L["CLASS_HUNTER"] = "Chasseur" L["CLASS_HUNTER"] = "Chasseur"
L["CLEAR_PRIO"] = "E" L["CLEAR_PRIO"] = "E"
@@ -197,6 +198,7 @@ L["OPT_ANCHOR_DESC"] = "Montre l'ancre de la fenêtre de discussion spéciale"
L["OPT_AUTOHIDEMFS"] = "Masquer automatiquement" L["OPT_AUTOHIDEMFS"] = "Masquer automatiquement"
L["OPT_AUTOHIDEMFS_DESC"] = "Choisissez quand la fenêtre des micro-portraits doit être masquée automatiquement." L["OPT_AUTOHIDEMFS_DESC"] = "Choisissez quand la fenêtre des micro-portraits doit être masquée automatiquement."
L["OPT_BLACKLENTGH_DESC"] = "Définit combien de temps quelqu'un reste sur liste noire" L["OPT_BLACKLENTGH_DESC"] = "Définit combien de temps quelqu'un reste sur liste noire"
L["OPT_BLEEDCHECK_DESC"] = "Si cochée, vous pourrez voir et retirer les effets de saignement (CoA : sorts comme « Cautérisation » qui dissipent la mécanique de saignement)"
L["OPT_BORDERTRANSP"] = "Transparence de la bordure" L["OPT_BORDERTRANSP"] = "Transparence de la bordure"
L["OPT_BORDERTRANSP_DESC"] = "Règle la transparence de la bordure" L["OPT_BORDERTRANSP_DESC"] = "Règle la transparence de la bordure"
L["OPT_CENTERTRANSP"] = "Transparence du centre" L["OPT_CENTERTRANSP"] = "Transparence du centre"
+2
View File
@@ -103,6 +103,7 @@ L["BINDING_NAME_DCRSKLIST"] = "제외 목록 출력"
L["BINDING_NAME_DCRSKSHOW"] = "제외 목록 표시/숨김" L["BINDING_NAME_DCRSKSHOW"] = "제외 목록 표시/숨김"
L["BLACK_LENGTH"] = "블랙리스트 추가 시간(초) : " L["BLACK_LENGTH"] = "블랙리스트 추가 시간(초) : "
L["BLACKLISTED"] = "블랙리스트됨" L["BLACKLISTED"] = "블랙리스트됨"
L["BLEED"] = "출혈"
L["CHARM"] = "변이" L["CHARM"] = "변이"
L["CLASS_HUNTER"] = "사냥꾼" L["CLASS_HUNTER"] = "사냥꾼"
L["CLEAR_PRIO"] = "C" L["CLEAR_PRIO"] = "C"
@@ -204,6 +205,7 @@ L["OPT_ANCHOR_DESC"] = "사용자 정의 메세지창의 고정위치를 표시
L["OPT_AUTOHIDEMFS"] = "자동숨김" L["OPT_AUTOHIDEMFS"] = "자동숨김"
L["OPT_AUTOHIDEMFS_DESC"] = "선택하면 언제 MUF창을 숨겨둘지 설정합니다." L["OPT_AUTOHIDEMFS_DESC"] = "선택하면 언제 MUF창을 숨겨둘지 설정합니다."
L["OPT_BLACKLENTGH_DESC"] = "블랙리스트에 등록할 시간을 지정합니다." L["OPT_BLACKLENTGH_DESC"] = "블랙리스트에 등록할 시간을 지정합니다."
L["OPT_BLEEDCHECK_DESC"] = "선택 시 출혈 효과를 표시하고 제거합니다 (CoA: '소작' 등 출혈 메커니즘을 해제하는 주문)"
L["OPT_BORDERTRANSP"] = "테두리 투명도" L["OPT_BORDERTRANSP"] = "테두리 투명도"
L["OPT_BORDERTRANSP_DESC"] = "테두리의 투명도를 설정합니다." L["OPT_BORDERTRANSP_DESC"] = "테두리의 투명도를 설정합니다."
L["OPT_CENTERTRANSP"] = "가운데 투명도" L["OPT_CENTERTRANSP"] = "가운데 투명도"
+2
View File
@@ -99,6 +99,7 @@ L["BINDING_NAME_DCRSKLIST"] = "Распечатка списка пропуск
L["BINDING_NAME_DCRSKSHOW"] = "Показать или скрыть список пропусков" L["BINDING_NAME_DCRSKSHOW"] = "Показать или скрыть список пропусков"
L["BLACK_LENGTH"] = "Секунд в чёрном списке : " L["BLACK_LENGTH"] = "Секунд в чёрном списке : "
L["BLACKLISTED"] = "В чёрном списке" L["BLACKLISTED"] = "В чёрном списке"
L["BLEED"] = "Кровотечение"
L["CHARM"] = "Подчинение" L["CHARM"] = "Подчинение"
L["CLASS_HUNTER"] = "Охотник" L["CLASS_HUNTER"] = "Охотник"
L["CLEAR_PRIO"] = "О" L["CLEAR_PRIO"] = "О"
@@ -196,6 +197,7 @@ L["OPT_ANCHOR_DESC"] = "Отображать указатель пользова
L["OPT_AUTOHIDEMFS"] = "Автоскрытие" L["OPT_AUTOHIDEMFS"] = "Автоскрытие"
L["OPT_AUTOHIDEMFS_DESC"] = "Выберите, когда скрывать МФИ" L["OPT_AUTOHIDEMFS_DESC"] = "Выберите, когда скрывать МФИ"
L["OPT_BLACKLENTGH_DESC"] = "Установить продолжительность нахождения кого-либо в чёрном списке" L["OPT_BLACKLENTGH_DESC"] = "Установить продолжительность нахождения кого-либо в чёрном списке"
L["OPT_BLEEDCHECK_DESC"] = "Если отмечено, вы сможете видеть и снимать эффекты кровотечения (CoA: заклинания вроде «Прижигания», снимающие механику кровотечения)"
L["OPT_BORDERTRANSP"] = "Прозрачность краёв" L["OPT_BORDERTRANSP"] = "Прозрачность краёв"
L["OPT_BORDERTRANSP_DESC"] = "Установка прозрачности краёв" L["OPT_BORDERTRANSP_DESC"] = "Установка прозрачности краёв"
L["OPT_CENTERTRANSP"] = "Прозрачность центра" L["OPT_CENTERTRANSP"] = "Прозрачность центра"
+2
View File
@@ -98,6 +98,7 @@ L["BINDING_NAME_DCRSKLIST"] = "显示忽略列表明细条目"
L["BINDING_NAME_DCRSKSHOW"] = "显示/隐藏 忽略列表" L["BINDING_NAME_DCRSKSHOW"] = "显示/隐藏 忽略列表"
L["BLACK_LENGTH"] = "黑名单持续时间: " L["BLACK_LENGTH"] = "黑名单持续时间: "
L["BLACKLISTED"] = "黑名单" L["BLACKLISTED"] = "黑名单"
L["BLEED"] = "流血"
L["CHARM"] = "魅惑" L["CHARM"] = "魅惑"
L["CLASS_HUNTER"] = "猎人" L["CLASS_HUNTER"] = "猎人"
L["CLEAR_PRIO"] = "C" L["CLEAR_PRIO"] = "C"
@@ -191,6 +192,7 @@ L["OPT_ANCHOR_DESC"] = "设置自定义信息面板的定位点。"
L["OPT_AUTOHIDEMFS"] = "自动隐藏" L["OPT_AUTOHIDEMFS"] = "自动隐藏"
L["OPT_AUTOHIDEMFS_DESC"] = "选择何时自动隐藏微单元面板(MUF" L["OPT_AUTOHIDEMFS_DESC"] = "选择何时自动隐藏微单元面板(MUF"
L["OPT_BLACKLENTGH_DESC"] = "设置被暂时加入黑名单的玩家在名单中停留的时间。" L["OPT_BLACKLENTGH_DESC"] = "设置被暂时加入黑名单的玩家在名单中停留的时间。"
L["OPT_BLEEDCHECK_DESC"] = "选中后你将可以查看和移除流血效果(CoA:如「灼烧术」等可清除流血机制的法术)"
L["OPT_BORDERTRANSP"] = "边框透明度" L["OPT_BORDERTRANSP"] = "边框透明度"
L["OPT_BORDERTRANSP_DESC"] = "设置边框的透明度。" L["OPT_BORDERTRANSP_DESC"] = "设置边框的透明度。"
L["OPT_CENTERTRANSP"] = "面板透明度" L["OPT_CENTERTRANSP"] = "面板透明度"
+2
View File
@@ -97,6 +97,7 @@ L["BINDING_NAME_DCRSKLIST"] = "顯示忽略名單至聊天視窗"
L["BINDING_NAME_DCRSKSHOW"] = "開/關忽略名單" L["BINDING_NAME_DCRSKSHOW"] = "開/關忽略名單"
L["BLACK_LENGTH"] = "停留在排除名單的時間: " L["BLACK_LENGTH"] = "停留在排除名單的時間: "
L["BLACKLISTED"] = "在排除名單" L["BLACKLISTED"] = "在排除名單"
L["BLEED"] = "流血"
L["CHARM"] = "魅惑" L["CHARM"] = "魅惑"
L["CLASS_HUNTER"] = "獵人" L["CLASS_HUNTER"] = "獵人"
L["CLEAR_PRIO"] = "C" L["CLEAR_PRIO"] = "C"
@@ -189,6 +190,7 @@ L["OPT_ANCHOR_DESC"] = "顯示自訂視窗的文字定位點。"
L["OPT_AUTOHIDEMFS"] = "自動隱藏" L["OPT_AUTOHIDEMFS"] = "自動隱藏"
L["OPT_AUTOHIDEMFS_DESC"] = "選擇什麼時候隱藏 MUF 視窗" L["OPT_AUTOHIDEMFS_DESC"] = "選擇什麼時候隱藏 MUF 視窗"
L["OPT_BLACKLENTGH_DESC"] = "設定一個人停留在排除名單中的時間。" L["OPT_BLACKLENTGH_DESC"] = "設定一個人停留在排除名單中的時間。"
L["OPT_BLEEDCHECK_DESC"] = "選取後你可以看見並移除流血效果(CoA:如「灼燒術」等可清除流血機制的法術)"
L["OPT_BORDERTRANSP"] = "邊框透明度" L["OPT_BORDERTRANSP"] = "邊框透明度"
L["OPT_BORDERTRANSP_DESC"] = "設定邊框的透明度。" L["OPT_BORDERTRANSP_DESC"] = "設定邊框的透明度。"
L["OPT_CENTERTRANSP"] = "中央透明度" L["OPT_CENTERTRANSP"] = "中央透明度"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.