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
+299 -299
View File
@@ -1,300 +1,300 @@
--[[ --[[
HealBot Contined HealBot Contined
]] ]]
-- 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
function HealBot_TogglePanel(panel) function HealBot_TogglePanel(panel)
if (not panel) then return end if (not panel) then return end
if ( panel:IsVisible() ) then if ( panel:IsVisible() ) then
HideUIPanel(panel); HideUIPanel(panel);
else else
ShowUIPanel(panel); ShowUIPanel(panel);
end end
end end
function HealBot_StartMoving(frame) function HealBot_StartMoving(frame)
if ( not frame.isMoving ) and ( frame.isLocked ~= 1 ) then if ( not frame.isMoving ) and ( frame.isLocked ~= 1 ) then
frame:StartMoving(); frame:StartMoving();
frame.isMoving = true; frame.isMoving = true;
end end
end end
function HealBot_StopMoving(frame) function HealBot_StopMoving(frame)
if ( frame.isMoving ) then if ( frame.isMoving ) then
frame:StopMovingOrSizing(); frame:StopMovingOrSizing();
frame.isMoving = false; frame.isMoving = false;
end end
if HealBot_Config.GrowUpwards==1 then if HealBot_Config.GrowUpwards==1 then
local left,bottom = HealBot_Action:GetLeft(),HealBot_Action:GetBottom(); local left,bottom = HealBot_Action:GetLeft(),HealBot_Action:GetBottom();
if left and bottom then if left and bottom then
HealBot_Config.PanelAnchorX=left; HealBot_Config.PanelAnchorX=left;
HealBot_Config.PanelAnchorY=bottom; HealBot_Config.PanelAnchorY=bottom;
end end
-- HealBot_AddDebug("Pos X="..HealBot_Config.PanelAnchorX.." Pos Y="..HealBot_Config.PanelAnchorY) -- HealBot_AddDebug("Pos X="..HealBot_Config.PanelAnchorX.." Pos Y="..HealBot_Config.PanelAnchorY)
end end
end end
function HealBot_SlashCmd(cmd) function HealBot_SlashCmd(cmd)
if (cmd=="") then if (cmd=="") then
HealBot_TogglePanel(HealBot_Action); HealBot_TogglePanel(HealBot_Action);
return return
end end
if (cmd=="options" or cmd=="opt" or cmd=="config" or cmd=="cfg") then if (cmd=="options" or cmd=="opt" or cmd=="config" or cmd=="cfg") then
HealBot_TogglePanel(HealBot_Options); HealBot_TogglePanel(HealBot_Options);
return return
end end
if (cmd=="forms" or cmd=="form") then if (cmd=="forms" or cmd=="form") then
local forms = GetNumShapeshiftForms(); local forms = GetNumShapeshiftForms();
if forms and forms > 0 then if forms and forms > 0 then
HealBot_AddChat("HealBot: Available shapeshift forms:"); HealBot_AddChat("HealBot: Available shapeshift forms:");
for i=1,forms do for i=1,forms do
local icon, name, active = GetShapeshiftFormInfo(i); local icon, name, active = GetShapeshiftFormInfo(i);
local actStr = "false" local actStr = "false"
if active then actStr = "true" end if active then actStr = "true" end
HealBot_AddChat(" Form " .. i .. ": " .. (name or "nil") .. " | Icon: " .. (icon or "nil") .. " | Active: " .. actStr); HealBot_AddChat(" Form " .. i .. ": " .. (name or "nil") .. " | Icon: " .. (icon or "nil") .. " | Active: " .. actStr);
end end
else else
HealBot_AddChat("HealBot: No shapeshift forms found."); HealBot_AddChat("HealBot: No shapeshift forms found.");
end end
return return
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
if (cmd=="ui") then if (cmd=="ui") then
ReloadUI(); ReloadUI();
return; return;
end end
if (cmd=="init") then if (cmd=="init") then
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;
end end
if (cmd=="ver") then if (cmd=="ver") then
local text=UnitName("player"); local text=UnitName("player");
HealBot_SendAddonMessage( "HealBot", ">> RequestVersion <<=>> "..text.." <<=>> nil <<" ); HealBot_SendAddonMessage( "HealBot", ">> RequestVersion <<=>> "..text.." <<=>> nil <<" );
return; return;
end end
if (cmd=="chan") then if (cmd=="chan") then
HealBot_AddDebug( "Channel active" ); HealBot_AddDebug( "Channel active" );
return; return;
end end
end end
-- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua -- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua
function HealBot_TargetName() function HealBot_TargetName()
if UnitIsEnemy("target","player") then return nil end if UnitIsEnemy("target","player") then return nil end
-- if not UnitPlayerControlled("target") then return nil end -- if not UnitPlayerControlled("target") then return nil end
if (UnitIsPlayer("target")) then if (UnitIsPlayer("target")) then
if UnitIsUnit("target","player") then return "player" end if UnitIsUnit("target","player") then return "player" end
if (UnitInParty("target")) then if (UnitInParty("target")) then
for i=1,4 do for i=1,4 do
if UnitIsUnit("target","party"..i) then return "party"..i end if UnitIsUnit("target","party"..i) then return "party"..i end
end end
end end
if (UnitInRaid("target")) then if (UnitInRaid("target")) then
for i=1,40 do for i=1,40 do
if UnitIsUnit("target","raid"..i) then return "raid"..i end if UnitIsUnit("target","raid"..i) then return "raid"..i end
end end
end end
else else
if UnitIsUnit("target","pet") then return "pet" end if UnitIsUnit("target","pet") then return "pet" end
if (UnitInParty("player")) then if (UnitInParty("player")) then
for i=1,4 do for i=1,4 do
if UnitIsUnit("target","partypet"..i) then return "partypet"..i end if UnitIsUnit("target","partypet"..i) then return "partypet"..i end
end end
end end
if (UnitInRaid("player")) then if (UnitInRaid("player")) then
for i=1,40 do for i=1,40 do
if UnitIsUnit("target","raidpet"..i) then return "raidpet"..i end if UnitIsUnit("target","raidpet"..i) then return "raidpet"..i end
end end
end end
end end
return nil return nil
end end
function HealBot_PackBagSlot(bag,slot) function HealBot_PackBagSlot(bag,slot)
return bag*100+slot; return bag*100+slot;
end end
function HealBot_UnpackBagSlot(bagslot) function HealBot_UnpackBagSlot(bagslot)
return math.floor(bagslot/100),math.mod(bagslot,100); return math.floor(bagslot/100),math.mod(bagslot,100);
end end
function HealBot_GetItemName(bag,slot) function HealBot_GetItemName(bag,slot)
local link = GetContainerItemLink(bag,slot); local link = GetContainerItemLink(bag,slot);
if not link then return nil end; if not link then return nil end;
local _,_,item = string.find(link,"%[(.*)%]"); local _,_,item = string.find(link,"%[(.*)%]");
local _,count = GetContainerItemInfo(bag,slot); local _,count = GetContainerItemInfo(bag,slot);
return item,count; return item,count;
end end
function HealBot_GetBagSlot(item) function HealBot_GetBagSlot(item)
local BagSlot,BestCount; local BagSlot,BestCount;
for bag=0,NUM_BAG_FRAMES do for bag=0,NUM_BAG_FRAMES do
for slot=1,GetContainerNumSlots(bag) do for slot=1,GetContainerNumSlots(bag) do
local bagitem,count = HealBot_GetItemName(bag,slot); local bagitem,count = HealBot_GetItemName(bag,slot);
if (item==bagitem) then if (item==bagitem) then
if not BestCount or BestCount>count then if not BestCount or BestCount>count then
BagSlot = HealBot_PackBagSlot(bag,slot); BagSlot = HealBot_PackBagSlot(bag,slot);
BestCount = count; BestCount = count;
end end
end end
end end
end end
return BagSlot; return BagSlot;
end end
function HealBot_UseItem(item) function HealBot_UseItem(item)
local bagslot = HealBot_GetBagSlot(item); local bagslot = HealBot_GetBagSlot(item);
if not bagslot then return end; if not bagslot then return end;
local bag,slot = HealBot_UnpackBagSlot(bagslot); local bag,slot = HealBot_UnpackBagSlot(bagslot);
local Link = GetContainerItemLink(bag,slot); local Link = GetContainerItemLink(bag,slot);
UseContainerItem(bag,slot); UseContainerItem(bag,slot);
end end
-- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua -- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua
function HealBot_UnitClass(unit) function HealBot_UnitClass(unit)
local playerClass, englishClass = UnitClass(unit); local playerClass, englishClass = UnitClass(unit);
return englishClass; return englishClass;
end end
---- HealBot_UnitAffected moved to HealBot_Controller_Aura.lua ---- HealBot_UnitAffected moved to HealBot_Controller_Aura.lua
-- safer to use GameTooltip:SetUnitBuff and read the lines in the tooltip ... -- safer to use GameTooltip:SetUnitBuff and read the lines in the tooltip ...
-- maybe make an additional GameTooltip frame if possible ? -- maybe make an additional GameTooltip frame if possible ?
-- Spell parsing, default setup, finding, casting, and recalculating functions moved to HealBot_Controller_Spells.lua -- Spell parsing, default setup, finding, casting, and recalculating functions moved to HealBot_Controller_Spells.lua
-------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------
-- OnFoo functions -- OnFoo functions
-------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------
-- Event loop handlers and event dispatcher moved to HealBot_Controller_Events.lua -- Event loop handlers and event dispatcher moved to HealBot_Controller_Events.lua
-- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua -- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua
function HealBot_FindUnitID(unitname) function HealBot_FindUnitID(unitname)
local text; local text;
for _,unit in ipairs(HealBot_Action_HealGroup) do for _,unit in ipairs(HealBot_Action_HealGroup) do
text = UnitName(unit); text = UnitName(unit);
if text then if text then
if text==unitname then if text==unitname then
return unit; return unit;
end end
end end
end end
for i=1,40 do for i=1,40 do
local unit = "raid"..i; local unit = "raid"..i;
text = UnitName(unit); text = UnitName(unit);
if text then if text then
if text==unitname then if text==unitname then
return unit; return unit;
end end
end end
end end
return nil; return nil;
end end
function HealBot_PlaySound(id) function HealBot_PlaySound(id)
if id==1 then if id==1 then
PlaySoundFile("Sound\\Doodad\\BellTollTribal.wav"); PlaySoundFile("Sound\\Doodad\\BellTollTribal.wav");
elseif id==2 then elseif id==2 then
PlaySoundFile("Sound\\Spells\\Thorns.wav"); PlaySoundFile("Sound\\Spells\\Thorns.wav");
elseif id==3 then elseif id==3 then
PlaySoundFile("Sound\\Doodad\\BellTollNightElf.wav"); PlaySoundFile("Sound\\Doodad\\BellTollNightElf.wav");
end end
end end
-- HealBot_InitSpells moved to HealBot_Controller_Spells.lua -- HealBot_InitSpells moved to HealBot_Controller_Spells.lua
function HealBot_InitData() function HealBot_InitData()
HealBot_Skins = HealBot_Config.Skins; HealBot_Skins = HealBot_Config.Skins;
if(CT_RegisterMod) then if(CT_RegisterMod) then
CT_RegisterMod(HEALBOT_ADDON,"HealBot Options",5,"Interface\\AddOns\\HealBotBlue\\Images\\HealBot","Opens HealBot Options","off",nil,HealBot_ToggleOptions); CT_RegisterMod(HEALBOT_ADDON,"HealBot Options",5,"Interface\\AddOns\\HealBotBlue\\Images\\HealBot","Opens HealBot Options","off",nil,HealBot_ToggleOptions);
end end
-- remove after 1.126 -- remove after 1.126
local tmp=HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] or 0 local tmp=HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] or 0
HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]=tmp HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]=tmp
HealBot_Options_CDCMonitor_Reset() HealBot_Options_CDCMonitor_Reset()
HealBot_Options_EmergencyFilter_Reset() HealBot_Options_EmergencyFilter_Reset()
HealBot_Options_Debuff_Reset() HealBot_Options_Debuff_Reset()
end end
function HealBot_ToggleOptions() function HealBot_ToggleOptions()
HealBot_TogglePanel(HealBot_Options) HealBot_TogglePanel(HealBot_Options)
end end
-- HealBot_InitGetSpellData and HealBot_Generic_Patten moved to HealBot_Controller_Spells.lua -- HealBot_InitGetSpellData and HealBot_Generic_Patten moved to HealBot_Controller_Spells.lua
-- HealBot_Get_DebugChan moved to HealBot_Controller_Comms.lua -- HealBot_Get_DebugChan moved to HealBot_Controller_Comms.lua
-- HealBot_Range_Check moved to HealBot_Controller_Range.lua -- HealBot_Range_Check moved to HealBot_Controller_Range.lua
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- Native Action Bar Hovercasting (Mouseover Hook) -- Native Action Bar Hovercasting (Mouseover Hook)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
do do
local pass = function() end local pass = function() end
local orig = UseAction local orig = UseAction
function UseAction(slot, checkCursor, onSelf) function UseAction(slot, checkCursor, onSelf)
if HealBot_Config.ActionMouseover == 1 then if HealBot_Config.ActionMouseover == 1 then
local mouseover = HealBot_Action_TooltipUnit local mouseover = HealBot_Action_TooltipUnit
if mouseover and mouseover ~= 'target' then if mouseover and mouseover ~= 'target' then
local _PlaySound = PlaySound local _PlaySound = PlaySound
local target = UnitName("target") local target = UnitName("target")
PlaySound = pass PlaySound = pass
ClearTarget() ClearTarget()
PlaySound = _PlaySound PlaySound = _PlaySound
do do
local autoSelfCast = GetCVar("autoSelfCast") local autoSelfCast = GetCVar("autoSelfCast")
SetCVar("autoSelfCast", "0") -- Ensure disabled SetCVar("autoSelfCast", "0") -- Ensure disabled
orig(slot, checkCursor, onSelf) orig(slot, checkCursor, onSelf)
if autoSelfCast then if autoSelfCast then
SetCVar("autoSelfCast", autoSelfCast) SetCVar("autoSelfCast", autoSelfCast)
end end
end end
SpellTargetUnit(mouseover) SpellTargetUnit(mouseover)
if target then if target then
PlaySound = pass PlaySound = pass
TargetLastTarget() TargetLastTarget()
PlaySound = _PlaySound PlaySound = _PlaySound
end end
return return
end end
end end
orig(slot, checkCursor, onSelf) orig(slot, checkCursor, onSelf)
end end
end end
+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**