diff --git a/HealBot.lua b/HealBot.lua index 4dde5cc..b26eae9 100644 --- a/HealBot.lua +++ b/HealBot.lua @@ -1,300 +1,300 @@ ---[[ - - HealBot Contined - -]] - --- local _scale=0; -- moved to HealBot_Controller_Range.lua -CalcEquipBonus=false; -HealBot_EquipChangeTimer = 0; -HealValue=0; -InitSpells=1; -local DebugDebuff=false; -Delay_RecalcParty=0; - - --- Debugging and Error functions moved to HealBot_Controller_Comms.lua - -function HealBot_TogglePanel(panel) - if (not panel) then return end - if ( panel:IsVisible() ) then - HideUIPanel(panel); - else - ShowUIPanel(panel); - end -end - -function HealBot_StartMoving(frame) - if ( not frame.isMoving ) and ( frame.isLocked ~= 1 ) then - frame:StartMoving(); - frame.isMoving = true; - end -end - -function HealBot_StopMoving(frame) - if ( frame.isMoving ) then - frame:StopMovingOrSizing(); - frame.isMoving = false; - end - if HealBot_Config.GrowUpwards==1 then - local left,bottom = HealBot_Action:GetLeft(),HealBot_Action:GetBottom(); - if left and bottom then - HealBot_Config.PanelAnchorX=left; - HealBot_Config.PanelAnchorY=bottom; - end --- HealBot_AddDebug("Pos X="..HealBot_Config.PanelAnchorX.." Pos Y="..HealBot_Config.PanelAnchorY) - end - -end - -function HealBot_SlashCmd(cmd) - if (cmd=="") then - HealBot_TogglePanel(HealBot_Action); - return - end - if (cmd=="options" or cmd=="opt" or cmd=="config" or cmd=="cfg") then - HealBot_TogglePanel(HealBot_Options); - return - end - if (cmd=="forms" or cmd=="form") then - local forms = GetNumShapeshiftForms(); - if forms and forms > 0 then - HealBot_AddChat("HealBot: Available shapeshift forms:"); - for i=1,forms do - local icon, name, active = GetShapeshiftFormInfo(i); - local actStr = "false" - if active then actStr = "true" end - HealBot_AddChat(" Form " .. i .. ": " .. (name or "nil") .. " | Icon: " .. (icon or "nil") .. " | Active: " .. actStr); - end - else - HealBot_AddChat("HealBot: No shapeshift forms found."); - end - return - end - - if (cmd=="reset" or cmd=="recalc" or cmd=="defaults") then - InitSpells=2; - HealBot_Options_Defaults_OnClick(HealBot_Options_Defaults); - return - end - if (cmd=="ui") then - ReloadUI(); - return; - end - if (cmd=="init") then - HealBot_RegisterThis(this); - end - if (cmd=="x") then - InitSpells=2; - NeedEquipUpdate=1 - HealBot_RecalcSpells(); - return; - end - if (cmd=="ver") then - local text=UnitName("player"); - HealBot_SendAddonMessage( "HealBot", ">> RequestVersion <<=>> "..text.." <<=>> nil <<" ); - return; - end - if (cmd=="chan") then - HealBot_AddDebug( "Channel active" ); - return; - end -end - --- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua - -function HealBot_TargetName() - if UnitIsEnemy("target","player") then return nil end --- if not UnitPlayerControlled("target") then return nil end - if (UnitIsPlayer("target")) then - if UnitIsUnit("target","player") then return "player" end - if (UnitInParty("target")) then - for i=1,4 do - if UnitIsUnit("target","party"..i) then return "party"..i end - end - end - if (UnitInRaid("target")) then - for i=1,40 do - if UnitIsUnit("target","raid"..i) then return "raid"..i end - end - end - else - if UnitIsUnit("target","pet") then return "pet" end - if (UnitInParty("player")) then - for i=1,4 do - if UnitIsUnit("target","partypet"..i) then return "partypet"..i end - end - end - if (UnitInRaid("player")) then - for i=1,40 do - if UnitIsUnit("target","raidpet"..i) then return "raidpet"..i end - end - end - end - return nil -end - - - -function HealBot_PackBagSlot(bag,slot) - return bag*100+slot; -end - -function HealBot_UnpackBagSlot(bagslot) - return math.floor(bagslot/100),math.mod(bagslot,100); -end - -function HealBot_GetItemName(bag,slot) - local link = GetContainerItemLink(bag,slot); - if not link then return nil end; - local _,_,item = string.find(link,"%[(.*)%]"); - local _,count = GetContainerItemInfo(bag,slot); - return item,count; -end - -function HealBot_GetBagSlot(item) - local BagSlot,BestCount; - for bag=0,NUM_BAG_FRAMES do - for slot=1,GetContainerNumSlots(bag) do - local bagitem,count = HealBot_GetItemName(bag,slot); - if (item==bagitem) then - if not BestCount or BestCount>count then - BagSlot = HealBot_PackBagSlot(bag,slot); - BestCount = count; - end - end - end - end - return BagSlot; -end - -function HealBot_UseItem(item) - local bagslot = HealBot_GetBagSlot(item); - if not bagslot then return end; - local bag,slot = HealBot_UnpackBagSlot(bagslot); - local Link = GetContainerItemLink(bag,slot); - UseContainerItem(bag,slot); -end - --- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua - -function HealBot_UnitClass(unit) - local playerClass, englishClass = UnitClass(unit); - return englishClass; -end - ----- HealBot_UnitAffected moved to HealBot_Controller_Aura.lua --- safer to use GameTooltip:SetUnitBuff and read the lines in the tooltip ... --- maybe make an additional GameTooltip frame if possible ? - --- Spell parsing, default setup, finding, casting, and recalculating functions moved to HealBot_Controller_Spells.lua - --------------------------------------------------------------------------------------------------- --- OnFoo functions --------------------------------------------------------------------------------------------------- - --- Event loop handlers and event dispatcher moved to HealBot_Controller_Events.lua - --- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua - -function HealBot_FindUnitID(unitname) - local text; - for _,unit in ipairs(HealBot_Action_HealGroup) do - text = UnitName(unit); - if text then - if text==unitname then - return unit; - end - end - end - for i=1,40 do - local unit = "raid"..i; - text = UnitName(unit); - if text then - if text==unitname then - return unit; - end - end - end - return nil; -end - -function HealBot_PlaySound(id) - if id==1 then - PlaySoundFile("Sound\\Doodad\\BellTollTribal.wav"); - elseif id==2 then - PlaySoundFile("Sound\\Spells\\Thorns.wav"); - elseif id==3 then - PlaySoundFile("Sound\\Doodad\\BellTollNightElf.wav"); - end -end - --- HealBot_InitSpells moved to HealBot_Controller_Spells.lua - -function HealBot_InitData() - HealBot_Skins = HealBot_Config.Skins; - if(CT_RegisterMod) then - CT_RegisterMod(HEALBOT_ADDON,"HealBot Options",5,"Interface\\AddOns\\HealBotBlue\\Images\\HealBot","Opens HealBot Options","off",nil,HealBot_ToggleOptions); - end - --- remove after 1.126 - local tmp=HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] or 0 - HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]=tmp - - HealBot_Options_CDCMonitor_Reset() - HealBot_Options_EmergencyFilter_Reset() - HealBot_Options_Debuff_Reset() -end - -function HealBot_ToggleOptions() - HealBot_TogglePanel(HealBot_Options) -end - --- HealBot_InitGetSpellData and HealBot_Generic_Patten moved to HealBot_Controller_Spells.lua - --- HealBot_Get_DebugChan moved to HealBot_Controller_Comms.lua - --- HealBot_Range_Check moved to HealBot_Controller_Range.lua - --------------------------------------------------------------------------------- --- Native Action Bar Hovercasting (Mouseover Hook) --------------------------------------------------------------------------------- -do - local pass = function() end - local orig = UseAction - function UseAction(slot, checkCursor, onSelf) - if HealBot_Config.ActionMouseover == 1 then - local mouseover = HealBot_Action_TooltipUnit - if mouseover and mouseover ~= 'target' then - local _PlaySound = PlaySound - local target = UnitName("target") - - PlaySound = pass - ClearTarget() - PlaySound = _PlaySound - - do - local autoSelfCast = GetCVar("autoSelfCast") - SetCVar("autoSelfCast", "0") -- Ensure disabled - orig(slot, checkCursor, onSelf) - if autoSelfCast then - SetCVar("autoSelfCast", autoSelfCast) - end - end - - SpellTargetUnit(mouseover) - - if target then - PlaySound = pass - TargetLastTarget() - PlaySound = _PlaySound - end - - return - end - end - orig(slot, checkCursor, onSelf) - end -end - +--[[ + + HealBot Contined + +]] + +-- local _scale=0; -- moved to HealBot_Controller_Range.lua +HealBot_CalcEquipBonus=false; +HealBot_EquipChangeTimer = 0; +HealBot_HealValue=0; +HealBot_SpellsInitFlag=1; +local DebugDebuff=false; +HealBot_Delay_RecalcParty=0; + + +-- Debugging and Error functions moved to HealBot_Controller_Comms.lua + +function HealBot_TogglePanel(panel) + if (not panel) then return end + if ( panel:IsVisible() ) then + HideUIPanel(panel); + else + ShowUIPanel(panel); + end +end + +function HealBot_StartMoving(frame) + if ( not frame.isMoving ) and ( frame.isLocked ~= 1 ) then + frame:StartMoving(); + frame.isMoving = true; + end +end + +function HealBot_StopMoving(frame) + if ( frame.isMoving ) then + frame:StopMovingOrSizing(); + frame.isMoving = false; + end + if HealBot_Config.GrowUpwards==1 then + local left,bottom = HealBot_Action:GetLeft(),HealBot_Action:GetBottom(); + if left and bottom then + HealBot_Config.PanelAnchorX=left; + HealBot_Config.PanelAnchorY=bottom; + end +-- HealBot_AddDebug("Pos X="..HealBot_Config.PanelAnchorX.." Pos Y="..HealBot_Config.PanelAnchorY) + end + +end + +function HealBot_SlashCmd(cmd) + if (cmd=="") then + HealBot_TogglePanel(HealBot_Action); + return + end + if (cmd=="options" or cmd=="opt" or cmd=="config" or cmd=="cfg") then + HealBot_TogglePanel(HealBot_Options); + return + end + if (cmd=="forms" or cmd=="form") then + local forms = GetNumShapeshiftForms(); + if forms and forms > 0 then + HealBot_AddChat("HealBot: Available shapeshift forms:"); + for i=1,forms do + local icon, name, active = GetShapeshiftFormInfo(i); + local actStr = "false" + if active then actStr = "true" end + HealBot_AddChat(" Form " .. i .. ": " .. (name or "nil") .. " | Icon: " .. (icon or "nil") .. " | Active: " .. actStr); + end + else + HealBot_AddChat("HealBot: No shapeshift forms found."); + end + return + end + + if (cmd=="reset" or cmd=="recalc" or cmd=="defaults") then + HealBot_SpellsInitFlag=2; + HealBot_Options_Defaults_OnClick(HealBot_Options_Defaults); + return + end + if (cmd=="ui") then + ReloadUI(); + return; + end + if (cmd=="init") then + HealBot_RegisterThis(this); + end + if (cmd=="x") then + HealBot_SpellsInitFlag=2; + NeedEquipUpdate=1 + HealBot_RecalcSpells(); + return; + end + if (cmd=="ver") then + local text=UnitName("player"); + HealBot_SendAddonMessage( "HealBot", ">> RequestVersion <<=>> "..text.." <<=>> nil <<" ); + return; + end + if (cmd=="chan") then + HealBot_AddDebug( "Channel active" ); + return; + end +end + +-- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua + +function HealBot_TargetName() + if UnitIsEnemy("target","player") then return nil end +-- if not UnitPlayerControlled("target") then return nil end + if (UnitIsPlayer("target")) then + if UnitIsUnit("target","player") then return "player" end + if (UnitInParty("target")) then + for i=1,4 do + if UnitIsUnit("target","party"..i) then return "party"..i end + end + end + if (UnitInRaid("target")) then + for i=1,40 do + if UnitIsUnit("target","raid"..i) then return "raid"..i end + end + end + else + if UnitIsUnit("target","pet") then return "pet" end + if (UnitInParty("player")) then + for i=1,4 do + if UnitIsUnit("target","partypet"..i) then return "partypet"..i end + end + end + if (UnitInRaid("player")) then + for i=1,40 do + if UnitIsUnit("target","raidpet"..i) then return "raidpet"..i end + end + end + end + return nil +end + + + +function HealBot_PackBagSlot(bag,slot) + return bag*100+slot; +end + +function HealBot_UnpackBagSlot(bagslot) + return math.floor(bagslot/100),math.mod(bagslot,100); +end + +function HealBot_GetItemName(bag,slot) + local link = GetContainerItemLink(bag,slot); + if not link then return nil end; + local _,_,item = string.find(link,"%[(.*)%]"); + local _,count = GetContainerItemInfo(bag,slot); + return item,count; +end + +function HealBot_GetBagSlot(item) + local BagSlot,BestCount; + for bag=0,NUM_BAG_FRAMES do + for slot=1,GetContainerNumSlots(bag) do + local bagitem,count = HealBot_GetItemName(bag,slot); + if (item==bagitem) then + if not BestCount or BestCount>count then + BagSlot = HealBot_PackBagSlot(bag,slot); + BestCount = count; + end + end + end + end + return BagSlot; +end + +function HealBot_UseItem(item) + local bagslot = HealBot_GetBagSlot(item); + if not bagslot then return end; + local bag,slot = HealBot_UnpackBagSlot(bagslot); + local Link = GetContainerItemLink(bag,slot); + UseContainerItem(bag,slot); +end + +-- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua + +function HealBot_UnitClass(unit) + local playerClass, englishClass = UnitClass(unit); + return englishClass; +end + +---- HealBot_UnitAffected moved to HealBot_Controller_Aura.lua +-- safer to use GameTooltip:SetUnitBuff and read the lines in the tooltip ... +-- maybe make an additional GameTooltip frame if possible ? + +-- Spell parsing, default setup, finding, casting, and recalculating functions moved to HealBot_Controller_Spells.lua + +-------------------------------------------------------------------------------------------------- +-- OnFoo functions +-------------------------------------------------------------------------------------------------- + +-- Event loop handlers and event dispatcher moved to HealBot_Controller_Events.lua + +-- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua + +function HealBot_FindUnitID(unitname) + local text; + for _,unit in ipairs(HealBot_Action_HealGroup) do + text = UnitName(unit); + if text then + if text==unitname then + return unit; + end + end + end + for i=1,40 do + local unit = "raid"..i; + text = UnitName(unit); + if text then + if text==unitname then + return unit; + end + end + end + return nil; +end + +function HealBot_PlaySound(id) + if id==1 then + PlaySoundFile("Sound\\Doodad\\BellTollTribal.wav"); + elseif id==2 then + PlaySoundFile("Sound\\Spells\\Thorns.wav"); + elseif id==3 then + PlaySoundFile("Sound\\Doodad\\BellTollNightElf.wav"); + end +end + +-- HealBot_InitSpells moved to HealBot_Controller_Spells.lua + +function HealBot_InitData() + HealBot_Skins = HealBot_Config.Skins; + if(CT_RegisterMod) then + CT_RegisterMod(HEALBOT_ADDON,"HealBot Options",5,"Interface\\AddOns\\HealBotBlue\\Images\\HealBot","Opens HealBot Options","off",nil,HealBot_ToggleOptions); + end + +-- remove after 1.126 + local tmp=HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] or 0 + HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]=tmp + + HealBot_Options_CDCMonitor_Reset() + HealBot_Options_EmergencyFilter_Reset() + HealBot_Options_Debuff_Reset() +end + +function HealBot_ToggleOptions() + HealBot_TogglePanel(HealBot_Options) +end + +-- HealBot_InitGetSpellData and HealBot_Generic_Patten moved to HealBot_Controller_Spells.lua + +-- HealBot_Get_DebugChan moved to HealBot_Controller_Comms.lua + +-- HealBot_Range_Check moved to HealBot_Controller_Range.lua + +-------------------------------------------------------------------------------- +-- Native Action Bar Hovercasting (Mouseover Hook) +-------------------------------------------------------------------------------- +do + local pass = function() end + local orig = UseAction + function UseAction(slot, checkCursor, onSelf) + if HealBot_Config.ActionMouseover == 1 then + local mouseover = HealBot_Action_TooltipUnit + if mouseover and mouseover ~= 'target' then + local _PlaySound = PlaySound + local target = UnitName("target") + + PlaySound = pass + ClearTarget() + PlaySound = _PlaySound + + do + local autoSelfCast = GetCVar("autoSelfCast") + SetCVar("autoSelfCast", "0") -- Ensure disabled + orig(slot, checkCursor, onSelf) + if autoSelfCast then + SetCVar("autoSelfCast", autoSelfCast) + end + end + + SpellTargetUnit(mouseover) + + if target then + PlaySound = pass + TargetLastTarget() + PlaySound = _PlaySound + end + + return + end + end + orig(slot, checkCursor, onSelf) + end +end + diff --git a/HealBot_BonusScanner.lua b/HealBot_BonusScanner.lua index ce1e08e..4cfbd9b 100644 --- a/HealBot_BonusScanner.lua +++ b/HealBot_BonusScanner.lua @@ -6,9 +6,9 @@ -- http://www.curse-gaming.com/mod.php?addid=2384 -------------------------------------------------- -HB_BONUSSCANNER_PATTERN_SETNAME = "^(.*) %(%d/%d%)$"; -HB_BONUSSCANNER_PATTERN_GENERIC_PREFIX = "^%+(%d+)%%?(.*)$"; -HB_BONUSSCANNER_PATTERN_GENERIC_SUFFIX = "^(.*)%+(%d+)%%?$"; +HEALBOT_BONUSSCANNER_PATTERN_SETNAME = "^(.*) %(%d/%d%)$"; +HEALBOT_BONUSSCANNER_PATTERN_GENERIC_PREFIX = "^%+(%d+)%%?(.*)$"; +HEALBOT_BONUSSCANNER_PATTERN_GENERIC_SUFFIX = "^(.*)%+(%d+)%%?$"; HealBot_BonusScanner = { bonuses = 0; @@ -128,17 +128,17 @@ end; function HealBot_BonusScanner:ScanLine(line) local tmpStr, found; - if(string.sub(line,0,string.len(HB_BONUSSCANNER_PREFIX_EQUIP)) == HB_BONUSSCANNER_PREFIX_EQUIP) then - tmpStr = string.sub(line,string.len(HB_BONUSSCANNER_PREFIX_EQUIP)+1); + if(string.sub(line,0,string.len(HEALBOT_BONUSSCANNER_PREFIX_EQUIP)) == HEALBOT_BONUSSCANNER_PREFIX_EQUIP) then + tmpStr = string.sub(line,string.len(HEALBOT_BONUSSCANNER_PREFIX_EQUIP)+1); 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 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:CheckPassive(tmpStr); else - _, _, tmpStr = string.find(line, HB_BONUSSCANNER_PATTERN_SETNAME); + _, _, tmpStr = string.find(line, HEALBOT_BONUSSCANNER_PATTERN_SETNAME); if(tmpStr) then HealBot_BonusScanner.temp.set = tmpStr; else @@ -154,7 +154,7 @@ function HealBot_BonusScanner:CheckPassive(line) local i, p, value, found; 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); if(value) then HealBot_BonusScanner:AddValue(p.effect, value) @@ -183,9 +183,9 @@ function HealBot_BonusScanner:CheckGeneric(line) tmpStr = string.gsub( tmpStr, "%s+$", "" ); 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 - _, _, token, value = string.find(tmpStr, HB_BONUSSCANNER_PATTERN_GENERIC_SUFFIX); + _, _, token, value = string.find(tmpStr, HEALBOT_BONUSSCANNER_PATTERN_GENERIC_SUFFIX); end if(token and value) then token = string.gsub( token, "^%s+", "" ); @@ -202,8 +202,8 @@ end function HealBot_BonusScanner:CheckToken(token, value) local i, p, s1, s2; - if(HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token]) then - HealBot_BonusScanner:AddValue(HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token], value); + if(HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token]) then + HealBot_BonusScanner:AddValue(HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP[token], value); return true; end return false; @@ -212,7 +212,7 @@ end function HealBot_BonusScanner:CheckOther(line) 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); if(start) then if(p.value) then diff --git a/HealBot_Controller_Events.lua b/HealBot_Controller_Events.lua index 3e0be1e..f294ee2 100644 --- a/HealBot_Controller_Events.lua +++ b/HealBot_Controller_Events.lua @@ -6,6 +6,7 @@ local HealBot_Timer1, HealsIn_Timer = 0, 0; function HealBot_OnLoad(this) this:RegisterEvent("VARIABLES_LOADED"); + this:RegisterEvent("MODIFIER_STATE_CHANGED"); SLASH_HEALBOT1 = "/healbot"; SLASH_HEALBOT2 = "/hb"; @@ -25,12 +26,12 @@ function HealBot_OnLoad(this) HealBot_View_DirtyUnits[unitID] = true end) HealBot_Model:RegisterObserver("ROSTER_CHANGED", function() - Delay_RecalcParty = 1 + HealBot_Delay_RecalcParty = 1 end) HealBot_Model:RegisterObserver("EQUIPMENT_CHANGED", function(unitID) if unitID == "player" then HealBot_BonusScanner:ScanEquipment() - CalcEquipBonus = true; + HealBot_CalcEquipBonus = true; HealBot_RecalcSpells(); end end) @@ -80,23 +81,23 @@ function HealBot_OnUpdate(this, arg1) if HealBot_EquipChangeTimer <= 0 then HealBot_EquipChangeTimer = 0 HealBot_BonusScanner:ScanEquipment() - CalcEquipBonus = true; + HealBot_CalcEquipBonus = true; HealBot_RecalcSpells(); end end - if InitSpells > 1 then - InitSpells = InitSpells + 1; - if InitSpells > 2 then + if HealBot_SpellsInitFlag > 1 then + HealBot_SpellsInitFlag = HealBot_SpellsInitFlag + 1; + if HealBot_SpellsInitFlag > 2 then local cnt = HealBot_InitSpells(); - InitSpells = 0; + HealBot_SpellsInitFlag = 0; HealBot_RecalcSpells(); end end - if Delay_RecalcParty > 0 then - Delay_RecalcParty = Delay_RecalcParty + 1 - if Delay_RecalcParty > 1 then - Delay_RecalcParty = 0; + if HealBot_Delay_RecalcParty > 0 then + HealBot_Delay_RecalcParty = HealBot_Delay_RecalcParty + 1 + if HealBot_Delay_RecalcParty > 1 then + HealBot_Delay_RecalcParty = 0; HealBot_RecalcParty(); end end @@ -178,6 +179,11 @@ local HealBot_EventHandlers = { ["VARIABLES_LOADED"] = function(this) HealBot_OnEvent_VariablesLoaded(this) 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 ["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, @@ -299,7 +305,7 @@ function HealBot_OnEvent_VariablesLoaded(this) this:RegisterEvent("UPDATE_SHAPESHIFT_FORMS"); HealBot_UpdateShapeshiftForm(); end - InitSpells = 2; + HealBot_SpellsInitFlag = 2; end end @@ -319,7 +325,7 @@ end function HealBot_OnEvent_ZoneChanged(this) HealBot_ResetRangeScale(); - Delay_RecalcParty = 1; + HealBot_Delay_RecalcParty = 1; end function HealBot_OnEvent_PlayerRegenDisabled(this) @@ -359,7 +365,7 @@ end function HealBot_OnEvent_PlayerRegenEnabled(this) HealBot_IsFighting = false; - Delay_RecalcParty = 1; + HealBot_Delay_RecalcParty = 1; end function HealBot_OnEvent_PlayerTargetChanged(this) @@ -367,7 +373,7 @@ function HealBot_OnEvent_PlayerTargetChanged(this) end function HealBot_OnEvent_PartyMembersChanged(this) - Delay_RecalcParty = 1; + HealBot_Delay_RecalcParty = 1; end function HealBot_OnEvent_PartyMemberDisable(this, unit) @@ -376,9 +382,9 @@ end function HealBot_OnEvent_SystemMsg(this, msg) 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 - local tmpTest, tmpTest, deserter = string.find(msg, HB_HASLEFTPARTY); + local tmpTest, tmpTest, deserter = string.find(msg, HEALBOT_HASLEFTPARTY); end if deserter then if (HealBot_Healers[deserter]) then @@ -394,8 +400,8 @@ function HealBot_OnEvent_SystemMsg(this, msg) end end end - elseif msg == HB_YOULEAVETHEGROUP or msg == HB_YOULEAVETHERAID then - Delay_RecalcParty = 1; + elseif msg == HEALBOT_YOULEAVETHEGROUP or msg == HEALBOT_YOULEAVETHERAID then + HealBot_Delay_RecalcParty = 1; end end end @@ -417,7 +423,7 @@ end function HealBot_OnEvent_SpellsChanged(this, arg1) if arg1 then return; end HealBot_AddDebug("HB: SpellsChanged"); - InitSpells = 2; + HealBot_SpellsInitFlag = 2; end function HealBot_OnEvent_TalentsChanged(this, arg1) diff --git a/HealBot_Controller_Spells.lua b/HealBot_Controller_Spells.lua index db425aa..3c4f285 100644 --- a/HealBot_Controller_Spells.lua +++ b/HealBot_Controller_Spells.lua @@ -133,8 +133,8 @@ function HealBot_StartCasting(spell, target, ttype) end if ttype == "fired" and HealBot_Spells[spell] then if HealBot_Spells[spell].CastTime > 1 then - HealValue = HealBot_Spells[spell].HealsDur; - HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(target) .. " <<=>> " .. HealValue .. " << "); + HealBot_HealValue = HealBot_Spells[spell].HealsDur; + HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(target) .. " <<=>> " .. HealBot_HealValue .. " << "); end end end @@ -142,9 +142,9 @@ end function HealBot_StopCasting() if HealBot_CastingTarget then if HealBot_HealsIn[UnitName(HealBot_CastingTarget)] then - if HealValue > 0 then - HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(HealBot_CastingTarget) .. " <<=>> " .. 0 - HealValue .. " << "); - HealValue = 0; + if HealBot_HealValue > 0 then + HealBot_SendAddonMessage(HEALBOT_ADDON_ID, ">> " .. UnitName(HealBot_CastingTarget) .. " <<=>> " .. 0 - HealBot_HealValue .. " << "); + HealBot_HealValue = 0; end end end @@ -297,13 +297,13 @@ end function HealBot_FindHealSpells() 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 = {} }; table.foreach(HealBot_CurrentSpells, function (index, spell) if (HealBot_Spells[spell]) then - if CalcEquipBonus then + if HealBot_CalcEquipBonus then local healingbonus_penalty = 1; if HealBot_Spells[spell].Level < 20 then healingbonus_penalty = (1 - ((20 - HealBot_Spells[spell].Level) * 0.0375)); @@ -358,10 +358,10 @@ function HealBot_FindHealSpells() HealBot_Heals["raidpet" .. i] = HealBot_Heals.party; end - if CalcEquipBonus then + if HealBot_CalcEquipBonus then HealBot_AddDebug("...Done Equip Bonus:" .. RealHealing); end - CalcEquipBonus = false; + HealBot_CalcEquipBonus = false; end function HealBot_CanCastSpell(spell, unit) @@ -471,7 +471,7 @@ function HealBot_InitGetSpellData(spell, id, class) tmpText = getglobal("HealBot_ScanTooltipTextLeft2"); if (tmpText:GetText()) then line = tmpText:GetText(); - tmpTest, tmpTest, _mana = string.find(line, HB_TOOLTIP_MANA); + tmpTest, tmpTest, _mana = string.find(line, HEALBOT_TOOLTIP_MANA); else HealBot_Report_Error("================================"); HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost"); @@ -481,7 +481,7 @@ function HealBot_InitGetSpellData(spell, id, class) tmpText = getglobal("HealBot_ScanTooltipTextRight2"); if (tmpText:GetText()) then line = tmpText:GetText(); - tmpTest, tmpTest, _range = string.find(line, HB_TOOLTIP_RANGE); + tmpTest, tmpTest, _range = string.find(line, HEALBOT_TOOLTIP_RANGE); else HealBot_Report_Error("================================"); HealBot_Report_Error("ERROR: HealBot_ScanTooltip is lost"); @@ -492,12 +492,12 @@ function HealBot_InitGetSpellData(spell, id, class) _cast = nil; if (tmpText:GetText()) then line = tmpText:GetText(); - if (line == HB_TOOLTIP_INSTANT_CAST) then + if (line == HEALBOT_TOOLTIP_INSTANT_CAST) then _cast = 0; - elseif line == HB_TOOLTIP_CHANNELED then + elseif line == HEALBOT_TOOLTIP_CHANNELED then _cast = 0; elseif (tmpText) then - tmpTest, tmpTest, _cast = string.find(line, HB_TOOLTIP_CAST_TIME); + tmpTest, tmpTest, _cast = string.find(line, HEALBOT_TOOLTIP_CAST_TIME); end else HealBot_Report_Error("================================"); @@ -511,58 +511,58 @@ function HealBot_InitGetSpellData(spell, id, class) line = tmpText:GetText(); if class == "PRIEST" 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; _HealsMax = _HealsMin; 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; _HealsMax = 0; 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 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 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 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 - 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 - 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 - tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HB_SPELL_PATTERN_HEAL); + tmpTest, _HealsMin, _HealsMax = HealBot_Generic_Patten(line, HEALBOT_SPELL_PATTERN_HEAL); end elseif class == "DRUID" 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 - 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 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; _HealsMax = 0; 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 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 elseif class == "PALADIN" 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 - 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 elseif class == "SHAMAN" 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 - 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 else @@ -578,7 +578,7 @@ function HealBot_InitGetSpellData(spell, id, class) if HealBot_ScanTooltipTextLeft2:GetText() then HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft2:GetText() .. " <<"); end - HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_MANA .. " <<"); + HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_MANA .. " <<"); end if (_range == nil) then HealBot_Report_Error("================================"); @@ -587,7 +587,7 @@ function HealBot_InitGetSpellData(spell, id, class) if HealBot_ScanTooltipTextRight2:GetText() then HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextRight2:GetText() .. " <<"); end - HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_RANGE .. " <<"); + HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_RANGE .. " <<"); end if (_cast == nil) then HealBot_Report_Error("================================"); @@ -596,7 +596,7 @@ function HealBot_InitGetSpellData(spell, id, class) if HealBot_ScanTooltipTextLeft3:GetText() then HealBot_Report_Error("ERROR: Tooltip = >> " .. HealBot_ScanTooltipTextLeft3:GetText() .. " <<"); end - HealBot_Report_Error("ERROR: Patten = >> " .. HB_TOOLTIP_CAST_TIME .. " <<"); + HealBot_Report_Error("ERROR: Patten = >> " .. HEALBOT_TOOLTIP_CAST_TIME .. " <<"); end if (tmpTest == nil) then HealBot_Report_Error("================================"); diff --git a/HealBot_Localization.de.lua b/HealBot_Localization.de.lua index 560f05a..aaf38ea 100644 --- a/HealBot_Localization.de.lua +++ b/HealBot_Localization.de.lua @@ -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_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", } -HB_BONUSSCANNER_PREFIX_EQUIP = "Anlegen: "; -HB_BONUSSCANNER_PREFIX_SET = "Set: "; +HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Anlegen: "; +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 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", ["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 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"; -HB_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"; -HB_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%)"; -HB_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"; -HB_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%)"; -HB_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+)"; -HB_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%)"; -HB_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%)"; -HB_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_LESSER_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen"; +HEALBOT_SPELL_PATTERN_HEAL = "Euer Ziel um (%d+) bis (%d+) Punkt%(e%) heilen"; +HEALBOT_SPELL_PATTERN_GREATER_HEAL = "Ein langsam zu wirkender Zauber, der ein einzelnes Ziel um (%d+) bis (%d+) Punkt%(e%) heilt"; +HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; +HEALBOT_SPELL_PATTERN_RENEW2 = "Heilt das Ziel (%d+) Sek. lang um (%d+) bis (%d+) Schadenspunk"; +HEALBOT_SPELL_PATTERN_RENEW3 = "Heilt das Ziel (%d+) Sek. lang um (%d+) Schadenspunk"; +HEALBOT_SPELL_PATTERN_SHIELD = "absorbiert dabei (%d+) Punkt%(e%) Schaden. H\195\164lt (%d+) Sek"; +HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) Punkt%(e%)"; +HEALBOT_SPELL_PATTERN_REGROWTH = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+)"; +HEALBOT_SPELL_PATTERN_REGROWTH1 = "Heilt ein befreundetes Ziel um (%d+) bis (%d+) und \195\188ber (%d+) Sek%. um weitere (%d+) bis (%d+)"; +HEALBOT_SPELL_PATTERN_HOLY_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%)"; +HEALBOT_SPELL_PATTERN_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%)"; +HEALBOT_SPELL_PATTERN_REJUVENATION = "Heilt das Ziel von (%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$"; -HB_TOOLTIP_RANGE = "(%d+) m"; -HB_TOOLTIP_INSTANT_CAST = "Spontanzauber"; -HB_TOOLTIP_CAST_TIME = "(%d+.?%d*) Sek"; -HB_TOOLTIP_CHANNELED = "Abgebrochen"; -HB_HASLEFTRAID = "^([^%s]+) hat die \195\131\197\147berfallgruppe verlassen%.$"; -HB_HASLEFTPARTY = "^([^%s]+) hat die Gruppe verlassen"; -HB_YOULEAVETHEGROUP = "Du hast die Gruppe verlassen" -HB_YOULEAVETHERAID = "Du hast den Schlachtzug verlassen" +HEALBOT_TOOLTIP_MANA = "^(%d+) Mana$"; +HEALBOT_TOOLTIP_RANGE = "(%d+) m"; +HEALBOT_TOOLTIP_INSTANT_CAST = "Spontanzauber"; +HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*) Sek"; +HEALBOT_TOOLTIP_CHANNELED = "Abgebrochen"; +HEALBOT_HASLEFTRAID = "^([^%s]+) hat die \195\131\197\147berfallgruppe verlassen%.$"; +HEALBOT_HASLEFTPARTY = "^([^%s]+) hat die Gruppe verlassen"; +HEALBOT_YOULEAVETHEGROUP = "Du hast die Gruppe verlassen" +HEALBOT_YOULEAVETHERAID = "Du hast den Schlachtzug verlassen" ----------------- -- Translation -- diff --git a/HealBot_Localization.en.lua b/HealBot_Localization.en.lua index eb3ee61..117b106 100644 --- a/HealBot_Localization.en.lua +++ b/HealBot_Localization.en.lua @@ -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_INCDAMHEAL = "Increases damage and healing done by magical spells and effects by up to (%d+)%."; -HB_BONUSSCANNER_NAMES = { +HEALBOT_BONUSSCANNER_NAMES = { HEAL = "Healing", }; -HB_BONUSSCANNER_PREFIX_EQUIP = "Equip: "; -HB_BONUSSCANNER_PREFIX_SET = "Set: "; +HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Equip: "; +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 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", ["Increases Healing"] = "HEAL", ["Healing and Spell Damage"] = {"HEAL", "DMG"}, @@ -151,7 +151,7 @@ HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { ["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 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"; -HB_SPELL_PATTERN_LESSER_HEAL = "Heal your target for (%d+) to (%d+)"; -HB_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+)"; -HB_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"; -HB_SPELL_PATTERN_RENEW1 = "Heals the target of (%d+) damage over (%d+) sec"; -HB_SPELL_PATTERN_RENEW2 = "Not needed for en"; -HB_SPELL_PATTERN_RENEW3 = "Not needed for en"; -HB_SPELL_PATTERN_SHIELD = "absorbing (%d+) damage. Lasts (%d+) sec."; -HB_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"; -HB_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+)"; -HB_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+)"; -HB_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"; -HB_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_LESSER_HEAL = "Heal your target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_HEAL = "Heal your target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_GREATER_HEAL = "A slow casting spell that heals a single target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_RENEW = "Heals the target of (%d+) to (%d+) damage over (%d+) sec"; +HEALBOT_SPELL_PATTERN_RENEW1 = "Heals the target of (%d+) damage over (%d+) sec"; +HEALBOT_SPELL_PATTERN_RENEW2 = "Not needed for en"; +HEALBOT_SPELL_PATTERN_RENEW3 = "Not needed for en"; +HEALBOT_SPELL_PATTERN_SHIELD = "absorbing (%d+) damage. Lasts (%d+) sec."; +HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_REGROWTH = "Heals a friendly target for (%d+) to (%d+) and another (%d+) over (%d+) sec"; +HEALBOT_SPELL_PATTERN_REGROWTH1 = "Heals a friendly target for (%d+) to (%d+) and another (%d+) to (%d+) over (%d+) sec"; +HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "Heals a friendly target for (%d+) to (%d+)"; +HEALBOT_SPELL_PATTERN_REJUVENATION = "Heals the target for (%d+) over (%d+) sec"; +HEALBOT_SPELL_PATTERN_REJUVENATION1 = "Heals the target for (%d+) to (%d+) over (%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$"; -HB_TOOLTIP_RANGE = "(%d+) yd range"; -HB_TOOLTIP_INSTANT_CAST = "Instant cast"; -HB_TOOLTIP_CAST_TIME = "(%d+.?%d*) sec cast"; -HB_TOOLTIP_CHANNELED = "Channeled"; -HB_HASLEFTRAID = "^([^%s]+) has left the raid group$"; -HB_HASLEFTPARTY = "^([^%s]+) leaves the party$"; -HB_YOULEAVETHEGROUP = "You leave the group." -HB_YOULEAVETHERAID = "You have left the raid group" +HEALBOT_TOOLTIP_MANA = "^(%d+) Mana$"; +HEALBOT_TOOLTIP_RANGE = "(%d+) yd range"; +HEALBOT_TOOLTIP_INSTANT_CAST = "Instant cast"; +HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*) sec cast"; +HEALBOT_TOOLTIP_CHANNELED = "Channeled"; +HEALBOT_HASLEFTRAID = "^([^%s]+) has left the raid group$"; +HEALBOT_HASLEFTPARTY = "^([^%s]+) leaves the party$"; +HEALBOT_YOULEAVETHEGROUP = "You leave the group." +HEALBOT_YOULEAVETHERAID = "You have left the raid group" ----------------- diff --git a/HealBot_Localization.fr.lua b/HealBot_Localization.fr.lua index ab27dfc..599b70e 100644 --- a/HealBot_Localization.fr.lua +++ b/HealBot_Localization.fr.lua @@ -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_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", }; -HB_BONUSSCANNER_PREFIX_EQUIP = "Equip\195\169 : "; -HB_BONUSSCANNER_PREFIX_SET = "Complet : "; +HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "Equip\195\169 : "; +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 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" }, @@ -127,39 +127,39 @@ HB_BONUSSCANNER_PATTERNS_PASSIVE = { }; -HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { +HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { ["Sorts de Soins"] = "HEAL", ["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"; -HB_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"; -HB_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"; -HB_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"; -HB_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"; -HB_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"; -HB_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"; -HB_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"; -HB_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_LESSER_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"; +HEALBOT_SPELL_PATTERN_GREATER_HEAL = "Une longue incantation qui rend (%d+) \195\160 (%d+) points de vie \195\160 une cible unique"; +HEALBOT_SPELL_PATTERN_FLASH_HEAL = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_RENEW = "Rend (%d+) \195\160 (%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"; +HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_REGROWTH = "Soigne une cible amie pour (%d+) \195\160 (%d+) puis pour (%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"; +HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "Rend (%d+) \195\160 (%d+) points de vie"; +HEALBOT_SPELL_PATTERN_REJUVENATION = "Soigne la cible de (%d+) durant (%d+) sec"; +HEALBOT_SPELL_PATTERN_REJUVENATION1 = "Soigne la cible de (%d+) a (%d+) durant (%d+) sec"; +HEALBOT_SPELL_PATTERN_SHIELD = "absorbe (%d+) points de d\195\169g\195\162ts. 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+)$"; -HB_TOOLTIP_INSTANT_CAST = 'Incantation imm\195\169diate'; -HB_TOOLTIP_CAST_TIME = '(%d+.?%d*) sec'; +HEALBOT_TOOLTIP_MANA = "^Mana : (%d+)$"; +HEALBOT_TOOLTIP_INSTANT_CAST = 'Incantation imm\195\169diate'; +HEALBOT_TOOLTIP_CAST_TIME = '(%d+.?%d*) sec'; -HB_TOOLTIP_RANGE = "de (%d+) m" -HB_TOOLTIP_CHANNELED = "Focaliser" -HB_HASLEFTRAID = "^([^%s]+) a quitt\195\131\194\169 le groupe de raid$"; -HB_HASLEFTPARTY = "^([^%s]+) has left the party$"; -- *************** needs French translation *************** -HB_YOULEAVETHEGROUP = "You leave the group" -- *************** needs translation *************** -HB_YOULEAVETHERAID = "You have left the raid group" -- *************** needs translation *************** +HEALBOT_TOOLTIP_RANGE = "de (%d+) m" +HEALBOT_TOOLTIP_CHANNELED = "Focaliser" +HEALBOT_HASLEFTRAID = "^([^%s]+) a quitt\195\131\194\169 le groupe de raid$"; +HEALBOT_HASLEFTPARTY = "^([^%s]+) has left the party$"; -- *************** needs French translation *************** +HEALBOT_YOULEAVETHEGROUP = "You leave the group" -- *************** needs translation *************** +HEALBOT_YOULEAVETHERAID = "You have left the raid group" -- *************** needs translation *************** ----------------- -- Translation -- diff --git a/HealBot_Localization.kr.lua b/HealBot_Localization.kr.lua index 60852b8..5a1e153 100644 --- a/HealBot_Localization.kr.lua +++ b/HealBot_Localization.kr.lua @@ -97,20 +97,20 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복"; HEALBOT_LIBRARY_INCHEAL = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%."; HEALBOT_LIBRARY_INCDAMHEAL = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%."; - HB_BONUSSCANNER_NAMES = { + HEALBOT_BONUSSCANNER_NAMES = { HEAL = "치유량", }; - HB_BONUSSCANNER_PREFIX_EQUIP = "착용 효과: "; - HB_BONUSSCANNER_PREFIX_SET = "세트 효과: "; + HEALBOT_BONUSSCANNER_PREFIX_EQUIP = "착용 효과: "; + HEALBOT_BONUSSCANNER_PREFIX_SET = "세트 효과: "; - HB_BONUSSCANNER_PATTERNS_PASSIVE = { + HEALBOT_BONUSSCANNER_PATTERNS_PASSIVE = { { pattern = "모든 주문 및 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" }, { pattern = "주문과 효과에 의한 치유량이 최대 (%d+)만큼 증가합니다%.", effect = "HEAL" }, { pattern = "모든 주문 및 효과에 의한 피해와 치유량이 최대 (%d+)만큼 증가합니다%.", effect = {"HEAL", "DMG"} }, }; - HB_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { + HEALBOT_BONUSSCANNER_PATTERNS_GENERIC_LOOKUP = { ["치유 주문"] = "HEAL", ["치유량 증가"] = "HEAL", ["치유 효과 증가"] = "HEAL", @@ -120,7 +120,7 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복"; ["치유 및 공격 주문 위력"] = {"HEAL", "DMG"}, }; - HB_BONUSSCANNER_PATTERNS_OTHER = { + HEALBOT_BONUSSCANNER_PATTERNS_OTHER = { { pattern = "잔달라 모조의 인장", effect = {"DMG", "HEAL"}, value = 18 }, { pattern = "잔달라 평온의 인장", effect = "HEAL", value = 33 }, @@ -132,33 +132,33 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복"; { pattern = "반짝이는 마나 오일", effect = { "MANAREG", "HEAL"}, value = {12, 25} }, }; - HB_SPELL_PATTERN_LESSER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_GREATER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_FLASH_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_RENEW = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_RENEW1 = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_SHIELD = "(%d+)의 피해를 흡수합니다. (%d+)초 동안 지속됩니다."; - HB_SPELL_PATTERN_HEALING_TOUCH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_REGROWTH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)의 생명력을 회복시킵니다"; - HB_SPELL_PATTERN_REGROWTH1 = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)~(%d+)의 생명력을 회복시킵니다"; - HB_SPELL_PATTERN_HOLY_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_FLASH_OF_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_LESSER_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; - HB_SPELL_PATTERN_REJUVENATION = "(%d+)에 걸쳐 (%d+)의 생명력을 회복시킵니다"; - HB_SPELL_PATTERN_REJUVENATION1 = "(%d+)에 걸쳐 (%d+)~(%d+)의 생명력을 회복시킵니다"; - HB_SPELL_PATTERN_MEND_PET = "야수에 정신을 집중하는 동안 매초마다 (%d+)의 생명력을 치료합니다"; + HEALBOT_SPELL_PATTERN_LESSER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_GREATER_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_FLASH_HEAL = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_RENEW = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_RENEW1 = "(%d+)초에 걸쳐 대상의 생명력을 총 (%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_SHIELD = "(%d+)의 피해를 흡수합니다. (%d+)초 동안 지속됩니다."; + HEALBOT_SPELL_PATTERN_HEALING_TOUCH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_REGROWTH = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)의 생명력을 회복시킵니다"; + HEALBOT_SPELL_PATTERN_REGROWTH1 = "대상의 생명력을 (%d+)~(%d+)만큼 회복시키고 추가로 (%d+)초에 걸쳐 총 (%d+)~(%d+)의 생명력을 회복시킵니다"; + HEALBOT_SPELL_PATTERN_HOLY_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_FLASH_OF_LIGHT = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_LESSER_HEALING_WAVE = "대상의 생명력을 (%d+)~(%d+)만큼 회복시킵니다"; + HEALBOT_SPELL_PATTERN_REJUVENATION = "(%d+)에 걸쳐 (%d+)의 생명력을 회복시킵니다"; + HEALBOT_SPELL_PATTERN_REJUVENATION1 = "(%d+)에 걸쳐 (%d+)~(%d+)의 생명력을 회복시킵니다"; + HEALBOT_SPELL_PATTERN_MEND_PET = "야수에 정신을 집중하는 동안 매초마다 (%d+)의 생명력을 치료합니다"; - HB_TOOLTIP_MANA = "^마나 (%d+)$"; - HB_TOOLTIP_RANGE = "(%d+)미터"; - HB_TOOLTIP_INSTANT_CAST = "즉시 시전"; - HB_TOOLTIP_CAST_TIME = "(%d+.?%d*)초"; - HB_TOOLTIP_CHANNELED = "채널링"; - HB_HASLEFTRAID = "^([^%s]+)님이 공격대를 떠났습니다$"; - HB_HASLEFTPARTY = "^([^%s]+)님이 파티를 떠났습니다$"; - HB_YOULEAVETHEGROUP = "당신은 파티를 떠났습니다" - HB_YOULEAVETHERAID = "공격대를 떠났습니다" + HEALBOT_TOOLTIP_MANA = "^마나 (%d+)$"; + HEALBOT_TOOLTIP_RANGE = "(%d+)미터"; + HEALBOT_TOOLTIP_INSTANT_CAST = "즉시 시전"; + HEALBOT_TOOLTIP_CAST_TIME = "(%d+.?%d*)초"; + HEALBOT_TOOLTIP_CHANNELED = "채널링"; + HEALBOT_HASLEFTRAID = "^([^%s]+)님이 공격대를 떠났습니다$"; + HEALBOT_HASLEFTPARTY = "^([^%s]+)님이 파티를 떠났습니다$"; + HEALBOT_YOULEAVETHEGROUP = "당신은 파티를 떠났습니다" + HEALBOT_YOULEAVETHERAID = "공격대를 떠났습니다" ----------------- -- Translation -- diff --git a/README.md b/README.md index 0eb1f5a..71feba3 100644 --- a/README.md +++ b/README.md @@ -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. * **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"). +* **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**