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.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,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_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}, 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 end
-- }}} -- }}}
File diff suppressed because it is too large Load Diff
+16
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 = {};
+8 -2
View File
@@ -403,13 +403,19 @@ do
--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.7-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
+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"] = "中央透明度"