Refactor: rename global variables and constants with HealBot prefix and register MODIFIER_STATE_CHANGED event

This commit is contained in:
Bluewhale1337
2026-07-10 23:13:48 +02:00
parent becb2ddfdb
commit 86e0e0b18a
9 changed files with 504 additions and 496 deletions
+6 -6
View File
@@ -5,12 +5,12 @@
]] ]]
-- local _scale=0; -- moved to HealBot_Controller_Range.lua -- local _scale=0; -- moved to HealBot_Controller_Range.lua
CalcEquipBonus=false; HealBot_CalcEquipBonus=false;
HealBot_EquipChangeTimer = 0; HealBot_EquipChangeTimer = 0;
HealValue=0; HealBot_HealValue=0;
InitSpells=1; HealBot_SpellsInitFlag=1;
local DebugDebuff=false; local DebugDebuff=false;
Delay_RecalcParty=0; HealBot_Delay_RecalcParty=0;
-- Debugging and Error functions moved to HealBot_Controller_Comms.lua -- Debugging and Error functions moved to HealBot_Controller_Comms.lua
@@ -73,7 +73,7 @@ function HealBot_SlashCmd(cmd)
end end
if (cmd=="reset" or cmd=="recalc" or cmd=="defaults") then if (cmd=="reset" or cmd=="recalc" or cmd=="defaults") then
InitSpells=2; HealBot_SpellsInitFlag=2;
HealBot_Options_Defaults_OnClick(HealBot_Options_Defaults); HealBot_Options_Defaults_OnClick(HealBot_Options_Defaults);
return return
end end
@@ -85,7 +85,7 @@ function HealBot_SlashCmd(cmd)
HealBot_RegisterThis(this); HealBot_RegisterThis(this);
end end
if (cmd=="x") then if (cmd=="x") then
InitSpells=2; HealBot_SpellsInitFlag=2;
NeedEquipUpdate=1 NeedEquipUpdate=1
HealBot_RecalcSpells(); HealBot_RecalcSpells();
return; return;
+14 -14
View File
@@ -6,9 +6,9 @@
-- http://www.curse-gaming.com/mod.php?addid=2384 -- http://www.curse-gaming.com/mod.php?addid=2384
-------------------------------------------------- --------------------------------------------------
HB_BONUSSCANNER_PATTERN_SETNAME = "^(.*) %(%d/%d%)$"; HEALBOT_BONUSSCANNER_PATTERN_SETNAME = "^(.*) %(%d/%d%)$";
HB_BONUSSCANNER_PATTERN_GENERIC_PREFIX = "^%+(%d+)%%?(.*)$"; HEALBOT_BONUSSCANNER_PATTERN_GENERIC_PREFIX = "^%+(%d+)%%?(.*)$";
HB_BONUSSCANNER_PATTERN_GENERIC_SUFFIX = "^(.*)%+(%d+)%%?$"; HEALBOT_BONUSSCANNER_PATTERN_GENERIC_SUFFIX = "^(.*)%+(%d+)%%?$";
HealBot_BonusScanner = { HealBot_BonusScanner = {
bonuses = 0; bonuses = 0;
@@ -128,17 +128,17 @@ end;
function HealBot_BonusScanner:ScanLine(line) function HealBot_BonusScanner:ScanLine(line)
local tmpStr, found; local tmpStr, found;
if(string.sub(line,0,string.len(HB_BONUSSCANNER_PREFIX_EQUIP)) == HB_BONUSSCANNER_PREFIX_EQUIP) then if(string.sub(line,0,string.len(HEALBOT_BONUSSCANNER_PREFIX_EQUIP)) == HEALBOT_BONUSSCANNER_PREFIX_EQUIP) then
tmpStr = string.sub(line,string.len(HB_BONUSSCANNER_PREFIX_EQUIP)+1); tmpStr = string.sub(line,string.len(HEALBOT_BONUSSCANNER_PREFIX_EQUIP)+1);
HealBot_BonusScanner:CheckPassive(tmpStr); HealBot_BonusScanner:CheckPassive(tmpStr);
elseif(string.sub(line,0,string.len(HB_BONUSSCANNER_PREFIX_SET)) == HB_BONUSSCANNER_PREFIX_SET elseif(string.sub(line,0,string.len(HEALBOT_BONUSSCANNER_PREFIX_SET)) == HEALBOT_BONUSSCANNER_PREFIX_SET
and HealBot_BonusScanner.temp.set ~= "" and HealBot_BonusScanner.temp.set ~= ""
and not HealBot_BonusScanner.temp.sets[HealBot_BonusScanner.temp.set]) then and not HealBot_BonusScanner.temp.sets[HealBot_BonusScanner.temp.set]) then
tmpStr = string.sub(line,string.len(HB_BONUSSCANNER_PREFIX_SET)+1); tmpStr = string.sub(line,string.len(HEALBOT_BONUSSCANNER_PREFIX_SET)+1);
HealBot_BonusScanner.temp.slot = "Set"; HealBot_BonusScanner.temp.slot = "Set";
HealBot_BonusScanner:CheckPassive(tmpStr); HealBot_BonusScanner:CheckPassive(tmpStr);
else else
_, _, tmpStr = string.find(line, HB_BONUSSCANNER_PATTERN_SETNAME); _, _, tmpStr = string.find(line, HEALBOT_BONUSSCANNER_PATTERN_SETNAME);
if(tmpStr) then if(tmpStr) then
HealBot_BonusScanner.temp.set = tmpStr; HealBot_BonusScanner.temp.set = tmpStr;
else else
@@ -154,7 +154,7 @@ function HealBot_BonusScanner:CheckPassive(line)
local i, p, value, found; local i, p, value, found;
found = nil; found = nil;
for i,p in HB_BONUSSCANNER_PATTERNS_PASSIVE do for i,p in HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE do
_, _, value = string.find(line, "^" .. p.pattern); _, _, value = string.find(line, "^" .. p.pattern);
if(value) then if(value) then
HealBot_BonusScanner:AddValue(p.effect, value) HealBot_BonusScanner:AddValue(p.effect, value)
@@ -183,9 +183,9 @@ function HealBot_BonusScanner:CheckGeneric(line)
tmpStr = string.gsub( tmpStr, "%s+$", "" ); tmpStr = string.gsub( tmpStr, "%s+$", "" );
tmpStr = string.gsub( tmpStr, "%.$", "" ); tmpStr = string.gsub( tmpStr, "%.$", "" );
_, _, value, token = string.find(tmpStr, HB_BONUSSCANNER_PATTERN_GENERIC_PREFIX); _, _, value, token = string.find(tmpStr, HEALBOT_BONUSSCANNER_PATTERN_GENERIC_PREFIX);
if(not value) then if(not value) then
_, _, token, value = string.find(tmpStr, HB_BONUSSCANNER_PATTERN_GENERIC_SUFFIX); _, _, token, value = string.find(tmpStr, HEALBOT_BONUSSCANNER_PATTERN_GENERIC_SUFFIX);
end end
if(token and value) then if(token and value) then
token = string.gsub( token, "^%s+", "" ); token = string.gsub( token, "^%s+", "" );
@@ -202,8 +202,8 @@ end
function HealBot_BonusScanner:CheckToken(token, value) function HealBot_BonusScanner:CheckToken(token, value)
local i, p, s1, s2; local i, p, s1, s2;
if(HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token]) then if(HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token]) then
HealBot_BonusScanner:AddValue(HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token], value); HealBot_BonusScanner:AddValue(HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token], value);
return true; return true;
end end
return false; return false;
@@ -212,7 +212,7 @@ end
function HealBot_BonusScanner:CheckOther(line) function HealBot_BonusScanner:CheckOther(line)
local i, p, value, start, found; local i, p, value, start, found;
for i,p in HB_BONUSSCANNER_PATTERNS_OTHER do for i,p in HEALBOT_BONUSSCANNER_PATTERNS_OTHER do
start, _, value = string.find(line, "^" .. p.pattern); start, _, value = string.find(line, "^" .. p.pattern);
if(start) then if(start) then
if(p.value) then if(p.value) then
+26 -20
View File
@@ -6,6 +6,7 @@ local HealBot_Timer1, HealsIn_Timer = 0, 0;
function HealBot_OnLoad(this) function HealBot_OnLoad(this)
this:RegisterEvent("VARIABLES_LOADED"); this:RegisterEvent("VARIABLES_LOADED");
this:RegisterEvent("MODIFIER_STATE_CHANGED");
SLASH_HEALBOT1 = "/healbot"; SLASH_HEALBOT1 = "/healbot";
SLASH_HEALBOT2 = "/hb"; SLASH_HEALBOT2 = "/hb";
@@ -25,12 +26,12 @@ function HealBot_OnLoad(this)
HealBot_View_DirtyUnits[unitID] = true HealBot_View_DirtyUnits[unitID] = true
end) end)
HealBot_Model:RegisterObserver("ROSTER_CHANGED", function() HealBot_Model:RegisterObserver("ROSTER_CHANGED", function()
Delay_RecalcParty = 1 HealBot_Delay_RecalcParty = 1
end) end)
HealBot_Model:RegisterObserver("EQUIPMENT_CHANGED", function(unitID) HealBot_Model:RegisterObserver("EQUIPMENT_CHANGED", function(unitID)
if unitID == "player" then if unitID == "player" then
HealBot_BonusScanner:ScanEquipment() HealBot_BonusScanner:ScanEquipment()
CalcEquipBonus = true; HealBot_CalcEquipBonus = true;
HealBot_RecalcSpells(); HealBot_RecalcSpells();
end end
end) end)
@@ -80,23 +81,23 @@ function HealBot_OnUpdate(this, arg1)
if HealBot_EquipChangeTimer <= 0 then if HealBot_EquipChangeTimer <= 0 then
HealBot_EquipChangeTimer = 0 HealBot_EquipChangeTimer = 0
HealBot_BonusScanner:ScanEquipment() HealBot_BonusScanner:ScanEquipment()
CalcEquipBonus = true; HealBot_CalcEquipBonus = true;
HealBot_RecalcSpells(); HealBot_RecalcSpells();
end end
end end
if InitSpells > 1 then if HealBot_SpellsInitFlag > 1 then
InitSpells = InitSpells + 1; HealBot_SpellsInitFlag = HealBot_SpellsInitFlag + 1;
if InitSpells > 2 then if HealBot_SpellsInitFlag > 2 then
local cnt = HealBot_InitSpells(); local cnt = HealBot_InitSpells();
InitSpells = 0; HealBot_SpellsInitFlag = 0;
HealBot_RecalcSpells(); HealBot_RecalcSpells();
end end
end end
if Delay_RecalcParty > 0 then if HealBot_Delay_RecalcParty > 0 then
Delay_RecalcParty = Delay_RecalcParty + 1 HealBot_Delay_RecalcParty = HealBot_Delay_RecalcParty + 1
if Delay_RecalcParty > 1 then if HealBot_Delay_RecalcParty > 1 then
Delay_RecalcParty = 0; HealBot_Delay_RecalcParty = 0;
HealBot_RecalcParty(); HealBot_RecalcParty();
end end
end end
@@ -178,6 +179,11 @@ local HealBot_EventHandlers = {
["VARIABLES_LOADED"] = function(this) ["VARIABLES_LOADED"] = function(this)
HealBot_OnEvent_VariablesLoaded(this) HealBot_OnEvent_VariablesLoaded(this)
end, end,
["MODIFIER_STATE_CHANGED"] = function(this, arg1, arg2)
if HealBot_Action_TooltipUnit and HealBot_Tooltip:IsVisible() then
HealBot_Action_RefreshTooltip(HealBot_Action_TooltipUnit)
end
end,
-- Legacy pass-throughs -- Legacy pass-throughs
["CHAT_MSG_ADDON"] = function(this, arg1, arg2, arg3, arg4) HealBot_OnEvent_AddonMsg(this, arg1, arg2, arg3, arg4) end, ["CHAT_MSG_ADDON"] = function(this, arg1, arg2, arg3, arg4) HealBot_OnEvent_AddonMsg(this, arg1, arg2, arg3, arg4) end,
["SPELLCAST_START"] = function(this, arg1, arg2) HealBot_OnEvent_SpellcastStart(this, arg1, arg2) end, ["SPELLCAST_START"] = function(this, arg1, arg2) HealBot_OnEvent_SpellcastStart(this, arg1, arg2) end,
@@ -299,7 +305,7 @@ function HealBot_OnEvent_VariablesLoaded(this)
this:RegisterEvent("UPDATE_SHAPESHIFT_FORMS"); this:RegisterEvent("UPDATE_SHAPESHIFT_FORMS");
HealBot_UpdateShapeshiftForm(); HealBot_UpdateShapeshiftForm();
end end
InitSpells = 2; HealBot_SpellsInitFlag = 2;
end end
end end
@@ -319,7 +325,7 @@ end
function HealBot_OnEvent_ZoneChanged(this) function HealBot_OnEvent_ZoneChanged(this)
HealBot_ResetRangeScale(); HealBot_ResetRangeScale();
Delay_RecalcParty = 1; HealBot_Delay_RecalcParty = 1;
end end
function HealBot_OnEvent_PlayerRegenDisabled(this) function HealBot_OnEvent_PlayerRegenDisabled(this)
@@ -359,7 +365,7 @@ end
function HealBot_OnEvent_PlayerRegenEnabled(this) function HealBot_OnEvent_PlayerRegenEnabled(this)
HealBot_IsFighting = false; HealBot_IsFighting = false;
Delay_RecalcParty = 1; HealBot_Delay_RecalcParty = 1;
end end
function HealBot_OnEvent_PlayerTargetChanged(this) function HealBot_OnEvent_PlayerTargetChanged(this)
@@ -367,7 +373,7 @@ function HealBot_OnEvent_PlayerTargetChanged(this)
end end
function HealBot_OnEvent_PartyMembersChanged(this) function HealBot_OnEvent_PartyMembersChanged(this)
Delay_RecalcParty = 1; HealBot_Delay_RecalcParty = 1;
end end
function HealBot_OnEvent_PartyMemberDisable(this, unit) function HealBot_OnEvent_PartyMemberDisable(this, unit)
@@ -376,9 +382,9 @@ end
function HealBot_OnEvent_SystemMsg(this, msg) function HealBot_OnEvent_SystemMsg(this, msg)
if type(msg) == "string" then if type(msg) == "string" then
local tmpTest, tmpTest, deserter = string.find(msg, HB_HASLEFTRAID); local tmpTest, tmpTest, deserter = string.find(msg, HEALBOT_HASLEFTRAID);
if not deserter then if not deserter then
local tmpTest, tmpTest, deserter = string.find(msg, HB_HASLEFTPARTY); local tmpTest, tmpTest, deserter = string.find(msg, HEALBOT_HASLEFTPARTY);
end end
if deserter then if deserter then
if (HealBot_Healers[deserter]) then if (HealBot_Healers[deserter]) then
@@ -394,8 +400,8 @@ function HealBot_OnEvent_SystemMsg(this, msg)
end end
end end
end end
elseif msg == HB_YOULEAVETHEGROUP or msg == HB_YOULEAVETHERAID then elseif msg == HEALBOT_YOULEAVETHEGROUP or msg == HEALBOT_YOULEAVETHERAID then
Delay_RecalcParty = 1; HealBot_Delay_RecalcParty = 1;
end end
end end
end end
@@ -417,7 +423,7 @@ end
function HealBot_OnEvent_SpellsChanged(this, arg1) function HealBot_OnEvent_SpellsChanged(this, arg1)
if arg1 then return; end if arg1 then return; end
HealBot_AddDebug("HB: SpellsChanged"); HealBot_AddDebug("HB: SpellsChanged");
InitSpells = 2; HealBot_SpellsInitFlag = 2;
end end
function HealBot_OnEvent_TalentsChanged(this, arg1) function HealBot_OnEvent_TalentsChanged(this, arg1)
+35 -35
View File
@@ -133,8 +133,8 @@ function HealBot_StartCasting(spell, target, ttype)
end end
if ttype == "fired" and HealBot_Spells[spell] then if ttype == "fired" and HealBot_Spells[spell] then
if HealBot_Spells[spell].CastTime > 1 then if HealBot_Spells[spell].CastTime > 1 then
HealValue = HealBot_Spells[spell].HealsDur; HealBot_HealValue = HealBot_Spells[spell].HealsDur;
HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(target) .. " <<=>> " .. HealValue .. " << "); HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(target) .. " <<=>> " .. HealBot_HealValue .. " << ");
end end
end end
end end
@@ -142,9 +142,9 @@ end
function HealBot_StopCasting() function HealBot_StopCasting()
if HealBot_CastingTarget then if HealBot_CastingTarget then
if HealBot_HealsIn[UnitName(HealBot_CastingTarget)] then if HealBot_HealsIn[UnitName(HealBot_CastingTarget)] then
if HealValue > 0 then if HealBot_HealValue > 0 then
HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(HealBot_CastingTarget) .. " <<=>> " .. 0 - HealValue .. " << "); HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(HealBot_CastingTarget) .. " <<=>> " .. 0 - HealBot_HealValue .. " << ");
HealValue = 0; HealBot_HealValue = 0;
end end
end end
end end
@@ -297,13 +297,13 @@ end
function HealBot_FindHealSpells() function HealBot_FindHealSpells()
local id = 1; local id = 1;
if InitSpells > 0 then NeedEquipUpdate = 1; return; end if HealBot_SpellsInitFlag > 0 then NeedEquipUpdate = 1; return; end
HealBot_Heals = { player = {}, pet = {}, party = {} }; HealBot_Heals = { player = {}, pet = {}, party = {} };
table.foreach(HealBot_CurrentSpells, function (index, spell) table.foreach(HealBot_CurrentSpells, function (index, spell)
if (HealBot_Spells[spell]) then if (HealBot_Spells[spell]) then
if CalcEquipBonus then if HealBot_CalcEquipBonus then
local healingbonus_penalty = 1; local healingbonus_penalty = 1;
if HealBot_Spells[spell].Level < 20 then if HealBot_Spells[spell].Level < 20 then
healingbonus_penalty = (1 - ((20 - HealBot_Spells[spell].Level) * 0.0375)); healingbonus_penalty = (1 - ((20 - HealBot_Spells[spell].Level) * 0.0375));
@@ -358,10 +358,10 @@ function HealBot_FindHealSpells()
HealBot_Heals["raidpet" .. i] = HealBot_Heals.party; HealBot_Heals["raidpet" .. i] = HealBot_Heals.party;
end end
if CalcEquipBonus then if HealBot_CalcEquipBonus then
HealBot_AddDebug("...Done Equip Bonus:" .. RealHealing); HealBot_AddDebug("...Done Equip Bonus:" .. RealHealing);
end end
CalcEquipBonus = false; HealBot_CalcEquipBonus = false;
end end
function HealBot_CanCastSpell(spell, unit) function HealBot_CanCastSpell(spell, unit)
@@ -471,7 +471,7 @@ function HealBot_InitGetSpellData(spell, id, class)
tmpText = getglobal("HealBot_ScanTooltipTextLeft2"); tmpText = getglobal("HealBot_ScanTooltipTextLeft2");
if (tmpText:GetText()) then if (tmpText:GetText()) then
line = tmpText:GetText(); line = tmpText:GetText();
tmpTest, tmpTest, _mana = string.find(line, HB_TOOLTIP_MANA); tmpTest, tmpTest, _mana = string.find(line, HEALBOT_TOOLTIP_MANA);
else else
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost"); HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost");
@@ -481,7 +481,7 @@ function HealBot_InitGetSpellData(spell, id, class)
tmpText = getglobal("HealBot_ScanTooltipTextRight2"); tmpText = getglobal("HealBot_ScanTooltipTextRight2");
if (tmpText:GetText()) then if (tmpText:GetText()) then
line = tmpText:GetText(); line = tmpText:GetText();
tmpTest, tmpTest, _range = string.find(line, HB_TOOLTIP_RANGE); tmpTest, tmpTest, _range = string.find(line, HEALBOT_TOOLTIP_RANGE);
else else
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost"); HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost");
@@ -492,12 +492,12 @@ function HealBot_InitGetSpellData(spell, id, class)
_cast = nil; _cast = nil;
if (tmpText:GetText()) then if (tmpText:GetText()) then
line = tmpText:GetText(); line = tmpText:GetText();
if (line == HB_TOOLTIP_INSTANT_CAST) then if (line == HEALBOT_TOOLTIP_INSTANT_CAST) then
_cast = 0; _cast = 0;
elseif line == HB_TOOLTIP_CHANNELED then elseif line == HEALBOT_TOOLTIP_CHANNELED then
_cast = 0; _cast = 0;
elseif (tmpText) then elseif (tmpText) then
tmpTest, tmpTest, _cast = string.find(line, HB_TOOLTIP_CAST_TIME); tmpTest, tmpTest, _cast = string.find(line, HEALBOT_TOOLTIP_CAST_TIME);
end end
else else
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
@@ -511,58 +511,58 @@ function HealBot_InitGetSpellData(spell, id, class)
line = tmpText:GetText(); line = tmpText:GetText();
if class == "PRIEST" then if class == "PRIEST" then
if string.sub(spell, 1, 14) == string.sub(HEALBOT_POWER_WORD_SHIELD, 1, 14) then if string.sub(spell, 1, 14) == string.sub(HEALBOT_POWER_WORD_SHIELD, 1, 14) then
tmpTest, tmpTest, _HealsMin, _shield = string.find(line, HB_SPELL_PATTERN_SHIELD); tmpTest, tmpTest, _HealsMin, _shield = string.find(line, HEALBOT_SPELL_PATTERN_SHIELD);
_HealsExt = 0; _HealsExt = 0;
_HealsMax = _HealsMin; _HealsMax = _HealsMin;
elseif string.sub(spell, 1, 4) == string.sub(HEALBOT_RENEW, 1, 4) then elseif string.sub(spell, 1, 4) == string.sub(HEALBOT_RENEW, 1, 4) then
tmpTest, tmpTest, _HealsExt, tmpTest, _duration = string.find(line, HB_SPELL_PATTERN_RENEW); tmpTest, tmpTest, _HealsExt, tmpTest, _duration = string.find(line, HEALBOT_SPELL_PATTERN_RENEW);
_HealsMin = 0; _HealsMin = 0;
_HealsMax = 0; _HealsMax = 0;
if (_HealsExt == nil) then if (_HealsExt == nil) then
tmpTest, tmpTest, _HealsExt, _duration = string.find(line, HB_SPELL_PATTERN_RENEW1); tmpTest, tmpTest, _HealsExt, _duration = string.find(line, HEALBOT_SPELL_PATTERN_RENEW1);
end end
if (_HealsExt == nil) then if (_HealsExt == nil) then
tmpTest, tmpTest, _duration, _HealsExt = string.find(line, HB_SPELL_PATTERN_RENEW2); tmpTest, tmpTest, _duration, _HealsExt = string.find(line, HEALBOT_SPELL_PATTERN_RENEW2);
end end
if (_HealsExt == nil) then if (_HealsExt == nil) then
tmpTest, tmpTest, _duration, _HealsExt = string.find(line, HB_SPELL_PATTERN_RENEW3); tmpTest, tmpTest, _duration, _HealsExt = string.find(line, HEALBOT_SPELL_PATTERN_RENEW3);
end end
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_LESSER_HEAL, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_LESSER_HEAL, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_LESSER_HEAL); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_LESSER_HEAL);
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_GREATER_HEAL, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_GREATER_HEAL, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_GREATER_HEAL); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_GREATER_HEAL);
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_FLASH_HEAL, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_FLASH_HEAL, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_FLASH_HEAL); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_FLASH_HEAL);
elseif string.sub(spell, 1, 4) == string.sub(HEALBOT_HEAL, 1, 4) then elseif string.sub(spell, 1, 4) == string.sub(HEALBOT_HEAL, 1, 4) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_HEAL); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_HEAL);
end end
elseif class == "DRUID" then elseif class == "DRUID" then
if string.sub(spell, 1, 6) == string.sub(HEALBOT_REGROWTH, 1, 6) then if string.sub(spell, 1, 6) == string.sub(HEALBOT_REGROWTH, 1, 6) then
tmpTest, tmpTest, _HealsMin, _HealsMax, _HealsExt = string.find(line, HB_SPELL_PATTERN_REGROWTH); tmpTest, tmpTest, _HealsMin, _HealsMax, _HealsExt = string.find(line, HEALBOT_SPELL_PATTERN_REGROWTH);
if (tmpTest == nil) then if (tmpTest == nil) then
tmpTest, tmpTest, _HealsMin, _HealsMax, tmpTest, _HealsExt = string.find(line, HB_SPELL_PATTERN_REGROWTH1); tmpTest, tmpTest, _HealsMin, _HealsMax, tmpTest, _HealsExt = string.find(line, HEALBOT_SPELL_PATTERN_REGROWTH1);
end end
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_REJUVENATION, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_REJUVENATION, 1, 9) then
tmpTest, tmpTest, _HealsExt, _duration = string.find(line, HB_SPELL_PATTERN_REJUVENATION); tmpTest, tmpTest, _HealsExt, _duration = string.find(line, HEALBOT_SPELL_PATTERN_REJUVENATION);
_HealsMin = 0; _HealsMin = 0;
_HealsMax = 0; _HealsMax = 0;
if (_HealsExt == nil) then if (_HealsExt == nil) then
tmpTest, tmpTest, _HealsExt, tmpTest, _duration = string.find(line, HB_SPELL_PATTERN_REJUVENATION1); tmpTest, tmpTest, _HealsExt, tmpTest, _duration = string.find(line, HEALBOT_SPELL_PATTERN_REJUVENATION1);
end end
elseif string.sub(spell, 1, 7) == string.sub(HEALBOT_HEALING_TOUCH, 1, 7) then elseif string.sub(spell, 1, 7) == string.sub(HEALBOT_HEALING_TOUCH, 1, 7) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_HEALING_TOUCH); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_HEALING_TOUCH);
end end
elseif class == "PALADIN" then elseif class == "PALADIN" then
if string.sub(spell, 1, 9) == string.sub(HEALBOT_HOLY_LIGHT, 1, 9) then if string.sub(spell, 1, 9) == string.sub(HEALBOT_HOLY_LIGHT, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_HOLY_LIGHT); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_HOLY_LIGHT);
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_FLASH_OF_LIGHT, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_FLASH_OF_LIGHT, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_FLASH_OF_LIGHT); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT);
end end
elseif class == "SHAMAN" then elseif class == "SHAMAN" then
if string.sub(spell, 1, 9) == string.sub(HEALBOT_HEALING_WAVE, 1, 9) then if string.sub(spell, 1, 9) == string.sub(HEALBOT_HEALING_WAVE, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_HEALING_WAVE); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_HEALING_WAVE);
elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_LESSER_HEALING_WAVE, 1, 9) then elseif string.sub(spell, 1, 9) == string.sub(HEALBOT_LESSER_HEALING_WAVE, 1, 9) then
tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_LESSER_HEALING_WAVE); tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE);
end end
end end
else else
@@ -578,7 +578,7 @@ function HealBot_InitGetSpellData(spell, id, class)
if HealBot_ScanTooltipTextLeft2:GetText() then if HealBot_ScanTooltipTextLeft2:GetText() then
HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft2:GetText() .. " <<"); HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft2:GetText() .. " <<");
end end
HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_MANA .. " <<"); HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_MANA .. " <<");
end end
if (_range == nil) then if (_range == nil) then
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
@@ -587,7 +587,7 @@ function HealBot_InitGetSpellData(spell, id, class)
if HealBot_ScanTooltipTextRight2:GetText() then if HealBot_ScanTooltipTextRight2:GetText() then
HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextRight2:GetText() .. " <<"); HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextRight2:GetText() .. " <<");
end end
HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_RANGE .. " <<"); HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_RANGE .. " <<");
end end
if (_cast == nil) then if (_cast == nil) then
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
@@ -596,7 +596,7 @@ function HealBot_InitGetSpellData(spell, id, class)
if HealBot_ScanTooltipTextLeft3:GetText() then if HealBot_ScanTooltipTextLeft3:GetText() then
HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft3:GetText() .. " <<"); HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft3:GetText() .. " <<");
end end
HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_CAST_TIME .. " <<"); HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_CAST_TIME .. " <<");
end end
if (tmpTest == nil) then if (tmpTest == nil) then
HealBot_Report_Error("================================"); HealBot_Report_Error("================================");
+31 -31
View File
@@ -113,25 +113,25 @@ HEALBOT_RANK_11 = " (Rang 11)";
HEALBOT_LIBRARY_INCHEAL = "Erh\195\182ht durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%."; HEALBOT_LIBRARY_INCHEAL = "Erh\195\182ht durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%.";
HEALBOT_LIBRARY_INCDAMHEAL = "Erh\195\182ht durch Zauber und magische Effekte zugef\195\188gten Schaden und Heilung um bis zu (%d+)%."; HEALBOT_LIBRARY_INCDAMHEAL = "Erh\195\182ht durch Zauber und magische Effekte zugef\195\188gten Schaden und Heilung um bis zu (%d+)%.";
HB_BONUSSCANNER_NAMES = { HEALBOT_BONUSSCANNER_NAMES = {
HEAL = "Heilung", HEAL = "Heilung",
} }
HB_BONUSSCANNER_PREFIX_EQUIP = "Anlegen: "; HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Anlegen: ";
HB_BONUSSCANNER_PREFIX_SET = "Set: "; HEALBOT_BONUSSCANNER_PREFIX_SET = "Set: ";
HB_BONUSSCANNER_PATTERNS_PASSIVE = { HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE = {
{ pattern = "Erh\195\182ht durch Zauber und magische Effekte zugef\195\188gten Schaden und Heilung um bis zu (%d+)%.", effect = {"HEAL","DMG"} }, { pattern = "Erh\195\182ht durch Zauber und magische Effekte zugef\195\188gten Schaden und Heilung um bis zu (%d+)%.", effect = {"HEAL","DMG"} },
{ pattern = "Erh\195\182ht durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%.", effect = "HEAL" }, { pattern = "Erh\195\182ht durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%.", effect = "HEAL" },
{ pattern = "Erh\195\182ht die durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%.", effect = "HEAL" }, { pattern = "Erh\195\182ht die durch Zauber und Effekte verursachte Heilung um bis zu (%d+)%.", effect = "HEAL" },
}; };
HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = {
["Heilzauber"] = "HEAL", ["Heilzauber"] = "HEAL",
["Heilung und Zauberschaden"] = {"HEAL","DMG"}, ["Heilung und Zauberschaden"] = {"HEAL","DMG"},
}; };
HB_BONUSSCANNER_PATTERNS_OTHER = { HEALBOT_BONUSSCANNER_PATTERNS_OTHER = {
{ pattern = "Zandalarianisches Siegel des Mojo", effect = {"DMG", "HEAL"}, value = 18 }, { pattern = "Zandalarianisches Siegel des Mojo", effect = {"DMG", "HEAL"}, value = 18 },
{ pattern = "Zandalarianisches Siegel der Inneren Ruhe", effect = "HEAL", value = 33 }, { pattern = "Zandalarianisches Siegel der Inneren Ruhe", effect = "HEAL", value = 33 },
@@ -154,32 +154,32 @@ HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08"; HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
HB_SPELL_PATTERN_LESSER_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen"; HEALBOT_SPELL_PATTERN_LESSER_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen";
HB_SPELL_PATTERN_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen"; HEALBOT_SPELL_PATTERN_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen";
HB_SPELL_PATTERN_GREATER_HEAL = "Ein langsam zu wirkender Zauber, der ein einzelnes Ziel um (%d+) bis (%d+) Punkt%(e%) heilt"; HEALBOT_SPELL_PATTERN_GREATER_HEAL = "Ein langsam zu wirkender Zauber, der ein einzelnes Ziel um (%d+) bis (%d+) Punkt%(e%) heilt";
HB_SPELL_PATTERN_FLASH_HEAL = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_RENEW2 = "Heilt das Ziel (%d+) Sek. lang um (%d+) bis (%d+) Schadenspunk"; HEALBOT_SPELL_PATTERN_RENEW2 = "Heilt das Ziel (%d+) Sek. lang um (%d+) bis (%d+) Schadenspunk";
HB_SPELL_PATTERN_RENEW3 = "Heilt das Ziel (%d+) Sek. lang um (%d+) Schadenspunk"; HEALBOT_SPELL_PATTERN_RENEW3 = "Heilt das Ziel (%d+) Sek. lang um (%d+) Schadenspunk";
HB_SPELL_PATTERN_SHIELD = "absorbiert dabei (%d+) Punkt%(e%) Schaden. H\195\164lt (%d+) Sek"; HEALBOT_SPELL_PATTERN_SHIELD = "absorbiert dabei (%d+) Punkt%(e%) Schaden. H\195\164lt (%d+) Sek";
HB_SPELL_PATTERN_HEALING_TOUCH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_REGROWTH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+)"; HEALBOT_SPELL_PATTERN_REGROWTH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+)";
HB_SPELL_PATTERN_REGROWTH1 = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+) bis (%d+)"; HEALBOT_SPELL_PATTERN_REGROWTH1 = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+) bis (%d+)";
HB_SPELL_PATTERN_HOLY_LIGHT = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_FLASH_OF_LIGHT = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_HEALING_WAVE = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_HEALING_WAVE = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_LESSER_HEALING_WAVE = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)";
HB_SPELL_PATTERN_REJUVENATION = "Heilt das Ziel von (%d+) \195\188ber (%d+) Sek"; HEALBOT_SPELL_PATTERN_REJUVENATION = "Heilt das Ziel von (%d+) \195\188ber (%d+) Sek";
HB_SPELL_PATTERN_REJUVENATION1 = "Heilt das Ziel von (%d+) bis (%d+) \195\188ber (%d+) Sek"; HEALBOT_SPELL_PATTERN_REJUVENATION1 = "Heilt das Ziel von (%d+) bis (%d+) \195\188ber (%d+) Sek";
HB_TOOLTIP_MANA = "^(%d+) Mana$"; HEALBOT_TOOLTIP_MANA = "^(%d+) Mana$";
HB_TOOLTIP_RANGE = "(%d+) m"; HEALBOT_TOOLTIP_RANGE = "(%d+) m";
HB_TOOLTIP_INSTANT_CAST = "Spontanzauber"; HEALBOT_TOOLTIP_INSTANT_CAST = "Spontanzauber";
HB_TOOLTIP_CAST_TIME = "(%d+.?%d*) Sek"; HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*) Sek";
HB_TOOLTIP_CHANNELED = "Abgebrochen"; HEALBOT_TOOLTIP_CHANNELED = "Abgebrochen";
HB_HASLEFTRAID = "^([^%s]+) hat die \195\131\197\147berfallgruppe verlassen%.$"; HEALBOT_HASLEFTRAID = "^([^%s]+) hat die \195\131\197\147berfallgruppe verlassen%.$";
HB_HASLEFTPARTY = "^([^%s]+) hat die Gruppe verlassen"; HEALBOT_HASLEFTPARTY = "^([^%s]+) hat die Gruppe verlassen";
HB_YOULEAVETHEGROUP = "Du hast die Gruppe verlassen" HEALBOT_YOULEAVETHEGROUP = "Du hast die Gruppe verlassen"
HB_YOULEAVETHERAID = "Du hast den Schlachtzug verlassen" HEALBOT_YOULEAVETHERAID = "Du hast den Schlachtzug verlassen"
----------------- -----------------
-- Translation -- -- Translation --
+34 -34
View File
@@ -131,19 +131,19 @@ HEALBOT_RANK_11 = " (Rank 11)";
HEALBOT_LIBRARY_INCHEAL = "Increases healing done by spells and effects by up to (%d+)%."; HEALBOT_LIBRARY_INCHEAL = "Increases healing done by spells and effects by up to (%d+)%.";
HEALBOT_LIBRARY_INCDAMHEAL = "Increases damage and healing done by magical spells and effects by up to (%d+)%."; HEALBOT_LIBRARY_INCDAMHEAL = "Increases damage and healing done by magical spells and effects by up to (%d+)%.";
HB_BONUSSCANNER_NAMES = { HEALBOT_BONUSSCANNER_NAMES = {
HEAL = "Healing", HEAL = "Healing",
}; };
HB_BONUSSCANNER_PREFIX_EQUIP = "Equip: "; HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Equip: ";
HB_BONUSSCANNER_PREFIX_SET = "Set: "; HEALBOT_BONUSSCANNER_PREFIX_SET = "Set: ";
HB_BONUSSCANNER_PATTERNS_PASSIVE = { HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE = {
{ pattern = "Increases healing done by spells and effects by up to (%d+)%.", effect = "HEAL" }, { pattern = "Increases healing done by spells and effects by up to (%d+)%.", effect = "HEAL" },
{ pattern = "Increases damage and healing done by magical spells and effects by up to (%d+)%.", effect = {"HEAL", "DMG"} }, { pattern = "Increases damage and healing done by magical spells and effects by up to (%d+)%.", effect = {"HEAL", "DMG"} },
}; };
HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = {
["Healing Spells"] = "HEAL", ["Healing Spells"] = "HEAL",
["Increases Healing"] = "HEAL", ["Increases Healing"] = "HEAL",
["Healing and Spell Damage"] = {"HEAL", "DMG"}, ["Healing and Spell Damage"] = {"HEAL", "DMG"},
@@ -151,7 +151,7 @@ HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = {
["Spell Damage and Healing"] = {"HEAL", "DMG"}, ["Spell Damage and Healing"] = {"HEAL", "DMG"},
}; };
HB_BONUSSCANNER_PATTERNS_OTHER = { HEALBOT_BONUSSCANNER_PATTERNS_OTHER = {
{ pattern = "Zandalar Signet of Mojo", effect = {"DMG", "HEAL"}, value = 18 }, { pattern = "Zandalar Signet of Mojo", effect = {"DMG", "HEAL"}, value = 18 },
{ pattern = "Zandalar Signet of Serenity", effect = "HEAL", value = 33 }, { pattern = "Zandalar Signet of Serenity", effect = "HEAL", value = 33 },
@@ -173,35 +173,35 @@ HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08"; HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
HB_SPELL_PATTERN_LESSER_HEAL = "Heal your target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_LESSER_HEAL = "Heal your target for (%d+) to (%d+)";
HB_SPELL_PATTERN_HEAL = "Heal your target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_HEAL = "Heal your target for (%d+) to (%d+)";
HB_SPELL_PATTERN_GREATER_HEAL = "A slow casting spell that heals a single target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_GREATER_HEAL = "A slow casting spell that heals a single target for (%d+) to (%d+)";
HB_SPELL_PATTERN_FLASH_HEAL = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_RENEW = "Heals the target of (%d+) to (%d+) damage over (%d+) sec"; HEALBOT_SPELL_PATTERN_RENEW = "Heals the target of (%d+) to (%d+) damage over (%d+) sec";
HB_SPELL_PATTERN_RENEW1 = "Heals the target of (%d+) damage over (%d+) sec"; HEALBOT_SPELL_PATTERN_RENEW1 = "Heals the target of (%d+) damage over (%d+) sec";
HB_SPELL_PATTERN_RENEW2 = "Not needed for en"; HEALBOT_SPELL_PATTERN_RENEW2 = "Not needed for en";
HB_SPELL_PATTERN_RENEW3 = "Not needed for en"; HEALBOT_SPELL_PATTERN_RENEW3 = "Not needed for en";
HB_SPELL_PATTERN_SHIELD = "absorbing (%d+) damage. Lasts (%d+) sec."; HEALBOT_SPELL_PATTERN_SHIELD = "absorbing (%d+) damage. Lasts (%d+) sec.";
HB_SPELL_PATTERN_HEALING_TOUCH = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_REGROWTH = "Heals a friendly target for (%d+) to (%d+) and another (%d+) over (%d+) sec"; HEALBOT_SPELL_PATTERN_REGROWTH = "Heals a friendly target for (%d+) to (%d+) and another (%d+) over (%d+) sec";
HB_SPELL_PATTERN_REGROWTH1 = "Heals a friendly target for (%d+) to (%d+) and another (%d+) to (%d+) over (%d+) sec"; HEALBOT_SPELL_PATTERN_REGROWTH1 = "Heals a friendly target for (%d+) to (%d+) and another (%d+) to (%d+) over (%d+) sec";
HB_SPELL_PATTERN_HOLY_LIGHT = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_FLASH_OF_LIGHT = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_LESSER_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)"; HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)";
HB_SPELL_PATTERN_REJUVENATION = "Heals the target for (%d+) over (%d+) sec"; HEALBOT_SPELL_PATTERN_REJUVENATION = "Heals the target for (%d+) over (%d+) sec";
HB_SPELL_PATTERN_REJUVENATION1 = "Heals the target for (%d+) to (%d+) over (%d+) sec"; HEALBOT_SPELL_PATTERN_REJUVENATION1 = "Heals the target for (%d+) to (%d+) over (%d+) sec";
HB_SPELL_PATTERN_MEND_PET = "Heals your pet (%d+) health every second while you focus. Lasts (%d+) sec"; HEALBOT_SPELL_PATTERN_MEND_PET = "Heals your pet (%d+) health every second while you focus. Lasts (%d+) sec";
HB_TOOLTIP_MANA = "^(%d+) Mana$"; HEALBOT_TOOLTIP_MANA = "^(%d+) Mana$";
HB_TOOLTIP_RANGE = "(%d+) yd range"; HEALBOT_TOOLTIP_RANGE = "(%d+) yd range";
HB_TOOLTIP_INSTANT_CAST = "Instant cast"; HEALBOT_TOOLTIP_INSTANT_CAST = "Instant cast";
HB_TOOLTIP_CAST_TIME = "(%d+.?%d*) sec cast"; HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*) sec cast";
HB_TOOLTIP_CHANNELED = "Channeled"; HEALBOT_TOOLTIP_CHANNELED = "Channeled";
HB_HASLEFTRAID = "^([^%s]+) has left the raid group$"; HEALBOT_HASLEFTRAID = "^([^%s]+) has left the raid group$";
HB_HASLEFTPARTY = "^([^%s]+) leaves the party$"; HEALBOT_HASLEFTPARTY = "^([^%s]+) leaves the party$";
HB_YOULEAVETHEGROUP = "You leave the group." HEALBOT_YOULEAVETHEGROUP = "You leave the group."
HB_YOULEAVETHERAID = "You have left the raid group" HEALBOT_YOULEAVETHERAID = "You have left the raid group"
----------------- -----------------
+31 -31
View File
@@ -112,14 +112,14 @@ HEALBOT_RANK_11 = " (Rang 11)";
HEALBOT_LIBRARY_INCHEAL = "Increases healing done by spells and effects by up to (%d+)%."; -- *************** needs French translation *************** HEALBOT_LIBRARY_INCHEAL = "Increases healing done by spells and effects by up to (%d+)%."; -- *************** needs French translation ***************
HEALBOT_LIBRARY_INCDAMHEAL = "Increases damage and healing done by magical spells and effects by up to (%d+)%."; -- *************** needs French translation *************** HEALBOT_LIBRARY_INCDAMHEAL = "Increases damage and healing done by magical spells and effects by up to (%d+)%."; -- *************** needs French translation ***************
HB_BONUSSCANNER_NAMES = { HEALBOT_BONUSSCANNER_NAMES = {
HEAL = "Soins", HEAL = "Soins",
}; };
HB_BONUSSCANNER_PREFIX_EQUIP = "Equip\195\169 : "; HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Equip\195\169 : ";
HB_BONUSSCANNER_PREFIX_SET = "Complet : "; HEALBOT_BONUSSCANNER_PREFIX_SET = "Complet : ";
HB_BONUSSCANNER_PATTERNS_PASSIVE = { HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE = {
{ pattern = "Augmente les effets des sorts de soins de (%d+)% au maximum.", effect = "HEAL" }, { pattern = "Augmente les effets des sorts de soins de (%d+)% au maximum.", effect = "HEAL" },
{ pattern = "Augmente les soins prodigu\195\169s par les sorts et effets de (%d+)% au maximum.", effect = "HEAL"}, { pattern = "Augmente les soins prodigu\195\169s par les sorts et effets de (%d+)% au maximum.", effect = "HEAL"},
{ pattern = "Augmente les d\195\169g\195\162ts et les soins prodigu\195\169s par les sortsfalseles effets magiques de (%d+)% au maximum.", effect = "HEAL" }, { pattern = "Augmente les d\195\169g\195\162ts et les soins prodigu\195\169s par les sortsfalseles effets magiques de (%d+)% au maximum.", effect = "HEAL" },
@@ -127,39 +127,39 @@ HB_BONUSSCANNER_PATTERNS_PASSIVE = {
}; };
HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = {
["Sorts de Soins"] = "HEAL", ["Sorts de Soins"] = "HEAL",
["D\195\169g\195\162ts et soins "] = {"HEAL", "DMG"}, ["D\195\169g\195\162ts et soins "] = {"HEAL", "DMG"},
}; };
HB_SPELL_PATTERN_LESSER_HEAL = "Soigne la cible de (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_LESSER_HEAL = "Soigne la cible de (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_HEAL = "Soigne la cible de (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_HEAL = "Soigne la cible de (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_GREATER_HEAL = "Une longue incantation qui rend (%d+) \195\160 (%d+) points de vie \195\160 une cible unique"; HEALBOT_SPELL_PATTERN_GREATER_HEAL = "Une longue incantation qui rend (%d+) \195\160 (%d+) points de vie \195\160 une cible unique";
HB_SPELL_PATTERN_FLASH_HEAL = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_RENEW = "Rend (%d+) \195\160 (%d+) points de vie \195\160 la cible en (%d+) sec"; HEALBOT_SPELL_PATTERN_RENEW = "Rend (%d+) \195\160 (%d+) points de vie \195\160 la cible en (%d+) sec";
HB_SPELL_PATTERN_RENEW1 = "Rend (%d+) points de vie \195\160 la cible en (%d+) sec"; HEALBOT_SPELL_PATTERN_RENEW1 = "Rend (%d+) points de vie \195\160 la cible en (%d+) sec";
HB_SPELL_PATTERN_HEALING_TOUCH = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_REGROWTH = "Soigne une cible amie pour (%d+) \195\160 (%d+) puis pour (%d+) points suppl.+mentaires pendant (%d+) sec"; HEALBOT_SPELL_PATTERN_REGROWTH = "Soigne une cible amie pour (%d+) \195\160 (%d+) puis pour (%d+) points suppl.+mentaires pendant (%d+) sec";
HB_SPELL_PATTERN_REGROWTH1 = "Soigne une cible amie pour (%d+) \195\160 (%d+) puis pour (%d+) \195\160 (%d+) points suppl.+mentaires pendant (%d+) sec"; HEALBOT_SPELL_PATTERN_REGROWTH1 = "Soigne une cible amie pour (%d+) \195\160 (%d+) puis pour (%d+) \195\160 (%d+) points suppl.+mentaires pendant (%d+) sec";
HB_SPELL_PATTERN_HOLY_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_FLASH_OF_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_LESSER_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie"; HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie";
HB_SPELL_PATTERN_REJUVENATION = "Soigne la cible de (%d+) durant (%d+) sec"; HEALBOT_SPELL_PATTERN_REJUVENATION = "Soigne la cible de (%d+) durant (%d+) sec";
HB_SPELL_PATTERN_REJUVENATION1 = "Soigne la cible de (%d+) a (%d+) durant (%d+) sec"; HEALBOT_SPELL_PATTERN_REJUVENATION1 = "Soigne la cible de (%d+) a (%d+) durant (%d+) sec";
HB_SPELL_PATTERN_SHIELD = "absorbe (%d+) points de d\195\169g\195\162ts. Dure (%d+) sec"; HEALBOT_SPELL_PATTERN_SHIELD = "absorbe (%d+) points de d\195\169g\195\162ts. Dure (%d+) sec";
HB_SPELL_PATTERN_MEND_PET = "Soigne votre compagnon de (%d+) points de vie chaques secondes que vous le ciblez. Dure (%d+) sec" HEALBOT_SPELL_PATTERN_MEND_PET = "Soigne votre compagnon de (%d+) points de vie chaques secondes que vous le ciblez. Dure (%d+) sec"
HB_TOOLTIP_MANA = "^Mana : (%d+)$"; HEALBOT_TOOLTIP_MANA = "^Mana : (%d+)$";
HB_TOOLTIP_INSTANT_CAST = 'Incantation imm\195\169diate'; HEALBOT_TOOLTIP_INSTANT_CAST = 'Incantation imm\195\169diate';
HB_TOOLTIP_CAST_TIME = '(%d+.?%d*) sec'; HEALBOT_TOOLTIP_CAST_TIME = '(%d+.?%d*) sec';
HB_TOOLTIP_RANGE = "de (%d+) m" HEALBOT_TOOLTIP_RANGE = "de (%d+) m"
HB_TOOLTIP_CHANNELED = "Focaliser" HEALBOT_TOOLTIP_CHANNELED = "Focaliser"
HB_HASLEFTRAID = "^([^%s]+) a quitt\195\131\194\169 le groupe de raid$"; HEALBOT_HASLEFTRAID = "^([^%s]+) a quitt\195\131\194\169 le groupe de raid$";
HB_HASLEFTPARTY = "^([^%s]+) has left the party$"; -- *************** needs French translation *************** HEALBOT_HASLEFTPARTY = "^([^%s]+) has left the party$"; -- *************** needs French translation ***************
HB_YOULEAVETHEGROUP = "You leave the group" -- *************** needs translation *************** HEALBOT_YOULEAVETHEGROUP = "You leave the group" -- *************** needs translation ***************
HB_YOULEAVETHERAID = "You have left the raid group" -- *************** needs translation *************** HEALBOT_YOULEAVETHERAID = "You have left the raid group" -- *************** needs translation ***************
----------------- -----------------
-- Translation -- -- Translation --
+32 -32
View File
@@ -97,20 +97,20 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
HEALBOT_LIBRARY_INCHEAL = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%."; HEALBOT_LIBRARY_INCHEAL = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.";
HEALBOT_LIBRARY_INCDAMHEAL = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%."; HEALBOT_LIBRARY_INCDAMHEAL = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%.";
HB_BONUSSCANNER_NAMES = { HEALBOT_BONUSSCANNER_NAMES = {
HEAL = "치유량", HEAL = "치유량",
}; };
HB_BONUSSCANNER_PREFIX_EQUIP = "착용 효과: "; HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "착용 효과: ";
HB_BONUSSCANNER_PREFIX_SET = "세트 효과: "; HEALBOT_BONUSSCANNER_PREFIX_SET = "세트 효과: ";
HB_BONUSSCANNER_PATTERNS_PASSIVE = { HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE = {
{ pattern = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" }, { pattern = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" },
{ pattern = "주문과 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" }, { pattern = "주문과 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" },
{ pattern = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%.", effect = {"HEAL", "DMG"} }, { pattern = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%.", effect = {"HEAL", "DMG"} },
}; };
HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = {
["치유 주문"] = "HEAL", ["치유 주문"] = "HEAL",
["치유량 증가"] = "HEAL", ["치유량 증가"] = "HEAL",
["치유 효과 증가"] = "HEAL", ["치유 효과 증가"] = "HEAL",
@@ -120,7 +120,7 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
["치유 및 공격 주문 위력"] = {"HEAL", "DMG"}, ["치유 및 공격 주문 위력"] = {"HEAL", "DMG"},
}; };
HB_BONUSSCANNER_PATTERNS_OTHER = { HEALBOT_BONUSSCANNER_PATTERNS_OTHER = {
{ pattern = "잔달라 모조의 인장", effect = {"DMG", "HEAL"}, value = 18 }, { pattern = "잔달라 모조의 인장", effect = {"DMG", "HEAL"}, value = 18 },
{ pattern = "잔달라 평온의 인장", effect = "HEAL", value = 33 }, { pattern = "잔달라 평온의 인장", effect = "HEAL", value = 33 },
@@ -132,33 +132,33 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
{ pattern = "반짝이는 마나 오일", effect = { "MANAREG", "HEAL"}, value = {12, 25} }, { pattern = "반짝이는 마나 오일", effect = { "MANAREG", "HEAL"}, value = {12, 25} },
}; };
HB_SPELL_PATTERN_LESSER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_LESSER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_GREATER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_GREATER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_FLASH_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_FLASH_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_RENEW = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_RENEW = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_RENEW1 = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_RENEW1 = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_SHIELD = "(%d+)의 피해를 흡수합니다. (%d+)초 동안 지속됩니다."; HEALBOT_SPELL_PATTERN_SHIELD = "(%d+)의 피해를 흡수합니다. (%d+)초 동안 지속됩니다.";
HB_SPELL_PATTERN_HEALING_TOUCH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_REGROWTH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)의 생명력을 회복시킵니다"; HEALBOT_SPELL_PATTERN_REGROWTH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)의 생명력을 회복시킵니다";
HB_SPELL_PATTERN_REGROWTH1 = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)~(%d+)의 생명력을 회복시킵니다"; HEALBOT_SPELL_PATTERN_REGROWTH1 = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)~(%d+)의 생명력을 회복시킵니다";
HB_SPELL_PATTERN_HOLY_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_FLASH_OF_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_LESSER_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다";
HB_SPELL_PATTERN_REJUVENATION = "(%d+)에 걸쳐 (%d+)의 생명력을 회복시킵니다"; HEALBOT_SPELL_PATTERN_REJUVENATION = "(%d+)에 걸쳐 (%d+)의 생명력을 회복시킵니다";
HB_SPELL_PATTERN_REJUVENATION1 = "(%d+)에 걸쳐 (%d+)~(%d+)의 생명력을 회복시킵니다"; HEALBOT_SPELL_PATTERN_REJUVENATION1 = "(%d+)에 걸쳐 (%d+)~(%d+)의 생명력을 회복시킵니다";
HB_SPELL_PATTERN_MEND_PET = "야수에 정신을 집중하는 동안 매초마다 (%d+)의 생명력을 치료합니다"; HEALBOT_SPELL_PATTERN_MEND_PET = "야수에 정신을 집중하는 동안 매초마다 (%d+)의 생명력을 치료합니다";
HB_TOOLTIP_MANA = "^마나 (%d+)$"; HEALBOT_TOOLTIP_MANA = "^마나 (%d+)$";
HB_TOOLTIP_RANGE = "(%d+)미터"; HEALBOT_TOOLTIP_RANGE = "(%d+)미터";
HB_TOOLTIP_INSTANT_CAST = "즉시 시전"; HEALBOT_TOOLTIP_INSTANT_CAST = "즉시 시전";
HB_TOOLTIP_CAST_TIME = "(%d+.?%d*)초"; HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*)초";
HB_TOOLTIP_CHANNELED = "채널링"; HEALBOT_TOOLTIP_CHANNELED = "채널링";
HB_HASLEFTRAID = "^([^%s]+)님이 공격대를 떠났습니다$"; HEALBOT_HASLEFTRAID = "^([^%s]+)님이 공격대를 떠났습니다$";
HB_HASLEFTPARTY = "^([^%s]+)님이 파티를 떠났습니다$"; HEALBOT_HASLEFTPARTY = "^([^%s]+)님이 파티를 떠났습니다$";
HB_YOULEAVETHEGROUP = "당신은 파티를 떠났습니다" HEALBOT_YOULEAVETHEGROUP = "당신은 파티를 떠났습니다"
HB_YOULEAVETHERAID = "공격대를 떠났습니다" HEALBOT_YOULEAVETHERAID = "공격대를 떠났습니다"
----------------- -----------------
-- Translation -- -- Translation --
+2
View File
@@ -39,6 +39,8 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
* **Customizable Health Text:** Added a new dropdown in the Healing Options tab that allows users to choose how health text is displayed on unit frames (`Name Only`, `Health Percentage`, `Real Health`, or `Health Deficit`). Includes a smart truncation algorithm to preserve critical health numbers even if the unit name is too long. * **Customizable Health Text:** Added a new dropdown in the Healing Options tab that allows users to choose how health text is displayed on unit frames (`Name Only`, `Health Percentage`, `Real Health`, or `Health Deficit`). Includes a smart truncation algorithm to preserve critical health numbers even if the unit name is too long.
* **Non-Mana Resource Tracking:** Added a new toggle in the General Options tab to track secondary resources (Energy, Rage, Focus) for non-mana classes. Bars are dynamically color-coded based on the resource type. * **Non-Mana Resource Tracking:** Added a new toggle in the General Options tab to track secondary resources (Energy, Rage, Focus) for non-mana classes. Bars are dynamically color-coded based on the resource type.
* **Dropdown UI Initialization Fix:** Resolved a Vanilla API bug where dropdown menus sharing an ID (like the new Health Text dropdown) would temporarily inherit text from previously loaded dropdowns (e.g., "Modern Flat"). * **Dropdown UI Initialization Fix:** Resolved a Vanilla API bug where dropdown menus sharing an ID (like the new Health Text dropdown) would temporarily inherit text from previously loaded dropdowns (e.g., "Modern Flat").
* **Dynamic Modifier Tooltips:** Fixed a bug where the spell tooltip would not dynamically update its spells when pressing modifier keys (Shift/Ctrl/Alt) while hovering over a unit frame. Registered the `MODIFIER_STATE_CHANGED` event to instantly refresh the tooltip.
* **Global Variable Namespace Refactoring:** Executed a codebase-wide refactoring to encapsulate all floating global variables inside the `HealBot_` or `HEALBOT_` namespace. This prevents HealBot from silently shadowing other addons or the native WoW API, ensuring strict adherence to Vanilla Lua best practices. (Also resolved a namespace collision with `InitSpells`).
**1.3.3** **1.3.3**