mirror of
https://github.com/Bluewhale1337/HealBotBlue.git
synced 2026-11-06 02:18:57 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18eff88f7b | ||
|
|
31f7c6fe2b | ||
|
|
de9454e85f | ||
|
|
c3f8cdb4ed | ||
|
|
5a77b2298d | ||
|
|
7b8c0251fc | ||
|
|
71b92fe1a6 | ||
|
|
3ed13b97f4 | ||
|
|
aea1f734ca | ||
|
|
8624a192b6 | ||
|
|
d949b7489a | ||
|
|
962f2a46aa | ||
|
|
eed71fa070 | ||
|
|
2baf535aa2 | ||
|
|
4694db4f90 | ||
|
|
076475442c | ||
|
|
d5ecdc6c76 | ||
|
|
42ff023a54 | ||
|
|
8050561733 | ||
|
|
8b85b6ca57 | ||
|
|
d222cd942c | ||
|
|
b298ad7047 | ||
|
|
94f8c2a843 | ||
|
|
b3e18bfd64 | ||
|
|
6acfa36d8d | ||
|
|
97df6c9a98 | ||
|
|
2a0d607bcd | ||
|
|
526a4f1b9b | ||
|
|
032c7571af | ||
|
|
f4ba0d983d | ||
|
|
62b93b74e2 | ||
|
|
820f23c3f2 | ||
|
|
59e3701d79 |
+98
-31
@@ -103,6 +103,21 @@ function HealBot_SlashCmd(cmd)
|
|||||||
HealBot_AddDebug( "Channel active" );
|
HealBot_AddDebug( "Channel active" );
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
if (cmd=="debug" or cmd=="dbg") then
|
||||||
|
if not HealBot_Config then return; end
|
||||||
|
if HealBot_Config.DebugMode == 1 then
|
||||||
|
HealBot_Config.DebugMode = 0;
|
||||||
|
if DEFAULT_CHAT_FRAME then
|
||||||
|
DEFAULT_CHAT_FRAME:AddMessage("|cFFFFD100HealBot|r: Debug mode |cFFFF0000DISABLED|r.");
|
||||||
|
end
|
||||||
|
else
|
||||||
|
HealBot_Config.DebugMode = 1;
|
||||||
|
if DEFAULT_CHAT_FRAME then
|
||||||
|
DEFAULT_CHAT_FRAME:AddMessage("|cFFFFD100HealBot|r: Debug mode |cFF00FF00ENABLED|r.");
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return;
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua
|
-- HealBot_SendAddonMessage moved to HealBot_Controller_Comms.lua
|
||||||
@@ -188,23 +203,60 @@ end
|
|||||||
|
|
||||||
-- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua
|
-- Spell parsing and casting functions moved to HealBot_Controller_Spells.lua
|
||||||
|
|
||||||
|
HealBot_ClassMap = nil
|
||||||
|
|
||||||
|
function HealBot_InitClassMap()
|
||||||
|
HealBot_ClassMap = {
|
||||||
|
["DRUID"] = "DRUID", ["Druid"] = "DRUID",
|
||||||
|
["HUNTER"] = "HUNTER", ["Hunter"] = "HUNTER",
|
||||||
|
["MAGE"] = "MAGE", ["Mage"] = "MAGE",
|
||||||
|
["PALADIN"] = "PALADIN", ["Paladin"] = "PALADIN",
|
||||||
|
["PRIEST"] = "PRIEST", ["Priest"] = "PRIEST",
|
||||||
|
["ROGUE"] = "ROGUE", ["Rogue"] = "ROGUE",
|
||||||
|
["SHAMAN"] = "SHAMAN", ["Shaman"] = "SHAMAN",
|
||||||
|
["WARLOCK"] = "WARLOCK", ["Warlock"] = "WARLOCK",
|
||||||
|
["WARRIOR"] = "WARRIOR", ["Warrior"] = "WARRIOR",
|
||||||
|
}
|
||||||
|
if HEALBOT_DRUID then HealBot_ClassMap[HEALBOT_DRUID] = "DRUID" end
|
||||||
|
if HEALBOT_HUNTER then HealBot_ClassMap[HEALBOT_HUNTER] = "HUNTER" end
|
||||||
|
if HEALBOT_MAGE then HealBot_ClassMap[HEALBOT_MAGE] = "MAGE" end
|
||||||
|
if HEALBOT_PALADIN then HealBot_ClassMap[HEALBOT_PALADIN] = "PALADIN" end
|
||||||
|
if HEALBOT_PRIEST then HealBot_ClassMap[HEALBOT_PRIEST] = "PRIEST" end
|
||||||
|
if HEALBOT_ROGUE then HealBot_ClassMap[HEALBOT_ROGUE] = "ROGUE" end
|
||||||
|
if HEALBOT_SHAMAN then HealBot_ClassMap[HEALBOT_SHAMAN] = "SHAMAN" end
|
||||||
|
if HEALBOT_WARLOCK then HealBot_ClassMap[HEALBOT_WARLOCK] = "WARLOCK" end
|
||||||
|
if HEALBOT_WARRIOR then HealBot_ClassMap[HEALBOT_WARRIOR] = "WARRIOR" end
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_UnitClass: Returns English class string for a unit.
|
-- HealBot_UnitClass: Returns English class string for a unit.
|
||||||
function HealBot_UnitClass(unit)
|
function HealBot_UnitClass(unit)
|
||||||
local locClass, enClass = UnitClass(unit)
|
if not unit then return nil end
|
||||||
if enClass then return string.upper(enClass) end
|
if not HealBot_ClassMap then HealBot_InitClassMap() end
|
||||||
|
|
||||||
-- Fallback for Vanilla 1.12 where enClass is nil
|
-- 1. If player self, query "player" directly
|
||||||
if locClass == HEALBOT_DRUID then return "DRUID"
|
if unit == "player" or UnitIsUnit(unit, "player") then
|
||||||
elseif locClass == HEALBOT_HUNTER then return "HUNTER"
|
local locClass, enClass = UnitClass("player")
|
||||||
elseif locClass == HEALBOT_MAGE then return "MAGE"
|
if enClass and enClass ~= "" then return string.upper(enClass) end
|
||||||
elseif locClass == HEALBOT_PALADIN then return "PALADIN"
|
if locClass and HealBot_ClassMap[locClass] then return HealBot_ClassMap[locClass] end
|
||||||
elseif locClass == HEALBOT_PRIEST then return "PRIEST"
|
if locClass then return string.upper(locClass) end
|
||||||
elseif locClass == HEALBOT_ROGUE then return "ROGUE"
|
|
||||||
elseif locClass == HEALBOT_SHAMAN then return "SHAMAN"
|
|
||||||
elseif locClass == HEALBOT_WARLOCK then return "WARLOCK"
|
|
||||||
elseif locClass == HEALBOT_WARRIOR then return "WARRIOR"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- 2. If raid member, query GetRaidRosterInfo (server authoritative English class token)
|
||||||
|
local _, _, raidIdx = string.find(unit, "^raid(%d+)$")
|
||||||
|
if raidIdx and GetNumRaidMembers() > 0 then
|
||||||
|
local _, _, _, _, class, fileName = GetRaidRosterInfo(tonumber(raidIdx))
|
||||||
|
if fileName and fileName ~= "" then
|
||||||
|
return string.upper(fileName)
|
||||||
|
elseif class and HealBot_ClassMap[class] then
|
||||||
|
return HealBot_ClassMap[class]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 3. General fallback via UnitClass API
|
||||||
|
local locClass, enClass = UnitClass(unit)
|
||||||
|
if enClass and enClass ~= "" then return string.upper(enClass) end
|
||||||
|
if locClass and HealBot_ClassMap[locClass] then return HealBot_ClassMap[locClass] end
|
||||||
|
|
||||||
return locClass
|
return locClass
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -222,27 +274,42 @@ end
|
|||||||
|
|
||||||
-- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua
|
-- SpiBonus and GetBonus functions moved to HealBot_Controller_Spells.lua
|
||||||
|
|
||||||
|
local HealBot_RaidUnitTokens = {}
|
||||||
|
for i=1, 40 do HealBot_RaidUnitTokens[i] = "raid"..i end
|
||||||
|
|
||||||
|
HealBot_NameToUnitID = {}
|
||||||
|
|
||||||
|
function HealBot_UpdateUnitIDCache()
|
||||||
|
HealBot_NameToUnitID = {}
|
||||||
|
local name = UnitName("player")
|
||||||
|
if name then HealBot_NameToUnitID[name] = "player" end
|
||||||
|
|
||||||
|
for i=1, 4 do
|
||||||
|
local unit = "party"..i
|
||||||
|
name = UnitName(unit)
|
||||||
|
if name then HealBot_NameToUnitID[name] = unit end
|
||||||
|
unit = "partypet"..i
|
||||||
|
name = UnitName(unit)
|
||||||
|
if name then HealBot_NameToUnitID[name] = unit end
|
||||||
|
end
|
||||||
|
|
||||||
|
local petName = UnitName("pet")
|
||||||
|
if petName then HealBot_NameToUnitID[petName] = "pet" end
|
||||||
|
|
||||||
|
for i=1, 40 do
|
||||||
|
local unit = "raid"..i
|
||||||
|
name = UnitName(unit)
|
||||||
|
if name then HealBot_NameToUnitID[name] = unit end
|
||||||
|
unit = "raidpet"..i
|
||||||
|
name = UnitName(unit)
|
||||||
|
if name then HealBot_NameToUnitID[name] = unit end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_FindUnitID: Finds a unit token for a given player name.
|
-- HealBot_FindUnitID: Finds a unit token for a given player name.
|
||||||
function HealBot_FindUnitID(unitname)
|
function HealBot_FindUnitID(unitname)
|
||||||
local text;
|
if not unitname then return nil end
|
||||||
for _,unit in ipairs(HealBot_Action_HealGroup) do
|
return HealBot_NameToUnitID[unitname]
|
||||||
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
|
end
|
||||||
|
|
||||||
-- HealBot_PlaySound: Plays an audio alert based on ID.
|
-- HealBot_PlaySound: Plays an audio alert based on ID.
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
## Interface: 11200
|
## Interface: 11200
|
||||||
## Title: HealBotBlue
|
## Title: HealBotBlue
|
||||||
## Version: 1.7.3
|
## Version: 1.7.6
|
||||||
## Author: Bluewhale
|
## Author: Bluewhale
|
||||||
## Notes: Raidframe replacement for healing, decursing, resource tracking and buffing with optional support for SuperWow, ClassicAPI, UnitXP_SP3 and Nampower.
|
## Notes: Raidframe replacement for healing, decursing, resource tracking and buffing with optional support for SuperWow, ClassicAPI, UnitXP_SP3 and Nampower.
|
||||||
## SavedVariablesPerCharacter: HealBot_Config
|
## SavedVariablesPerCharacter: HealBot_Config
|
||||||
|
|||||||
@@ -2,11 +2,16 @@
|
|||||||
|
|
||||||
-- HealBot_AlwaysHeal: Returns true if healthy units should be shown.
|
-- HealBot_AlwaysHeal: Returns true if healthy units should be shown.
|
||||||
function HealBot_AlwaysHeal()
|
function HealBot_AlwaysHeal()
|
||||||
|
local class = HealBot_UnitClass("player")
|
||||||
|
if class ~= "PRIEST" and class ~= "DRUID" and class ~= "PALADIN" and class ~= "SHAMAN" then
|
||||||
|
return true
|
||||||
|
end
|
||||||
return HealBot_Config.EnableHealthy==1
|
return HealBot_Config.EnableHealthy==1
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_MayHeal: Checks if unit is eligible for healing UI.
|
-- HealBot_MayHeal: Checks if unit is eligible for healing UI.
|
||||||
function HealBot_MayHeal(unit)
|
function HealBot_MayHeal(unit)
|
||||||
|
if string.find(unit, "^Test") then return true end
|
||||||
if not UnitName(unit) or not HealBot_Heals[unit] then return false end
|
if not UnitName(unit) or not HealBot_Heals[unit] then return false end
|
||||||
if unit ~= 'target' then return true end
|
if unit ~= 'target' then return true end
|
||||||
if not HealBot_Config.TargetHeals or UnitCanAttack("player",unit) then return false end
|
if not HealBot_Config.TargetHeals or UnitCanAttack("player",unit) then return false end
|
||||||
@@ -20,6 +25,7 @@ function HealBot_ShouldHeal(unit)
|
|||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if string.find(unit, "^Test") then return true end
|
||||||
return HealBot_MayHeal(unit) and UnitHealth(unit)>0 and not UnitIsDeadOrGhost(unit)
|
return HealBot_MayHeal(unit) and UnitHealth(unit)>0 and not UnitIsDeadOrGhost(unit)
|
||||||
and (UnitHealth(unit)<UnitHealthMax(unit)*HealBot_Config.AlertLevel or HealBot_AlwaysHeal());
|
and (UnitHealth(unit)<UnitHealthMax(unit)*HealBot_Config.AlertLevel or HealBot_AlwaysHeal());
|
||||||
end
|
end
|
||||||
@@ -33,6 +39,7 @@ end
|
|||||||
|
|
||||||
-- HealBot_MustHeal: Internal utility: HealBot_MustHeal
|
-- HealBot_MustHeal: Internal utility: HealBot_MustHeal
|
||||||
function HealBot_MustHeal(unit)
|
function HealBot_MustHeal(unit)
|
||||||
|
if string.find(unit, "^Test") then return true end
|
||||||
return HealBot_ShouldHeal(unit) and UnitHealth(unit)<UnitHealthMax(unit)*HealBot_Config.AlertLevel
|
return HealBot_ShouldHeal(unit) and UnitHealth(unit)<UnitHealthMax(unit)*HealBot_Config.AlertLevel
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -56,6 +63,15 @@ end
|
|||||||
|
|
||||||
-- HealBot_CanHeal: Internal utility: HealBot_CanHeal
|
-- HealBot_CanHeal: Internal utility: HealBot_CanHeal
|
||||||
function HealBot_CanHeal(unit)
|
function HealBot_CanHeal(unit)
|
||||||
|
if string.find(unit, "^Test") then return true end
|
||||||
|
local class = HealBot_UnitClass("player")
|
||||||
|
if class ~= "PRIEST" and class ~= "DRUID" and class ~= "PALADIN" and class ~= "SHAMAN" then
|
||||||
|
if UnitExists(unit) and not UnitIsDeadOrGhost(unit) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
if UnitIsDeadOrGhost(unit) then
|
if UnitIsDeadOrGhost(unit) then
|
||||||
local rezSpell = HealBot_GetRezSpellForClass();
|
local rezSpell = HealBot_GetRezSpellForClass();
|
||||||
if rezSpell and HealBot_GetHealSpell(unit, rezSpell) then
|
if rezSpell and HealBot_GetHealSpell(unit, rezSpell) then
|
||||||
|
|||||||
@@ -77,7 +77,11 @@ function HealBot_BonusScanner:ScanEquipment()
|
|||||||
|
|
||||||
HealBot_BonusTooltip:SetOwner(HealBot_BonusTooltip, "ANCHOR_NONE");
|
HealBot_BonusTooltip:SetOwner(HealBot_BonusTooltip, "ANCHOR_NONE");
|
||||||
HealBot_BonusScanner.temp.bonuses = 0;
|
HealBot_BonusScanner.temp.bonuses = 0;
|
||||||
HealBot_BonusScanner.temp.sets = {};
|
if not HealBot_BonusScanner.temp.sets then
|
||||||
|
HealBot_BonusScanner.temp.sets = {}
|
||||||
|
else
|
||||||
|
for k in pairs(HealBot_BonusScanner.temp.sets) do HealBot_BonusScanner.temp.sets[k] = nil end
|
||||||
|
end
|
||||||
HealBot_BonusScanner.temp.set = "";
|
HealBot_BonusScanner.temp.set = "";
|
||||||
for i, slotname in HealBot_BonusScanner.slots do
|
for i, slotname in HealBot_BonusScanner.slots do
|
||||||
slotid, _ = GetInventorySlotInfo(slotname.. "Slot");
|
slotid, _ = GetInventorySlotInfo(slotname.. "Slot");
|
||||||
|
|||||||
+102
-25
@@ -1,3 +1,4 @@
|
|||||||
|
local HealBot_Buff_Equivalents = nil
|
||||||
-- HealBot_Controller_Aura.lua
|
-- HealBot_Controller_Aura.lua
|
||||||
-- Handles tracking buffs/debuffs (auras) on group/raid units
|
-- Handles tracking buffs/debuffs (auras) on group/raid units
|
||||||
|
|
||||||
@@ -6,6 +7,7 @@ local StaticHasBuff = {}
|
|||||||
|
|
||||||
-- HealBot_UnitAffected: Checks if a specific buff/debuff exists on a unit.
|
-- HealBot_UnitAffected: Checks if a specific buff/debuff exists on a unit.
|
||||||
function HealBot_UnitAffected(unit, effect)
|
function HealBot_UnitAffected(unit, effect)
|
||||||
|
if string.find(unit, "^Test") then return nil; end
|
||||||
if not effect then return nil; end
|
if not effect then return nil; end
|
||||||
local i = 1
|
local i = 1
|
||||||
while true do
|
while true do
|
||||||
@@ -73,6 +75,7 @@ end
|
|||||||
|
|
||||||
-- HealBot_CheckBuffs: Scans unit for missing tracked buffs.
|
-- HealBot_CheckBuffs: Scans unit for missing tracked buffs.
|
||||||
function HealBot_CheckBuffs(unit)
|
function HealBot_CheckBuffs(unit)
|
||||||
|
if string.find(unit, "^Test") then return end
|
||||||
if HealBot_Config.BuffWatch ~= 1 then
|
if HealBot_Config.BuffWatch ~= 1 then
|
||||||
HealBot_MissingBuffs[unit] = nil
|
HealBot_MissingBuffs[unit] = nil
|
||||||
return
|
return
|
||||||
@@ -92,14 +95,52 @@ function HealBot_CheckBuffs(unit)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Group Buff Equivalents
|
if not HealBot_Buff_Equivalents then
|
||||||
local HealBot_Buff_Equivalents = {
|
HealBot_Buff_Equivalents = {
|
||||||
[HEALBOT_POWER_WORD_FORTITUDE] = HEALBOT_PRAYER_OF_FORTITUDE,
|
-- Priest Fortitude
|
||||||
[HEALBOT_DIVINE_SPIRIT] = HEALBOT_PRAYER_OF_SPIRIT,
|
[HEALBOT_POWER_WORD_FORTITUDE] = { HEALBOT_PRAYER_OF_FORTITUDE },
|
||||||
[HEALBOT_SHADOW_PROTECTION] = HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
|
[HEALBOT_PRAYER_OF_FORTITUDE] = { HEALBOT_POWER_WORD_FORTITUDE },
|
||||||
[HEALBOT_ARCANE_INTELLECT] = HEALBOT_ARCANE_BRILLIANCE,
|
-- Priest Spirit
|
||||||
[HEALBOT_MARK_OF_THE_WILD] = HEALBOT_GIFT_OF_THE_WILD,
|
[HEALBOT_DIVINE_SPIRIT] = { HEALBOT_PRAYER_OF_SPIRIT },
|
||||||
|
[HEALBOT_PRAYER_OF_SPIRIT] = { HEALBOT_DIVINE_SPIRIT },
|
||||||
|
-- Priest Shadow Protection
|
||||||
|
[HEALBOT_SHADOW_PROTECTION] = { HEALBOT_PRAYER_OF_SHADOW_PROTECTION },
|
||||||
|
[HEALBOT_PRAYER_OF_SHADOW_PROTECTION] = { HEALBOT_SHADOW_PROTECTION },
|
||||||
|
-- Mage Intellect
|
||||||
|
[HEALBOT_ARCANE_INTELLECT] = { HEALBOT_ARCANE_BRILLIANCE },
|
||||||
|
[HEALBOT_ARCANE_BRILLIANCE] = { HEALBOT_ARCANE_INTELLECT },
|
||||||
|
-- Mage Armors
|
||||||
|
[HEALBOT_FROST_ARMOR] = { HEALBOT_ICE_ARMOR },
|
||||||
|
[HEALBOT_ICE_ARMOR] = { HEALBOT_FROST_ARMOR },
|
||||||
|
-- Druid MotW
|
||||||
|
[HEALBOT_MARK_OF_THE_WILD] = { HEALBOT_GIFT_OF_THE_WILD },
|
||||||
|
[HEALBOT_GIFT_OF_THE_WILD] = { HEALBOT_MARK_OF_THE_WILD },
|
||||||
|
-- Paladin Kings
|
||||||
|
[HEALBOT_BLESSING_OF_KINGS] = { HEALBOT_GREATER_BLESSING_OF_KINGS },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_KINGS] = { HEALBOT_BLESSING_OF_KINGS },
|
||||||
|
-- Paladin Might
|
||||||
|
[HEALBOT_BLESSING_OF_MIGHT] = { HEALBOT_GREATER_BLESSING_OF_MIGHT },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_MIGHT] = { HEALBOT_BLESSING_OF_MIGHT },
|
||||||
|
-- Paladin Wisdom
|
||||||
|
[HEALBOT_BLESSING_OF_WISDOM] = { HEALBOT_GREATER_BLESSING_OF_WISDOM },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_WISDOM] = { HEALBOT_BLESSING_OF_WISDOM },
|
||||||
|
-- Paladin Salvation
|
||||||
|
[HEALBOT_BLESSING_OF_SALVATION] = { HEALBOT_GREATER_BLESSING_OF_SALVATION },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_SALVATION] = { HEALBOT_BLESSING_OF_SALVATION },
|
||||||
|
-- Paladin Light
|
||||||
|
[HEALBOT_BLESSING_OF_LIGHT] = { HEALBOT_GREATER_BLESSING_OF_LIGHT },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_LIGHT] = { HEALBOT_BLESSING_OF_LIGHT },
|
||||||
|
-- Paladin Sanctuary
|
||||||
|
[HEALBOT_BLESSING_OF_SANCTUARY] = { HEALBOT_GREATER_BLESSING_OF_SANCTUARY },
|
||||||
|
[HEALBOT_GREATER_BLESSING_OF_SANCTUARY] = { HEALBOT_BLESSING_OF_SANCTUARY },
|
||||||
|
-- Warlock Armors
|
||||||
|
[HEALBOT_DEMON_SKIN] = { HEALBOT_DEMON_ARMOR },
|
||||||
|
[HEALBOT_DEMON_ARMOR] = { HEALBOT_DEMON_SKIN },
|
||||||
|
-- Warlock Invisibility
|
||||||
|
[HEALBOT_DETECT_LESSER_INVISIBILITY] = { HEALBOT_DETECT_INVISIBILITY },
|
||||||
|
[HEALBOT_DETECT_INVISIBILITY] = { HEALBOT_DETECT_LESSER_INVISIBILITY },
|
||||||
}
|
}
|
||||||
|
end
|
||||||
|
|
||||||
-- Gather buffs on unit
|
-- Gather buffs on unit
|
||||||
local hasBuff = StaticHasBuff
|
local hasBuff = StaticHasBuff
|
||||||
@@ -107,13 +148,25 @@ function HealBot_CheckBuffs(unit)
|
|||||||
hasBuff[k] = nil
|
hasBuff[k] = nil
|
||||||
end
|
end
|
||||||
local i = 1
|
local i = 1
|
||||||
|
if not HealBot_TextureToName then HealBot_TextureToName = {} end
|
||||||
while true do
|
while true do
|
||||||
local buffTexture = UnitBuff(unit, i)
|
local buffTexture = UnitBuff(unit, i)
|
||||||
if not buffTexture then break end
|
if not buffTexture then break end
|
||||||
|
|
||||||
|
local buffName = HealBot_TextureToName[buffTexture]
|
||||||
|
if buffName == nil then
|
||||||
HealBot_ScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
|
HealBot_ScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
|
||||||
HealBot_ScanTooltip:ClearLines()
|
HealBot_ScanTooltip:ClearLines()
|
||||||
HealBot_ScanTooltip:SetUnitBuff(unit, i)
|
HealBot_ScanTooltip:SetUnitBuff(unit, i)
|
||||||
local buffName = HealBot_ScanTooltipTextLeft1:GetText()
|
local textObj = HealBot_ScanTooltipTextLeft1
|
||||||
|
if textObj then
|
||||||
|
buffName = textObj:GetText()
|
||||||
|
end
|
||||||
|
if buffName then
|
||||||
|
HealBot_TextureToName[buffTexture] = buffName
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if buffName then
|
if buffName then
|
||||||
hasBuff[buffName] = true
|
hasBuff[buffName] = true
|
||||||
end
|
end
|
||||||
@@ -127,13 +180,17 @@ function HealBot_CheckBuffs(unit)
|
|||||||
for j = 1, 8 do
|
for j = 1, 8 do
|
||||||
local val = HealBot_Config.BuffDropDowns[myClass][j]
|
local val = HealBot_Config.BuffDropDowns[myClass][j]
|
||||||
if val and val > 0 then
|
if val and val > 0 then
|
||||||
local isSelfOnly = (HealBot_Config.BuffWatchSelf and HealBot_Config.BuffWatchSelf[j] == 1)
|
|
||||||
if not (isSelfOnly and not UnitIsUnit(unit, "player")) then
|
|
||||||
local spellName = HealBot_Buff_Spells[myClass][val]
|
local spellName = HealBot_Buff_Spells[myClass][val]
|
||||||
|
local isSelfOnly = (HealBot_Config.BuffWatchSelf and HealBot_Config.BuffWatchSelf[j] == 1) or (HealBot_SelfOnly_Buffs and HealBot_SelfOnly_Buffs[spellName])
|
||||||
|
if not (isSelfOnly and not UnitIsUnit(unit, "player")) then
|
||||||
local hasIt = hasBuff[spellName]
|
local hasIt = hasBuff[spellName]
|
||||||
if not hasIt and HealBot_Buff_Equivalents[spellName] then
|
if not hasIt and HealBot_Buff_Equivalents[spellName] then
|
||||||
hasIt = hasBuff[HealBot_Buff_Equivalents[spellName]]
|
for _, equiv in ipairs(HealBot_Buff_Equivalents[spellName]) do
|
||||||
|
if hasBuff[equiv] then
|
||||||
|
hasIt = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not hasIt then
|
if not hasIt then
|
||||||
@@ -152,22 +209,12 @@ function HealBot_CheckBuffs(unit)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local HealBot_TrackedHoTs = {
|
|
||||||
["Interface\\Icons\\Spell_Holy_Renew"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Nature_Rejuvenation"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Nature_ResistNature"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Holy_PowerWordShield"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Holy_SealOfProtection"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Holy_Excorcism"] = true,
|
|
||||||
["Interface\\Icons\\btnholyscriptures"] = true,
|
|
||||||
["Interface\\Icons\\Spell_Holy_AshesToAshes"] = true,
|
|
||||||
}
|
|
||||||
|
|
||||||
local HealBot_DebuffTypeMap = nil
|
local HealBot_DebuffTypeMap = nil
|
||||||
local HealBot_AuraWarningPlayed = {}
|
local HealBot_AuraWarningPlayed = {}
|
||||||
|
|
||||||
-- HealBot_OnEvent_UnitAura: Updates debuff lists and icon textures on aura change.
|
-- HealBot_OnEvent_UnitAura: Updates debuff lists and icon textures on aura change.
|
||||||
function HealBot_OnEvent_UnitAura(this, unit)
|
function HealBot_OnEvent_UnitAura(this, unit)
|
||||||
|
if string.find(unit, "^Test") then return end
|
||||||
if not HealBot_DebuffTypeMap then
|
if not HealBot_DebuffTypeMap then
|
||||||
HealBot_DebuffTypeMap = {
|
HealBot_DebuffTypeMap = {
|
||||||
[HEALBOT_DISEASE] = HEALBOT_DISEASE_en,
|
[HEALBOT_DISEASE] = HEALBOT_DISEASE_en,
|
||||||
@@ -175,6 +222,9 @@ function HealBot_OnEvent_UnitAura(this, unit)
|
|||||||
[HEALBOT_POISON] = HEALBOT_POISON_en,
|
[HEALBOT_POISON] = HEALBOT_POISON_en,
|
||||||
[HEALBOT_CURSE] = HEALBOT_CURSE_en
|
[HEALBOT_CURSE] = HEALBOT_CURSE_en
|
||||||
}
|
}
|
||||||
|
if HealBot_Init_TrackedAuras then
|
||||||
|
HealBot_Init_TrackedAuras()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local DebuffType;
|
local DebuffType;
|
||||||
@@ -260,10 +310,12 @@ function HealBot_OnEvent_UnitAura(this, unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local b = 1
|
local b = 1
|
||||||
|
local activeBuffs = HealBot_GetTable()
|
||||||
while true do
|
while true do
|
||||||
local buff = UnitBuff(unit, b)
|
local buff = UnitBuff(unit, b)
|
||||||
if not buff then break end
|
if not buff then break end
|
||||||
if HealBot_TrackedHoTs[buff] and iconCount < 10 then
|
activeBuffs[buff] = true
|
||||||
|
if HealBot_TrackedAura_Textures and HealBot_TrackedAura_Textures[buff] and iconCount < 10 then
|
||||||
iconCount = iconCount + 1
|
iconCount = iconCount + 1
|
||||||
HealBot_UnitIcons[unit][iconCount] = buff
|
HealBot_UnitIcons[unit][iconCount] = buff
|
||||||
end
|
end
|
||||||
@@ -271,16 +323,41 @@ function HealBot_OnEvent_UnitAura(this, unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local d = 1
|
local d = 1
|
||||||
|
local activeDebuffs = HealBot_GetTable()
|
||||||
while true do
|
while true do
|
||||||
local debuff = UnitDebuff(unit, d)
|
local debuff = UnitDebuff(unit, d)
|
||||||
if not debuff then break end
|
if not debuff then break end
|
||||||
if HealBot_TrackedHoTs[debuff] and iconCount < 10 then
|
activeDebuffs[debuff] = true
|
||||||
|
if HealBot_TrackedAura_Textures and HealBot_TrackedAura_Textures[debuff] and iconCount < 10 then
|
||||||
iconCount = iconCount + 1
|
iconCount = iconCount + 1
|
||||||
HealBot_UnitIcons[unit][iconCount] = debuff
|
HealBot_UnitIcons[unit][iconCount] = debuff
|
||||||
end
|
end
|
||||||
d = d + 1
|
d = d + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if HealBot_Integrations_Nampower_Active and HealBot_Nampower_Auras then
|
||||||
|
local guid = HealBot_GetUnitGUID and HealBot_GetUnitGUID(unit)
|
||||||
|
if guid then
|
||||||
|
if not HealBot_Nampower_NameCache then HealBot_Nampower_NameCache = HealBot_GetTable() end
|
||||||
|
HealBot_Nampower_NameCache[guid] = UnitName(unit)
|
||||||
|
|
||||||
|
if HealBot_Nampower_Auras[guid] then
|
||||||
|
for spellName, _ in pairs(HealBot_Nampower_Auras[guid]) do
|
||||||
|
local auraInfo = HealBot_TrackedAura_Spells and HealBot_TrackedAura_Spells[spellName]
|
||||||
|
if auraInfo then
|
||||||
|
local tex = auraInfo.texture
|
||||||
|
local isActive = auraInfo.isDebuff and activeDebuffs[tex] or activeBuffs[tex]
|
||||||
|
if not isActive then
|
||||||
|
HealBot_Nampower_Auras[guid][spellName] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
HealBot_ReleaseTable(activeBuffs)
|
||||||
|
HealBot_ReleaseTable(activeDebuffs)
|
||||||
|
|
||||||
if HealBot_UnitDebuff[unit] then
|
if HealBot_UnitDebuff[unit] then
|
||||||
if DebuffType and HealBot_Range_Check(unit, 40) == 1 then
|
if DebuffType and HealBot_Range_Check(unit, 40) == 1 then
|
||||||
if HealBot_AuraWarningPlayed[unit] ~= DebuffType then
|
if HealBot_AuraWarningPlayed[unit] ~= DebuffType then
|
||||||
|
|||||||
@@ -30,8 +30,15 @@ function HealBot_AddChat(msg)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_AddDebug: Prints debug messages to internal chat channel.
|
-- HealBot_AddDebug: Prints debug messages to chat or internal debug channel.
|
||||||
function HealBot_AddDebug(msg)
|
function HealBot_AddDebug(msg)
|
||||||
|
if HealBot_Config and HealBot_Config.DebugMode == 1 then
|
||||||
|
if DEFAULT_CHAT_FRAME then
|
||||||
|
DEFAULT_CHAT_FRAME:AddMessage("|cFFFFD100[HB Debug]|r " .. msg);
|
||||||
|
end
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local chanid = HealBot_Get_DebugChan();
|
local chanid = HealBot_Get_DebugChan();
|
||||||
if chanid and HealBot_SpamCnt < 3 then
|
if chanid and HealBot_SpamCnt < 3 then
|
||||||
HealBot_SpamCnt = HealBot_SpamCnt + 1;
|
HealBot_SpamCnt = HealBot_SpamCnt + 1;
|
||||||
@@ -136,9 +143,17 @@ function HealBot_OnEvent_AddonMsg(this, addon_id, inc_msg, dist_target, sender_i
|
|||||||
-- Clear reusable args array
|
-- Clear reusable args array
|
||||||
for i=1, 10 do HealBot_Comms_Args[i] = nil end
|
for i=1, 10 do HealBot_Comms_Args[i] = nil end
|
||||||
local argCount = 0
|
local argCount = 0
|
||||||
for word in string.gfind(inc_msg, "[^/]+") do
|
local start_pos = 1
|
||||||
|
local next_pos = string.find(inc_msg, "/", start_pos, true)
|
||||||
|
while next_pos do
|
||||||
argCount = argCount + 1
|
argCount = argCount + 1
|
||||||
HealBot_Comms_Args[argCount] = word
|
HealBot_Comms_Args[argCount] = string.sub(inc_msg, start_pos, next_pos - 1)
|
||||||
|
start_pos = next_pos + 1
|
||||||
|
next_pos = string.find(inc_msg, "/", start_pos, true)
|
||||||
|
end
|
||||||
|
if start_pos <= string.len(inc_msg) then
|
||||||
|
argCount = argCount + 1
|
||||||
|
HealBot_Comms_Args[argCount] = string.sub(inc_msg, start_pos)
|
||||||
end
|
end
|
||||||
local cmd = HealBot_Comms_Args[1]
|
local cmd = HealBot_Comms_Args[1]
|
||||||
|
|
||||||
|
|||||||
@@ -172,12 +172,17 @@ function HealBot_OnUpdate(this, arg1)
|
|||||||
for unitID in pairs(powerToRefresh) do
|
for unitID in pairs(powerToRefresh) do
|
||||||
HealBot_Action_RefreshPower(unitID)
|
HealBot_Action_RefreshPower(unitID)
|
||||||
end
|
end
|
||||||
|
-- Periodic resolution of units with missing class identity
|
||||||
local powerID, _ = next(HealBot_View_DirtyPower)
|
if HealBot_Model and HealBot_Model.unresolvedUnits and next(HealBot_Model.unresolvedUnits) then
|
||||||
while powerID do
|
HealBot_UnresolvedTimer = (HealBot_UnresolvedTimer or 0) + arg1
|
||||||
HealBot_Action_RefreshPower(powerID)
|
if HealBot_UnresolvedTimer >= 0.5 then
|
||||||
HealBot_View_DirtyPower[powerID] = nil
|
HealBot_UnresolvedTimer = 0
|
||||||
powerID, _ = next(HealBot_View_DirtyPower)
|
for u in pairs(HealBot_Model.unresolvedUnits) do
|
||||||
|
if HealBot_Model:UpdateUnitIdentity(u) then
|
||||||
|
HealBot_View_DirtyUnits[u] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if HealBot_EquipChangeTimer > 0 then
|
if HealBot_EquipChangeTimer > 0 then
|
||||||
@@ -189,6 +194,26 @@ function HealBot_OnUpdate(this, arg1)
|
|||||||
HealBot_RecalcSpells();
|
HealBot_RecalcSpells();
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if HealBot_Config.HealBot_Integrations_ShowHoTTimers == 1 then
|
||||||
|
if not HealBot_HoT_Update_Timer or GetTime() >= HealBot_HoT_Update_Timer then
|
||||||
|
HealBot_HoT_Update_Timer = GetTime() + 0.25
|
||||||
|
if HealBot_UpdateActiveHoTTimers then
|
||||||
|
HealBot_UpdateActiveHoTTimers()
|
||||||
|
elseif HealBot_Action_UpdatePlayerHoTs then
|
||||||
|
HealBot_Action_UpdatePlayerHoTs()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (HealBot_PlayerHoTsListFrame and HealBot_PlayerHoTsListFrame:IsVisible()) or HealBot_Overlays_Active then
|
||||||
|
if HealBot_PlayerHoTsListFrame and HealBot_PlayerHoTsListFrame:IsVisible() then
|
||||||
|
HealBot_PlayerHoTsListFrame:Hide()
|
||||||
|
end
|
||||||
|
if HealBot_ClearHoTOverlays then
|
||||||
|
HealBot_ClearHoTOverlays()
|
||||||
|
end
|
||||||
|
HealBot_Overlays_Active = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
HealBot_Timer1 = HealBot_Timer1 + arg1;
|
HealBot_Timer1 = HealBot_Timer1 + arg1;
|
||||||
if HealBot_Timer1 >= 2.5 then
|
if HealBot_Timer1 >= 2.5 then
|
||||||
@@ -271,22 +296,30 @@ local HealBot_EventHandlers = {
|
|||||||
HealBot_OnEvent_PlayerTargetChanged(this)
|
HealBot_OnEvent_PlayerTargetChanged(this)
|
||||||
end,
|
end,
|
||||||
["PARTY_MEMBERS_CHANGED"] = function(this)
|
["PARTY_MEMBERS_CHANGED"] = function(this)
|
||||||
|
HealBot_Model:RefreshUnit("player")
|
||||||
for _, unit in ipairs(HealBot_Model.partyMembers) do
|
for _, unit in ipairs(HealBot_Model.partyMembers) do
|
||||||
HealBot_Model:RefreshUnit(unit)
|
HealBot_Model:RefreshUnit(unit)
|
||||||
end
|
end
|
||||||
for _, unit in ipairs(HealBot_Model.raidMembers) do
|
for _, unit in ipairs(HealBot_Model.raidMembers) do
|
||||||
HealBot_Model:RefreshUnit(unit)
|
HealBot_Model:RefreshUnit(unit)
|
||||||
end
|
end
|
||||||
|
if HealBot_Model and HealBot_Model.PopulateAllGUIDs then
|
||||||
|
HealBot_Model:PopulateAllGUIDs()
|
||||||
|
end
|
||||||
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
||||||
HealBot_OnEvent_PartyMembersChanged(this)
|
HealBot_OnEvent_PartyMembersChanged(this)
|
||||||
end,
|
end,
|
||||||
["RAID_ROSTER_UPDATE"] = function(this)
|
["RAID_ROSTER_UPDATE"] = function(this)
|
||||||
|
HealBot_Model:RefreshUnit("player")
|
||||||
for _, unit in ipairs(HealBot_Model.partyMembers) do
|
for _, unit in ipairs(HealBot_Model.partyMembers) do
|
||||||
HealBot_Model:RefreshUnit(unit)
|
HealBot_Model:RefreshUnit(unit)
|
||||||
end
|
end
|
||||||
for _, unit in ipairs(HealBot_Model.raidMembers) do
|
for _, unit in ipairs(HealBot_Model.raidMembers) do
|
||||||
HealBot_Model:RefreshUnit(unit)
|
HealBot_Model:RefreshUnit(unit)
|
||||||
end
|
end
|
||||||
|
if HealBot_Model and HealBot_Model.PopulateAllGUIDs then
|
||||||
|
HealBot_Model:PopulateAllGUIDs()
|
||||||
|
end
|
||||||
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
||||||
HealBot_OnEvent_PartyMembersChanged(this)
|
HealBot_OnEvent_PartyMembersChanged(this)
|
||||||
end,
|
end,
|
||||||
@@ -343,8 +376,6 @@ end
|
|||||||
|
|
||||||
-- HealBot_OnEvent_VariablesLoaded: Applies config defaults and initializes state.
|
-- HealBot_OnEvent_VariablesLoaded: Applies config defaults and initializes state.
|
||||||
function HealBot_OnEvent_VariablesLoaded(this)
|
function HealBot_OnEvent_VariablesLoaded(this)
|
||||||
local class = HealBot_UnitClass("player")
|
|
||||||
|
|
||||||
local function DeepCopyMissing(src, dest)
|
local function DeepCopyMissing(src, dest)
|
||||||
for k, v in pairs(src) do
|
for k, v in pairs(src) do
|
||||||
if type(v) == "table" then
|
if type(v) == "table" then
|
||||||
@@ -359,6 +390,11 @@ function HealBot_OnEvent_VariablesLoaded(this)
|
|||||||
end
|
end
|
||||||
DeepCopyMissing(HealBot_ConfigDefaults, HealBot_Config)
|
DeepCopyMissing(HealBot_ConfigDefaults, HealBot_Config)
|
||||||
|
|
||||||
|
local locClass = UnitClass("player")
|
||||||
|
if locClass and (not HealBot_Config.KeyCombo[locClass] or not next(HealBot_Config.KeyCombo[locClass])) then
|
||||||
|
HealBot_Config.KeyCombo[locClass] = { ["Left"] = "Target" }
|
||||||
|
end
|
||||||
|
|
||||||
local foundModern = false
|
local foundModern = false
|
||||||
if HealBot_Config.Skins then
|
if HealBot_Config.Skins then
|
||||||
for _, skin in ipairs(HealBot_Config.Skins) do
|
for _, skin in ipairs(HealBot_Config.Skins) do
|
||||||
@@ -387,7 +423,6 @@ function HealBot_OnEvent_VariablesLoaded(this)
|
|||||||
HidePartyFrame();
|
HidePartyFrame();
|
||||||
end
|
end
|
||||||
|
|
||||||
if class == "PRIEST" or class == "DRUID" or class == "PALADIN" or class == "SHAMAN" then
|
|
||||||
HealBot_BonusScanner:ScanEquipment();
|
HealBot_BonusScanner:ScanEquipment();
|
||||||
|
|
||||||
HealBot_Action_ShowFrame();
|
HealBot_Action_ShowFrame();
|
||||||
@@ -420,7 +455,6 @@ function HealBot_OnEvent_VariablesLoaded(this)
|
|||||||
this:RegisterEvent("PLAYER_ENTERING_WORLD");
|
this:RegisterEvent("PLAYER_ENTERING_WORLD");
|
||||||
HealBot_SpellsInitFlag = 2;
|
HealBot_SpellsInitFlag = 2;
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- HealBot_OnEvent_UnitHealth: Internal utility: HealBot_OnEvent_UnitHealth
|
-- HealBot_OnEvent_UnitHealth: Internal utility: HealBot_OnEvent_UnitHealth
|
||||||
function HealBot_OnEvent_UnitHealth(this, unit)
|
function HealBot_OnEvent_UnitHealth(this, unit)
|
||||||
@@ -505,6 +539,7 @@ end
|
|||||||
function HealBot_OnEvent_PartyMembersChanged(this)
|
function HealBot_OnEvent_PartyMembersChanged(this)
|
||||||
HealBot_Model:PreserveStateByGUID()
|
HealBot_Model:PreserveStateByGUID()
|
||||||
HealBot_Integrations_PruneNampower()
|
HealBot_Integrations_PruneNampower()
|
||||||
|
if HealBot_UpdateUnitIDCache then HealBot_UpdateUnitIDCache() end
|
||||||
if HealBot_IsFighting then
|
if HealBot_IsFighting then
|
||||||
HealBot_Action_PartyChanged()
|
HealBot_Action_PartyChanged()
|
||||||
end
|
end
|
||||||
@@ -564,12 +599,14 @@ 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");
|
||||||
|
if HealBot_CacheSpellIDs then HealBot_CacheSpellIDs() end
|
||||||
HealBot_SpellsInitFlag = 2;
|
HealBot_SpellsInitFlag = 2;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_OnEvent_TalentsChanged: Internal utility: HealBot_OnEvent_TalentsChanged
|
-- HealBot_OnEvent_TalentsChanged: Internal utility: HealBot_OnEvent_TalentsChanged
|
||||||
function HealBot_OnEvent_TalentsChanged(this, arg1)
|
function HealBot_OnEvent_TalentsChanged(this, arg1)
|
||||||
HealBot_AddDebug("HB: TalentsChanged");
|
HealBot_AddDebug("HB: TalentsChanged");
|
||||||
|
if HealBot_UpdateTalentRanks then HealBot_UpdateTalentRanks() end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_OnEvent_PlayerEnteringWorld: Internal utility: HealBot_OnEvent_PlayerEnteringWorld
|
-- HealBot_OnEvent_PlayerEnteringWorld: Internal utility: HealBot_OnEvent_PlayerEnteringWorld
|
||||||
@@ -579,6 +616,7 @@ function HealBot_OnEvent_PlayerEnteringWorld(this)
|
|||||||
if HealBot_ApplyRefreshHook then
|
if HealBot_ApplyRefreshHook then
|
||||||
HealBot_ApplyRefreshHook()
|
HealBot_ApplyRefreshHook()
|
||||||
end
|
end
|
||||||
|
if HealBot_UpdateUnitIDCache then HealBot_UpdateUnitIDCache() end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_OnEvent_SpellcastStart: Internal utility: HealBot_OnEvent_SpellcastStart
|
-- HealBot_OnEvent_SpellcastStart: Internal utility: HealBot_OnEvent_SpellcastStart
|
||||||
|
|||||||
@@ -8,13 +8,32 @@ function HealBot_ResetRangeScale()
|
|||||||
_scale = 0
|
_scale = 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local _rangeCache = {}
|
||||||
|
local _lastFrameTime = 0
|
||||||
|
|
||||||
-- HealBot_Range_Check: Checks if unit is in range via map distance or API.
|
-- HealBot_Range_Check: Checks if unit is in range via map distance or API.
|
||||||
function HealBot_Range_Check(unit, range)
|
function HealBot_Range_Check(unit, range)
|
||||||
|
local currentTime = GetTime()
|
||||||
|
if _lastFrameTime ~= currentTime then
|
||||||
|
for r, cacheTable in pairs(_rangeCache) do
|
||||||
|
for u in pairs(cacheTable) do
|
||||||
|
cacheTable[u] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
_lastFrameTime = currentTime
|
||||||
|
end
|
||||||
|
|
||||||
local return_val = 0;
|
local return_val = 0;
|
||||||
if not range then
|
if not range then
|
||||||
range = 40;
|
range = 40;
|
||||||
end
|
end
|
||||||
if ( unit == "player" ) then
|
|
||||||
|
_rangeCache[range] = _rangeCache[range] or {}
|
||||||
|
if _rangeCache[range][unit] ~= nil then
|
||||||
|
return _rangeCache[range][unit]
|
||||||
|
end
|
||||||
|
|
||||||
|
if ( unit and (unit == "player" or UnitIsUnit(unit, "player") or string.find(unit, "^Test")) ) then
|
||||||
return_val = 1;
|
return_val = 1;
|
||||||
elseif HealBot_Integrations_ClassicAPI_Active and UnitDistanceSquared and UnitInLineOfSight then
|
elseif HealBot_Integrations_ClassicAPI_Active and UnitDistanceSquared and UnitInLineOfSight then
|
||||||
local inSight = UnitInLineOfSight("player", unit)
|
local inSight = UnitInLineOfSight("player", unit)
|
||||||
@@ -56,5 +75,7 @@ function HealBot_Range_Check(unit, range)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
_rangeCache[range][unit] = return_val
|
||||||
return return_val;
|
return return_val;
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -34,28 +34,27 @@ function HealBot_GetSpellName(id)
|
|||||||
return spellName .. " (" .. subSpellName .. ")";
|
return spellName .. " (" .. subSpellName .. ")";
|
||||||
end
|
end
|
||||||
|
|
||||||
|
HealBot_SpellNameToId = {}
|
||||||
|
|
||||||
|
function HealBot_CacheSpellIDs()
|
||||||
|
HealBot_SpellNameToId = {}
|
||||||
|
local id = 1
|
||||||
|
while true do
|
||||||
|
local spellName, subSpellName = GetSpellName(id, BOOKTYPE_SPELL)
|
||||||
|
if not spellName then break end
|
||||||
|
if subSpellName and subSpellName ~= "" then
|
||||||
|
HealBot_SpellNameToId[spellName .. " (" .. subSpellName .. ")"] = id
|
||||||
|
HealBot_SpellNameToId[spellName .. "(" .. subSpellName .. ")"] = id
|
||||||
|
end
|
||||||
|
HealBot_SpellNameToId[spellName] = id
|
||||||
|
id = id + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_GetSpellId: Internal utility: HealBot_GetSpellId
|
-- HealBot_GetSpellId: Internal utility: HealBot_GetSpellId
|
||||||
function HealBot_GetSpellId(spell)
|
function HealBot_GetSpellId(spell)
|
||||||
local id, idd = 1, 0;
|
if not spell then return nil end
|
||||||
while true do
|
return HealBot_SpellNameToId[spell]
|
||||||
local spellName, subSpellName = GetSpellName(id, BOOKTYPE_SPELL);
|
|
||||||
if (spellName) then
|
|
||||||
if (spell == spellName .. " (" .. subSpellName .. ")") or (spell == spellName .. "(" .. subSpellName .. ")") then
|
|
||||||
return id;
|
|
||||||
end
|
|
||||||
if (spell == spellName) then
|
|
||||||
idd = id;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
break
|
|
||||||
end
|
|
||||||
id = id + 1;
|
|
||||||
end
|
|
||||||
if idd > 0 then
|
|
||||||
return idd
|
|
||||||
else
|
|
||||||
return nil;
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_CastSpellByName: Internal utility: HealBot_CastSpellByName
|
-- HealBot_CastSpellByName: Internal utility: HealBot_CastSpellByName
|
||||||
@@ -213,18 +212,6 @@ end
|
|||||||
function HealBot_StartCasting(spell, target, ttype)
|
function HealBot_StartCasting(spell, target, ttype)
|
||||||
HealBot_CastFailed = false;
|
HealBot_CastFailed = false;
|
||||||
|
|
||||||
-- Extract base spell for internal tracking
|
|
||||||
local baseSpell = spell
|
|
||||||
local parenIndex = string.find(spell, " %(")
|
|
||||||
if parenIndex then
|
|
||||||
baseSpell = string.sub(spell, 1, parenIndex - 1)
|
|
||||||
else
|
|
||||||
parenIndex = string.find(spell, "%(")
|
|
||||||
if parenIndex then
|
|
||||||
baseSpell = string.sub(spell, 1, parenIndex - 1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
HealBot_CastSpellByName(spell);
|
HealBot_CastSpellByName(spell);
|
||||||
if ( SpellCanTargetUnit(target) ) then
|
if ( SpellCanTargetUnit(target) ) then
|
||||||
SpellTargetUnit(target);
|
SpellTargetUnit(target);
|
||||||
@@ -238,11 +225,11 @@ function HealBot_StartCasting(spell, target, ttype)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if ttype == "fired" and HealBot_Spells[baseSpell] then
|
if ttype == "fired" and HealBot_Spells[spell] then
|
||||||
if not HealBot_CastFailed then
|
if not HealBot_CastFailed then
|
||||||
HealBot_CastingSpell = baseSpell;
|
HealBot_CastingSpell = spell;
|
||||||
HealBot_CastingTarget = target;
|
HealBot_CastingTarget = target;
|
||||||
HealBot_Process_HealValue(baseSpell, target);
|
HealBot_Process_HealValue(spell, target);
|
||||||
HealBot_AnnounceCast(spell, target);
|
HealBot_AnnounceCast(spell, target);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -486,7 +473,13 @@ end
|
|||||||
-- HealBot_AddHeal: Internal utility: HealBot_AddHeal
|
-- HealBot_AddHeal: Internal utility: HealBot_AddHeal
|
||||||
function HealBot_AddHeal(spell)
|
function HealBot_AddHeal(spell)
|
||||||
HealBot_SetSpellDefaults(spell);
|
HealBot_SetSpellDefaults(spell);
|
||||||
table.foreachi(HealBot_Spells[spell].Target, function (i, val)
|
local targetList = HealBot_Spells[spell].Target
|
||||||
|
if not targetList and HealBot_Spells[spell].Group and HealBot_Spells[HealBot_Spells[spell].Group] then
|
||||||
|
targetList = HealBot_Spells[HealBot_Spells[spell].Group].Target
|
||||||
|
end
|
||||||
|
if not targetList then targetList = {"player", "party", "pet"} end
|
||||||
|
table.foreachi(targetList, function (i, val)
|
||||||
|
if not HealBot_Heals[val] then HealBot_Heals[val] = {} end
|
||||||
table.insert(HealBot_Heals[val], spell);
|
table.insert(HealBot_Heals[val], spell);
|
||||||
end);
|
end);
|
||||||
HealBot_Spells[spell].BagSlot = HealBot_GetBagSlot(spell);
|
HealBot_Spells[spell].BagSlot = HealBot_GetBagSlot(spell);
|
||||||
@@ -498,6 +491,7 @@ function HealBot_FindHealSpells()
|
|||||||
if HealBot_SpellsInitFlag > 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 = {} };
|
||||||
|
RealHealing = 0;
|
||||||
|
|
||||||
table.foreach(HealBot_CurrentSpells, function (index, spell)
|
table.foreach(HealBot_CurrentSpells, function (index, spell)
|
||||||
if (HealBot_Spells[spell]) then
|
if (HealBot_Spells[spell]) then
|
||||||
@@ -517,7 +511,7 @@ function HealBot_FindHealSpells()
|
|||||||
temp_Spell_cast = HealBot_Spells[spell].CastTime;
|
temp_Spell_cast = HealBot_Spells[spell].CastTime;
|
||||||
end
|
end
|
||||||
RealHealing = ((HealBot_GetBonus() * healingbonus_penalty) * (temp_Spell_cast / 3.5));
|
RealHealing = ((HealBot_GetBonus() * healingbonus_penalty) * (temp_Spell_cast / 3.5));
|
||||||
local playerClass, englishClass = UnitClass("player");
|
local englishClass = HealBot_UnitClass("player");
|
||||||
local SpiBonus = 0;
|
local SpiBonus = 0;
|
||||||
if (englishClass == "PRIEST") then
|
if (englishClass == "PRIEST") then
|
||||||
SpiBonus = ((HealBot_SpiBonus(spell) * healingbonus_penalty) * (temp_Spell_cast / 3.5))
|
SpiBonus = ((HealBot_SpiBonus(spell) * healingbonus_penalty) * (temp_Spell_cast / 3.5))
|
||||||
@@ -541,12 +535,8 @@ function HealBot_FindHealSpells()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
table.foreach(HealBot_Heals, function (key, val)
|
|
||||||
if (table.getn(val) == 0) then
|
|
||||||
HealBot_Heals[key] = nil;
|
|
||||||
end
|
|
||||||
end);
|
|
||||||
HealBot_Heals.target = HealBot_Heals.party;
|
HealBot_Heals.target = HealBot_Heals.party;
|
||||||
|
HealBot_Heals.focus = HealBot_Heals.party;
|
||||||
for i = 1, 4 do
|
for i = 1, 4 do
|
||||||
HealBot_Heals["party" .. i] = HealBot_Heals.party;
|
HealBot_Heals["party" .. i] = HealBot_Heals.party;
|
||||||
HealBot_Heals["partypet" .. i] = HealBot_Heals.party;
|
HealBot_Heals["partypet" .. i] = HealBot_Heals.party;
|
||||||
@@ -558,7 +548,7 @@ function HealBot_FindHealSpells()
|
|||||||
|
|
||||||
HealBot_ReleaseTable(items);
|
HealBot_ReleaseTable(items);
|
||||||
if HealBot_CalcEquipBonus then
|
if HealBot_CalcEquipBonus then
|
||||||
HealBot_AddDebug("...Done Equip Bonus:" .. RealHealing);
|
HealBot_AddDebug("...Done Equip Bonus:" .. tostring(RealHealing or 0));
|
||||||
end
|
end
|
||||||
HealBot_CalcEquipBonus = false;
|
HealBot_CalcEquipBonus = false;
|
||||||
end
|
end
|
||||||
@@ -580,10 +570,14 @@ end
|
|||||||
|
|
||||||
-- HealBot_GetHealSpell: Resolves spell rank based on health deficit.
|
-- HealBot_GetHealSpell: Resolves spell rank based on health deficit.
|
||||||
function HealBot_GetHealSpell(unit, pattern)
|
function HealBot_GetHealSpell(unit, pattern)
|
||||||
|
if not string.find(unit, "^Test") then
|
||||||
if (not UnitName(unit)) then return nil end;
|
if (not UnitName(unit)) then return nil end;
|
||||||
|
end
|
||||||
if not pattern then return nil end;
|
if not pattern then return nil end;
|
||||||
if UnitOnTaxi("player") then return nil end;
|
if UnitOnTaxi("player") then return nil end;
|
||||||
|
if not string.find(unit, "^Test") then
|
||||||
if HealBot_Config.ProtectPvP == 1 and UnitIsPVP(unit) and not UnitIsPVP("player") then return nil end
|
if HealBot_Config.ProtectPvP == 1 and UnitIsPVP(unit) and not UnitIsPVP("player") then return nil end
|
||||||
|
end
|
||||||
if HealBot_UnitClass("player") == "DRUID" then
|
if HealBot_UnitClass("player") == "DRUID" then
|
||||||
if HealBot_GetShapeshiftForm() and HealBot_Config.AutoUnshift ~= 1 then return nil end;
|
if HealBot_GetShapeshiftForm() and HealBot_Config.AutoUnshift ~= 1 then return nil end;
|
||||||
end
|
end
|
||||||
@@ -593,6 +587,11 @@ function HealBot_GetHealSpell(unit, pattern)
|
|||||||
return pattern;
|
return pattern;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Handle Special Targeting Pattern
|
||||||
|
if string.lower(pattern) == "target" then
|
||||||
|
return pattern;
|
||||||
|
end
|
||||||
|
|
||||||
-- Handle Spells
|
-- Handle Spells
|
||||||
if HealBot_Spells[pattern] or HealBot_GetSpellId(pattern) then
|
if HealBot_Spells[pattern] or HealBot_GetSpellId(pattern) then
|
||||||
local spell = HealBot_GetSpellName(HealBot_GetSpellId(pattern)) or pattern
|
local spell = HealBot_GetSpellName(HealBot_GetSpellId(pattern)) or pattern
|
||||||
@@ -648,7 +647,6 @@ function HealBot_RecalcParty()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HealBot_Action_RefreshButtons();
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_RecalcSpells: Recalculates spells and updates layout.
|
-- HealBot_RecalcSpells: Recalculates spells and updates layout.
|
||||||
@@ -657,17 +655,24 @@ function HealBot_RecalcSpells()
|
|||||||
HealBot_RecalcParty();
|
HealBot_RecalcParty();
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_GetTalentRank: Internal utility: HealBot_GetTalentRank
|
HealBot_TalentRanks = {}
|
||||||
function HealBot_GetTalentRank(talentName)
|
|
||||||
|
function HealBot_UpdateTalentRanks()
|
||||||
|
HealBot_TalentRanks = {}
|
||||||
for t = 1, GetNumTalentTabs() do
|
for t = 1, GetNumTalentTabs() do
|
||||||
for i = 1, GetNumTalents(t) do
|
for i = 1, GetNumTalents(t) do
|
||||||
local nameTalent, icon, tier, column, currRank, maxRank = GetTalentInfo(t, i);
|
local nameTalent, icon, tier, column, currRank, maxRank = GetTalentInfo(t, i)
|
||||||
if nameTalent == talentName then
|
if nameTalent then
|
||||||
return currRank;
|
HealBot_TalentRanks[nameTalent] = currRank
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return 0;
|
end
|
||||||
|
|
||||||
|
-- HealBot_GetTalentRank: Internal utility: HealBot_GetTalentRank
|
||||||
|
function HealBot_GetTalentRank(talentName)
|
||||||
|
if not next(HealBot_TalentRanks) then HealBot_UpdateTalentRanks() end
|
||||||
|
return HealBot_TalentRanks[talentName] or 0
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_SpiBonus: Internal utility: HealBot_SpiBonus
|
-- HealBot_SpiBonus: Internal utility: HealBot_SpiBonus
|
||||||
@@ -702,6 +707,7 @@ end
|
|||||||
|
|
||||||
-- HealBot_InitSpells: Scans spellbook to find available heals.
|
-- HealBot_InitSpells: Scans spellbook to find available heals.
|
||||||
function HealBot_InitSpells()
|
function HealBot_InitSpells()
|
||||||
|
HealBot_CacheSpellIDs()
|
||||||
local id = 1
|
local id = 1
|
||||||
local cnt = 0;
|
local cnt = 0;
|
||||||
local class = HealBot_UnitClass("player")
|
local class = HealBot_UnitClass("player")
|
||||||
|
|||||||
+133
-2
@@ -1,4 +1,5 @@
|
|||||||
HealBot_ConfigDefaults = {
|
HealBot_ConfigDefaults = {
|
||||||
|
DebugMode = 0,
|
||||||
ShowManaBars=0,
|
ShowManaBars=0,
|
||||||
ManaBarsHealersOnly=0,
|
ManaBarsHealersOnly=0,
|
||||||
Version = HEALBOT_VERSION,
|
Version = HEALBOT_VERSION,
|
||||||
@@ -65,12 +66,22 @@ HealBot_ConfigDefaults = {
|
|||||||
[HEALBOT_PALADIN] = 1,
|
[HEALBOT_PALADIN] = 1,
|
||||||
[HEALBOT_PRIEST] = 1,
|
[HEALBOT_PRIEST] = 1,
|
||||||
[HEALBOT_SHAMAN] = 1,
|
[HEALBOT_SHAMAN] = 1,
|
||||||
|
[HEALBOT_MAGE] = 1,
|
||||||
|
[HEALBOT_WARRIOR] = 1,
|
||||||
|
[HEALBOT_ROGUE] = 1,
|
||||||
|
[HEALBOT_HUNTER] = 1,
|
||||||
|
[HEALBOT_WARLOCK] = 1,
|
||||||
},
|
},
|
||||||
Debuff_Right = {
|
Debuff_Right = {
|
||||||
[HEALBOT_DRUID] = 1,
|
[HEALBOT_DRUID] = 1,
|
||||||
[HEALBOT_PALADIN] = 1,
|
[HEALBOT_PALADIN] = 1,
|
||||||
[HEALBOT_PRIEST] = 1,
|
[HEALBOT_PRIEST] = 1,
|
||||||
[HEALBOT_SHAMAN] = 1,
|
[HEALBOT_SHAMAN] = 1,
|
||||||
|
[HEALBOT_MAGE] = 1,
|
||||||
|
[HEALBOT_WARRIOR] = 1,
|
||||||
|
[HEALBOT_ROGUE] = 1,
|
||||||
|
[HEALBOT_HUNTER] = 1,
|
||||||
|
[HEALBOT_WARLOCK] = 1,
|
||||||
},
|
},
|
||||||
BuffWatch = 1,
|
BuffWatch = 1,
|
||||||
BuffWatchInCombat = 0,
|
BuffWatchInCombat = 0,
|
||||||
@@ -186,13 +197,28 @@ HealBot_ConfigDefaults = {
|
|||||||
["ShiftCtrlRight"] = HEALBOT_HEALING_WAVE .. HEALBOT_RANK_4,
|
["ShiftCtrlRight"] = HEALBOT_HEALING_WAVE .. HEALBOT_RANK_4,
|
||||||
["Middle"] = HEALBOT_CHAIN_HEAL,
|
["Middle"] = HEALBOT_CHAIN_HEAL,
|
||||||
},
|
},
|
||||||
|
[HEALBOT_WARRIOR] = {
|
||||||
|
["Left"] = "Target",
|
||||||
|
},
|
||||||
|
[HEALBOT_MAGE] = {
|
||||||
|
["Left"] = "Target",
|
||||||
|
},
|
||||||
|
[HEALBOT_ROGUE] = {
|
||||||
|
["Left"] = "Target",
|
||||||
|
},
|
||||||
|
[HEALBOT_HUNTER] = {
|
||||||
|
["Left"] = "Target",
|
||||||
|
},
|
||||||
|
[HEALBOT_WARLOCK] = {
|
||||||
|
["Left"] = "Target",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
EnableHealthy = 0,
|
EnableHealthy = 0,
|
||||||
ShowNonManaBars = 0,
|
ShowNonManaBars = 0,
|
||||||
ActionVisible = 0,
|
ActionVisible = 0,
|
||||||
ActionMouseover = 1,
|
ActionMouseover = 1,
|
||||||
CDCLeftText = {[HEALBOT_PRIEST]="None", [HEALBOT_SHAMAN]="None", [HEALBOT_DRUID]="None", [HEALBOT_PALADIN]="None",},
|
CDCLeftText = {[HEALBOT_PRIEST]="None", [HEALBOT_SHAMAN]="None", [HEALBOT_DRUID]="None", [HEALBOT_PALADIN]="None", [HEALBOT_MAGE]="None", [HEALBOT_WARRIOR]="None", [HEALBOT_ROGUE]="None", [HEALBOT_HUNTER]="None", [HEALBOT_WARLOCK]="None",},
|
||||||
CDCRightText = {[HEALBOT_PRIEST]="None", [HEALBOT_SHAMAN]="None", [HEALBOT_DRUID]="None", [HEALBOT_PALADIN]="None",},
|
CDCRightText = {[HEALBOT_PRIEST]="None", [HEALBOT_SHAMAN]="None", [HEALBOT_DRUID]="None", [HEALBOT_PALADIN]="None", [HEALBOT_MAGE]="None", [HEALBOT_WARRIOR]="None", [HEALBOT_ROGUE]="None", [HEALBOT_HUNTER]="None", [HEALBOT_WARLOCK]="None",},
|
||||||
Current_Skin = "Modern Flat",
|
Current_Skin = "Modern Flat",
|
||||||
Skin_ID = 1,
|
Skin_ID = 1,
|
||||||
Skins = {"Modern Flat", HEALBOT_SKINS_STD, "HealBot Party", "HealBot Raid", "Alteric Valley"},
|
Skins = {"Modern Flat", HEALBOT_SKINS_STD, "HealBot Party", "HealBot Raid", "Alteric Valley"},
|
||||||
@@ -248,6 +274,13 @@ HealBot_ConfigDefaults = {
|
|||||||
bboffset = {[HEALBOT_SKINS_STD] = 16, ["HealBot Party"] = 16, ["HealBot Raid"] = 16, ["Alteric Valley"] = 16, ["Modern Flat"] = 3},
|
bboffset = {[HEALBOT_SKINS_STD] = 16, ["HealBot Party"] = 16, ["HealBot Raid"] = 16, ["Alteric Valley"] = 16, ["Modern Flat"] = 3},
|
||||||
bfontoutline = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 1},
|
bfontoutline = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 1},
|
||||||
biconsize = {[HEALBOT_SKINS_STD] = 12, ["HealBot Party"] = 12, ["HealBot Raid"] = 12, ["Alteric Valley"] = 12, ["Modern Flat"] = 12},
|
biconsize = {[HEALBOT_SKINS_STD] = 12, ["HealBot Party"] = 12, ["HealBot Raid"] = 12, ["Alteric Valley"] = 12, ["Modern Flat"] = 12},
|
||||||
|
bcolormaxr = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 0},
|
||||||
|
bcolormaxg = {[HEALBOT_SKINS_STD] = 1, ["HealBot Party"] = 1, ["HealBot Raid"] = 1, ["Alteric Valley"] = 1, ["Modern Flat"] = 1},
|
||||||
|
bcolormaxb = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 0},
|
||||||
|
bcolorminr = {[HEALBOT_SKINS_STD] = 1, ["HealBot Party"] = 1, ["HealBot Raid"] = 1, ["Alteric Valley"] = 1, ["Modern Flat"] = 1},
|
||||||
|
bcolorming = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 0},
|
||||||
|
bcolorminb = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 0},
|
||||||
|
bfont = {[HEALBOT_SKINS_STD] = "Fonts\\FRIZQT__.TTF", ["HealBot Party"] = "Fonts\\FRIZQT__.TTF", ["HealBot Raid"] = "Fonts\\FRIZQT__.TTF", ["Alteric Valley"] = "Fonts\\FRIZQT__.TTF", ["Modern Flat"] = "Fonts\\FRIZQT__.TTF"},
|
||||||
ShowTooltip = 1,
|
ShowTooltip = 1,
|
||||||
ShowManaBars = 0,
|
ShowManaBars = 0,
|
||||||
ManaBarsHealersOnly = 0,
|
ManaBarsHealersOnly = 0,
|
||||||
@@ -260,6 +293,9 @@ HealBot_ConfigDefaults = {
|
|||||||
HealBot_Integrations_Nampower = 0,
|
HealBot_Integrations_Nampower = 0,
|
||||||
HealBot_Integrations_SuperWoW = 0,
|
HealBot_Integrations_SuperWoW = 0,
|
||||||
HealBot_Integrations_ClassicAPI = 0,
|
HealBot_Integrations_ClassicAPI = 0,
|
||||||
|
HealBot_Integrations_ShowHoTTimers = 0,
|
||||||
|
HealBot_Integrations_HoTTimerPosition = "BELOW",
|
||||||
|
HealBot_Integrations_HoTTimerDisplayMode = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
HealBot_Config = {};
|
HealBot_Config = {};
|
||||||
@@ -501,6 +537,9 @@ HealBot_Debuff_Spells = {
|
|||||||
HEALBOT_CURE_POISON,
|
HEALBOT_CURE_POISON,
|
||||||
HEALBOT_CURE_DISEASE,
|
HEALBOT_CURE_DISEASE,
|
||||||
},
|
},
|
||||||
|
[HEALBOT_MAGE] = {
|
||||||
|
HEALBOT_REMOVE_LESSER_CURSE,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
HealBot_Buff_Spells = {
|
HealBot_Buff_Spells = {
|
||||||
@@ -511,6 +550,13 @@ HealBot_Buff_Spells = {
|
|||||||
HEALBOT_BLESSING_OF_SALVATION,
|
HEALBOT_BLESSING_OF_SALVATION,
|
||||||
HEALBOT_BLESSING_OF_LIGHT,
|
HEALBOT_BLESSING_OF_LIGHT,
|
||||||
HEALBOT_BLESSING_OF_SANCTUARY,
|
HEALBOT_BLESSING_OF_SANCTUARY,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_KINGS,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_MIGHT,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_WISDOM,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SALVATION,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_LIGHT,
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SANCTUARY,
|
||||||
|
HEALBOT_RIGHTEOUS_FURY,
|
||||||
},
|
},
|
||||||
[HEALBOT_DRUID] = {
|
[HEALBOT_DRUID] = {
|
||||||
HEALBOT_MARK_OF_THE_WILD,
|
HEALBOT_MARK_OF_THE_WILD,
|
||||||
@@ -527,6 +573,7 @@ HealBot_Buff_Spells = {
|
|||||||
HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
|
HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
|
||||||
HEALBOT_INNER_FIRE,
|
HEALBOT_INNER_FIRE,
|
||||||
HEALBOT_FEAR_WARD,
|
HEALBOT_FEAR_WARD,
|
||||||
|
HEALBOT_SHADOWFORM,
|
||||||
HEALBOT_ENLIGHTEN,
|
HEALBOT_ENLIGHTEN,
|
||||||
},
|
},
|
||||||
[HEALBOT_MAGE] = {
|
[HEALBOT_MAGE] = {
|
||||||
@@ -534,13 +581,63 @@ HealBot_Buff_Spells = {
|
|||||||
HEALBOT_ARCANE_BRILLIANCE,
|
HEALBOT_ARCANE_BRILLIANCE,
|
||||||
HEALBOT_DAMPEN_MAGIC,
|
HEALBOT_DAMPEN_MAGIC,
|
||||||
HEALBOT_AMPLIFY_MAGIC,
|
HEALBOT_AMPLIFY_MAGIC,
|
||||||
|
HEALBOT_FROST_ARMOR,
|
||||||
|
HEALBOT_ICE_ARMOR,
|
||||||
|
HEALBOT_MAGE_ARMOR,
|
||||||
|
HEALBOT_ICE_BARRIER,
|
||||||
},
|
},
|
||||||
[HEALBOT_SHAMAN] = {
|
[HEALBOT_SHAMAN] = {
|
||||||
HEALBOT_ROCKBITER_WEAPON,
|
HEALBOT_ROCKBITER_WEAPON,
|
||||||
HEALBOT_FLAMETONGUE_WEAPON,
|
HEALBOT_FLAMETONGUE_WEAPON,
|
||||||
HEALBOT_FROSTBRAND_WEAPON,
|
HEALBOT_FROSTBRAND_WEAPON,
|
||||||
HEALBOT_WINDFURY_WEAPON,
|
HEALBOT_WINDFURY_WEAPON,
|
||||||
|
HEALBOT_LIGHTNING_SHIELD,
|
||||||
|
HEALBOT_WATER_SHIELD,
|
||||||
|
HEALBOT_WATER_WALKING,
|
||||||
|
HEALBOT_WATER_BREATHING,
|
||||||
},
|
},
|
||||||
|
[HEALBOT_WARRIOR] = {
|
||||||
|
HEALBOT_BATTLE_SHOUT,
|
||||||
|
},
|
||||||
|
[HEALBOT_WARLOCK] = {
|
||||||
|
HEALBOT_DEMON_SKIN,
|
||||||
|
HEALBOT_DEMON_ARMOR,
|
||||||
|
HEALBOT_UNENDING_BREATH,
|
||||||
|
HEALBOT_DETECT_LESSER_INVISIBILITY,
|
||||||
|
HEALBOT_DETECT_INVISIBILITY,
|
||||||
|
},
|
||||||
|
[HEALBOT_HUNTER] = {
|
||||||
|
HEALBOT_TRUESHOT_AURA,
|
||||||
|
HEALBOT_ASPECT_OF_THE_HAWK,
|
||||||
|
HEALBOT_ASPECT_OF_THE_MONKEY,
|
||||||
|
HEALBOT_ASPECT_OF_THE_CHEETAH,
|
||||||
|
HEALBOT_ASPECT_OF_THE_PACK,
|
||||||
|
HEALBOT_ASPECT_OF_THE_WILD,
|
||||||
|
HEALBOT_ASPECT_OF_THE_BEAST,
|
||||||
|
},
|
||||||
|
[HEALBOT_ROGUE] = {},
|
||||||
|
}
|
||||||
|
|
||||||
|
HealBot_SelfOnly_Buffs = {
|
||||||
|
[HEALBOT_DEMON_SKIN] = true,
|
||||||
|
[HEALBOT_DEMON_ARMOR] = true,
|
||||||
|
[HEALBOT_ASPECT_OF_THE_HAWK] = true,
|
||||||
|
[HEALBOT_ASPECT_OF_THE_MONKEY] = true,
|
||||||
|
[HEALBOT_ASPECT_OF_THE_CHEETAH] = true,
|
||||||
|
[HEALBOT_ASPECT_OF_THE_BEAST] = true,
|
||||||
|
[HEALBOT_FROST_ARMOR] = true,
|
||||||
|
[HEALBOT_ICE_ARMOR] = true,
|
||||||
|
[HEALBOT_MAGE_ARMOR] = true,
|
||||||
|
[HEALBOT_ICE_BARRIER] = true,
|
||||||
|
[HEALBOT_RIGHTEOUS_FURY] = true,
|
||||||
|
[HEALBOT_INNER_FIRE] = true,
|
||||||
|
[HEALBOT_SHADOWFORM] = true,
|
||||||
|
[HEALBOT_LIGHTNING_SHIELD] = true,
|
||||||
|
[HEALBOT_WATER_SHIELD] = true,
|
||||||
|
[HEALBOT_ROCKBITER_WEAPON] = true,
|
||||||
|
[HEALBOT_FLAMETONGUE_WEAPON] = true,
|
||||||
|
[HEALBOT_FROSTBRAND_WEAPON] = true,
|
||||||
|
[HEALBOT_WINDFURY_WEAPON] = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
HealBot_Debuff_Types = {
|
HealBot_Debuff_Types = {
|
||||||
@@ -553,6 +650,7 @@ HealBot_Debuff_Types = {
|
|||||||
[HEALBOT_ABOLISH_DISEASE] = {HEALBOT_DISEASE_en},
|
[HEALBOT_ABOLISH_DISEASE] = {HEALBOT_DISEASE_en},
|
||||||
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_1] = {HEALBOT_MAGIC_en},
|
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_1] = {HEALBOT_MAGIC_en},
|
||||||
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_2] = {HEALBOT_MAGIC_en},
|
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_2] = {HEALBOT_MAGIC_en},
|
||||||
|
[HEALBOT_REMOVE_LESSER_CURSE] = {HEALBOT_CURSE_en},
|
||||||
}
|
}
|
||||||
|
|
||||||
HealBot_IsFighting = false;
|
HealBot_IsFighting = false;
|
||||||
@@ -594,3 +692,36 @@ function HealBot_ReleaseTable(t)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
HealBot_TrackedAuras = {
|
||||||
|
["Renew"] = { texture = "Interface\\Icons\\Spell_Holy_Renew", isDebuff = false, showTimer = true, locKey = "HEALBOT_RENEW" },
|
||||||
|
["Rejuvenation"] = { texture = "Interface\\Icons\\Spell_Nature_Rejuvenation", isDebuff = false, showTimer = true, locKey = "HEALBOT_REJUVENATION" },
|
||||||
|
["Regrowth"] = { texture = "Interface\\Icons\\Spell_Nature_ResistNature", isDebuff = false, showTimer = true, locKey = "HEALBOT_REGROWTH" },
|
||||||
|
["Power Word: Shield"] = { texture = "Interface\\Icons\\Spell_Holy_PowerWordShield", isDebuff = false, showTimer = true, locKey = "HEALBOT_POWER_WORD_SHIELD" },
|
||||||
|
["Fear Ward"] = { texture = "Interface\\Icons\\Spell_Holy_Excorcism", isDebuff = false, showTimer = true, locKey = "HEALBOT_FEAR_WARD" },
|
||||||
|
["Abolish Disease"] = { texture = "Interface\\Icons\\Spell_Nature_NullifyDisease",isDebuff = false, showTimer = true, locKey = "HEALBOT_ABOLISH_DISEASE" },
|
||||||
|
["Abolish Poison"] = { texture = "Interface\\Icons\\Spell_Nature_NullifyPoison", isDebuff = false, showTimer = true, locKey = "HEALBOT_ABOLISH_POISON" },
|
||||||
|
["Weakened Soul"] = { texture = "Interface\\Icons\\Spell_Holy_AshesToAshes", isDebuff = true, showTimer = true, locKey = "HEALBOT_WEAKENED_SOUL" },
|
||||||
|
["Blessing of Protection"] = { texture = "Interface\\Icons\\Spell_Holy_SealOfProtection", isDebuff = false, showTimer = false },
|
||||||
|
["Holy Scriptures"] = { texture = "Interface\\Icons\\btnholyscriptures", isDebuff = false, showTimer = false },
|
||||||
|
};
|
||||||
|
|
||||||
|
HealBot_TrackedAura_Textures = {};
|
||||||
|
HealBot_TrackedAura_Spells = {};
|
||||||
|
|
||||||
|
function HealBot_Init_TrackedAuras()
|
||||||
|
for spell, info in pairs(HealBot_TrackedAuras) do
|
||||||
|
info.spell = spell
|
||||||
|
HealBot_TrackedAura_Textures[info.texture] = info
|
||||||
|
HealBot_TrackedAura_Spells[spell] = info
|
||||||
|
if info.locKey then
|
||||||
|
local locName = getglobal(info.locKey)
|
||||||
|
if locName and locName ~= "" then
|
||||||
|
info.locName = locName
|
||||||
|
HealBot_TrackedAura_Spells[locName] = info
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
HealBot_Init_TrackedAuras();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+83
-31
@@ -10,6 +10,8 @@ function HealBot_GetUnitGUID(unit)
|
|||||||
return UnitGUID(unit)
|
return UnitGUID(unit)
|
||||||
elseif HealBot_Integrations_SuperWoW_Active and GetUnitGUID then
|
elseif HealBot_Integrations_SuperWoW_Active and GetUnitGUID then
|
||||||
return GetUnitGUID(unit)
|
return GetUnitGUID(unit)
|
||||||
|
elseif HealBot_Integrations_Nampower_Active and GetUnitGUID then
|
||||||
|
return GetUnitGUID(unit)
|
||||||
end
|
end
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
@@ -38,7 +40,16 @@ function HealBot_Integrations_Toggle()
|
|||||||
if not HealBot_Integrations_Nampower_Active then return end
|
if not HealBot_Integrations_Nampower_Active then return end
|
||||||
if event == "AURA_CAST_ON_SELF" or event == "AURA_CAST_ON_OTHER" then
|
if event == "AURA_CAST_ON_SELF" or event == "AURA_CAST_ON_OTHER" then
|
||||||
local spellID, caster, target, _, _, _, _, duration = arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
|
local spellID, caster, target, _, _, _, _, duration = arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
|
||||||
if not caster or not target or duration <= 0 then return end
|
if not caster or not target or not duration or duration <= 0 then return end
|
||||||
|
|
||||||
|
-- The player is ALWAYS the caster in these events for Nampower
|
||||||
|
if not HealBot_PlayerGUID then
|
||||||
|
HealBot_PlayerGUID = caster
|
||||||
|
if HealBot_Model and HealBot_Model.unitGUIDs then
|
||||||
|
HealBot_Model.unitGUIDs["player"] = caster
|
||||||
|
HealBot_Model.guidUnits[caster] = "player"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local spellName = GetSpellRecField(spellID, "name")
|
local spellName = GetSpellRecField(spellID, "name")
|
||||||
if not spellName then return end
|
if not spellName then return end
|
||||||
@@ -50,11 +61,33 @@ function HealBot_Integrations_Toggle()
|
|||||||
local expirationTime = GetTime() + (duration / 1000)
|
local expirationTime = GetTime() + (duration / 1000)
|
||||||
HealBot_Nampower_Auras[target][spellName] = expirationTime
|
HealBot_Nampower_Auras[target][spellName] = expirationTime
|
||||||
|
|
||||||
local unitID = HealBot_Model:GetUnitIDByName(target)
|
if not HealBot_Nampower_NameCache then HealBot_Nampower_NameCache = HealBot_GetTable() end
|
||||||
|
if event == "AURA_CAST_ON_SELF" then
|
||||||
|
HealBot_Nampower_NameCache[target] = UnitName("player")
|
||||||
|
HealBot_OnEvent_UnitAura(nil, "player")
|
||||||
|
else
|
||||||
|
local tName = nil
|
||||||
|
if UnitExists("target") then
|
||||||
|
local curTargetGuid = HealBot_GetUnitGUID and HealBot_GetUnitGUID("target")
|
||||||
|
if curTargetGuid and (curTargetGuid == target or string.lower(curTargetGuid) == string.lower(target)) then
|
||||||
|
tName = UnitName("target")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local unitID = HealBot_Model and HealBot_Model:GetUnitByGUID(target)
|
||||||
|
if not unitID and HealBot_PlayerGUID and (target == HealBot_PlayerGUID or string.lower(target) == string.lower(HealBot_PlayerGUID)) then
|
||||||
|
unitID = "player"
|
||||||
|
end
|
||||||
|
if not tName and unitID then
|
||||||
|
tName = UnitName(unitID) or (HealBot_Model and HealBot_Model.units[unitID] and HealBot_Model.units[unitID].name)
|
||||||
|
end
|
||||||
|
if tName then
|
||||||
|
HealBot_Nampower_NameCache[target] = tName
|
||||||
|
end
|
||||||
if unitID then
|
if unitID then
|
||||||
HealBot_OnEvent_UnitAura(nil, unitID)
|
HealBot_OnEvent_UnitAura(nil, unitID)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -68,35 +101,6 @@ function HealBot_Integrations_Toggle()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function HealBot_Integrations_PruneNampower()
|
|
||||||
if not HealBot_Integrations_Nampower_Active or not HealBot_Nampower_Auras then return end
|
|
||||||
|
|
||||||
local currentTime = GetTime()
|
|
||||||
for targetName, auras in pairs(HealBot_Nampower_Auras) do
|
|
||||||
-- Check if target is still in the raid/party
|
|
||||||
if not HealBot_Model:GetUnitIDByName(targetName) then
|
|
||||||
HealBot_ReleaseTable(auras)
|
|
||||||
HealBot_Nampower_Auras[targetName] = nil
|
|
||||||
else
|
|
||||||
-- Prune expired auras
|
|
||||||
local hasAuras = false
|
|
||||||
for spellName, expiration in pairs(auras) do
|
|
||||||
if currentTime > expiration then
|
|
||||||
auras[spellName] = nil
|
|
||||||
else
|
|
||||||
hasAuras = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if not hasAuras then
|
|
||||||
HealBot_ReleaseTable(auras)
|
|
||||||
HealBot_Nampower_Auras[targetName] = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- SuperWoW
|
-- SuperWoW
|
||||||
if HealBot_Config.HealBot_Integrations_SuperWoW == 1 and UnitExists ~= nil then
|
if HealBot_Config.HealBot_Integrations_SuperWoW == 1 and UnitExists ~= nil then
|
||||||
-- We can check if GetUnitGUID exists as a quick SuperWoW test, or UnitExists returns 2 args
|
-- We can check if GetUnitGUID exists as a quick SuperWoW test, or UnitExists returns 2 args
|
||||||
@@ -127,4 +131,52 @@ end
|
|||||||
HealBot_Integrations_ClassicAPI_Active = false;
|
HealBot_Integrations_ClassicAPI_Active = false;
|
||||||
HealBot_AddDebug("ClassicAPI Integration: DISABLED");
|
HealBot_AddDebug("ClassicAPI Integration: DISABLED");
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if HealBot_Model and HealBot_Model.PopulateAllGUIDs then
|
||||||
|
HealBot_Model:PopulateAllGUIDs()
|
||||||
|
end
|
||||||
|
|
||||||
|
if HealBot_Options_Integrations_ShowHoTTimers then
|
||||||
|
if HealBot_Integrations_Nampower_Active or HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active then
|
||||||
|
HealBot_Options_Integrations_ShowHoTTimers:Enable()
|
||||||
|
getglobal(HealBot_Options_Integrations_ShowHoTTimers:GetName().."Text"):SetTextColor(1, 1, 1)
|
||||||
|
else
|
||||||
|
HealBot_Options_Integrations_ShowHoTTimers:Disable()
|
||||||
|
getglobal(HealBot_Options_Integrations_ShowHoTTimers:GetName().."Text"):SetTextColor(0.5, 0.5, 0.5)
|
||||||
|
HealBot_Options_Integrations_ShowHoTTimers:SetChecked(0)
|
||||||
|
HealBot_Config.HealBot_Integrations_ShowHoTTimers = 0
|
||||||
|
end
|
||||||
|
if HealBot_Options_Integrations_UpdateDropdownStates then
|
||||||
|
HealBot_Options_Integrations_UpdateDropdownStates()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function HealBot_Integrations_PruneNampower()
|
||||||
|
if not HealBot_Integrations_Nampower_Active or not HealBot_Nampower_Auras then return end
|
||||||
|
|
||||||
|
local currentTime = GetTime()
|
||||||
|
for targetName, auras in pairs(HealBot_Nampower_Auras) do
|
||||||
|
-- Check if target is still in the raid/party, or is the player
|
||||||
|
local isPlayer = (HealBot_PlayerGUID and string.lower(targetName) == string.lower(HealBot_PlayerGUID))
|
||||||
|
or (UnitName("player") and string.lower(targetName) == string.lower(UnitName("player")))
|
||||||
|
if not isPlayer and not HealBot_Model:GetUnitByGUID(targetName) and not HealBot_Model:GetUnitIDByName(targetName) then
|
||||||
|
HealBot_ReleaseTable(auras)
|
||||||
|
HealBot_Nampower_Auras[targetName] = nil
|
||||||
|
else
|
||||||
|
-- Prune expired auras
|
||||||
|
local hasAuras = false
|
||||||
|
for spellName, expiration in pairs(auras) do
|
||||||
|
if currentTime > expiration then
|
||||||
|
auras[spellName] = nil
|
||||||
|
else
|
||||||
|
hasAuras = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not hasAuras then
|
||||||
|
HealBot_ReleaseTable(auras)
|
||||||
|
HealBot_Nampower_Auras[targetName] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -83,6 +83,59 @@ HEALBOT_POWER_WORD_FORTITUDE = "Machtwort: Seelenst\195\164rke";
|
|||||||
HEALBOT_MARK_OF_THE_WILD = "Mal der Wildnis";
|
HEALBOT_MARK_OF_THE_WILD = "Mal der Wildnis";
|
||||||
HEALBOT_BLESSING_OF_SALVATION = "Segen der Rettung";
|
HEALBOT_BLESSING_OF_SALVATION = "Segen der Rettung";
|
||||||
|
|
||||||
|
HEALBOT_BATTLE_SHOUT = "Schlachtruf";
|
||||||
|
HEALBOT_BLOODRAGE = "Blutrausch";
|
||||||
|
HEALBOT_BERSERKER_RAGE = "Berserkerwut";
|
||||||
|
|
||||||
|
HEALBOT_DEMON_SKIN = "D\195\164monenhaut";
|
||||||
|
HEALBOT_DEMON_ARMOR = "D\195\164monenr\195\188stung";
|
||||||
|
HEALBOT_UNENDING_BREATH = "Unendlicher Atem";
|
||||||
|
HEALBOT_DETECT_LESSER_INVISIBILITY = "Geringe Unsichtbarkeit entdecken";
|
||||||
|
HEALBOT_DETECT_INVISIBILITY = "Unsichtbarkeit entdecken";
|
||||||
|
HEALBOT_SHADOW_WARD = "Schattenzauberschutz";
|
||||||
|
HEALBOT_SOULSTONE_RESURRECTION = "Seelenstein-Auferstehung";
|
||||||
|
HEALBOT_FIRE_SHIELD = "Feuerschild";
|
||||||
|
|
||||||
|
HEALBOT_TRUESHOT_AURA = "Aura des Volltreffers";
|
||||||
|
HEALBOT_ASPECT_OF_THE_HAWK = "Aspekt des Falken";
|
||||||
|
HEALBOT_ASPECT_OF_THE_MONKEY = "Aspekt des Affen";
|
||||||
|
HEALBOT_ASPECT_OF_THE_CHEETAH = "Aspekt des Geparden";
|
||||||
|
HEALBOT_ASPECT_OF_THE_PACK = "Aspekt des Rudels";
|
||||||
|
HEALBOT_ASPECT_OF_THE_WILD = "Aspekt der Wildnis";
|
||||||
|
HEALBOT_ASPECT_OF_THE_BEAST = "Aspekt des Wildtiers";
|
||||||
|
|
||||||
|
HEALBOT_STEALTH = "Verstohlenheit";
|
||||||
|
HEALBOT_BLADE_FLURRY = "Klingenwirbel";
|
||||||
|
HEALBOT_EVASION = "Entrinnen";
|
||||||
|
HEALBOT_SPRINT = "Sprinten";
|
||||||
|
HEALBOT_SLICE_AND_DICE = "Zerh\195\164ckseln";
|
||||||
|
|
||||||
|
HEALBOT_FROST_ARMOR = "Frostr\195\188stung";
|
||||||
|
HEALBOT_ICE_ARMOR = "Eisr\195\188stung";
|
||||||
|
HEALBOT_MAGE_ARMOR = "Magische R\195\188stung";
|
||||||
|
HEALBOT_MANA_SHIELD = "Manaschild";
|
||||||
|
HEALBOT_ICE_BARRIER = "Eisbarriere";
|
||||||
|
HEALBOT_FIRE_WARD = "Feuerzauberschutz";
|
||||||
|
HEALBOT_FROST_WARD = "Frostzauberschutz";
|
||||||
|
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SALVATION = "Gro\195\159er Segen der Rettung";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_MIGHT = "Gro\195\159er Segen der Macht";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_WISDOM = "Gro\195\159er Segen der Weisheit";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_KINGS = "Gro\195\159er Segen der K\195\182nige";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_LIGHT = "Gro\195\159er Segen des Lichts";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SANCTUARY = "Gro\195\159er Segen des Unterschlupfs";
|
||||||
|
HEALBOT_RIGHTEOUS_FURY = "Zorn der Gerechtigkeit";
|
||||||
|
|
||||||
|
HEALBOT_SHADOWFORM = "Schattengestalt";
|
||||||
|
|
||||||
|
HEALBOT_BARKSKIN = "Baumrinde";
|
||||||
|
HEALBOT_NATURES_GRASP = "Griff der Natur";
|
||||||
|
|
||||||
|
HEALBOT_LIGHTNING_SHIELD = "Blitzschlagschild";
|
||||||
|
HEALBOT_WATER_SHIELD = "Wasserschild";
|
||||||
|
HEALBOT_WATER_WALKING = "Wasserwandeln";
|
||||||
|
HEALBOT_WATER_BREATHING = "Wasseratmung";
|
||||||
|
|
||||||
HEALBOT_RESURRECTION = "Auferstehung";
|
HEALBOT_RESURRECTION = "Auferstehung";
|
||||||
HEALBOT_REDEMPTION = "Erl\195\182sung";
|
HEALBOT_REDEMPTION = "Erl\195\182sung";
|
||||||
HEALBOT_REBIRTH = "Wiedergeburt";
|
HEALBOT_REBIRTH = "Wiedergeburt";
|
||||||
@@ -96,6 +149,7 @@ HEALBOT_DISPEL_MAGIC = "Magiebannung";
|
|||||||
HEALBOT_CURE_POISON = "Vergiftung heilen";
|
HEALBOT_CURE_POISON = "Vergiftung heilen";
|
||||||
HEALBOT_ABOLISH_POISON = "Vergiftung aufheben";
|
HEALBOT_ABOLISH_POISON = "Vergiftung aufheben";
|
||||||
HEALBOT_REMOVE_CURSE = "Fluch aufheben";
|
HEALBOT_REMOVE_CURSE = "Fluch aufheben";
|
||||||
|
HEALBOT_REMOVE_LESSER_CURSE= "Geringeren Fluch aufheben";
|
||||||
HEALBOT_DISEASE = "Krankheit";
|
HEALBOT_DISEASE = "Krankheit";
|
||||||
HEALBOT_MAGIC = "Magie";
|
HEALBOT_MAGIC = "Magie";
|
||||||
HEALBOT_CURSE = "Fluch";
|
HEALBOT_CURSE = "Fluch";
|
||||||
@@ -154,6 +208,7 @@ HEALBOT_BUFF_REGROWTH = "Interface\\Icons\\Spell_Nature_ResistNature"
|
|||||||
HEALBOT_BUFF_RENEW = "Interface\\Icons\\Spell_Holy_Renew";
|
HEALBOT_BUFF_RENEW = "Interface\\Icons\\Spell_Holy_Renew";
|
||||||
HEALBOT_BUFF_FEAR_WARD = "Interface\\Icons\\Spell_Holy_Excorcism";
|
HEALBOT_BUFF_FEAR_WARD = "Interface\\Icons\\Spell_Holy_Excorcism";
|
||||||
HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
|
HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
|
||||||
|
HEALBOT_WEAKENED_SOUL = "Geschw\195\164chte Seele";
|
||||||
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
|
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
|
||||||
|
|
||||||
|
|
||||||
@@ -242,6 +297,8 @@ HEALBOT_OPTIONS_NEWSKINTEXT = "Neuer Skin"
|
|||||||
HEALBOT_OPTIONS_SAVESKIN = "Speichern"
|
HEALBOT_OPTIONS_SAVESKIN = "Speichern"
|
||||||
HEALBOT_OPTIONS_SKINBARS = "Leisten Optionen"
|
HEALBOT_OPTIONS_SKINBARS = "Leisten Optionen"
|
||||||
HEALBOT_OPTIONS_SKINPANEL = "Panel Farben"
|
HEALBOT_OPTIONS_SKINPANEL = "Panel Farben"
|
||||||
|
HEALBOT_SKIN_MAXHPTEXT = "Max HP"
|
||||||
|
HEALBOT_SKIN_MINHPTEXT = "Min HP"
|
||||||
HEALBOT_SKIN_ENTEXT = "Aktiv"
|
HEALBOT_SKIN_ENTEXT = "Aktiv"
|
||||||
HEALBOT_SKIN_DISTEXT = "Inaktiv"
|
HEALBOT_SKIN_DISTEXT = "Inaktiv"
|
||||||
HEALBOT_SKIN_DEBTEXT = "Debuff"
|
HEALBOT_SKIN_DEBTEXT = "Debuff"
|
||||||
|
|||||||
@@ -95,6 +95,59 @@ HEALBOT_INNER_FIRE = "Inner Fire";
|
|||||||
HEALBOT_FEAR_WARD = "Fear Ward";
|
HEALBOT_FEAR_WARD = "Fear Ward";
|
||||||
HEALBOT_ENLIGHTEN = "Enlighten";
|
HEALBOT_ENLIGHTEN = "Enlighten";
|
||||||
|
|
||||||
|
HEALBOT_BATTLE_SHOUT = "Battle Shout";
|
||||||
|
HEALBOT_BLOODRAGE = "Bloodrage";
|
||||||
|
HEALBOT_BERSERKER_RAGE = "Berserker Rage";
|
||||||
|
|
||||||
|
HEALBOT_DEMON_SKIN = "Demon Skin";
|
||||||
|
HEALBOT_DEMON_ARMOR = "Demon Armor";
|
||||||
|
HEALBOT_UNENDING_BREATH = "Unending Breath";
|
||||||
|
HEALBOT_DETECT_LESSER_INVISIBILITY = "Detect Lesser Invisibility";
|
||||||
|
HEALBOT_DETECT_INVISIBILITY = "Detect Invisibility";
|
||||||
|
HEALBOT_SHADOW_WARD = "Shadow Ward";
|
||||||
|
HEALBOT_SOULSTONE_RESURRECTION = "Soulstone Resurrection";
|
||||||
|
HEALBOT_FIRE_SHIELD = "Fire Shield";
|
||||||
|
|
||||||
|
HEALBOT_TRUESHOT_AURA = "Trueshot Aura";
|
||||||
|
HEALBOT_ASPECT_OF_THE_HAWK = "Aspect of the Hawk";
|
||||||
|
HEALBOT_ASPECT_OF_THE_MONKEY = "Aspect of the Monkey";
|
||||||
|
HEALBOT_ASPECT_OF_THE_CHEETAH = "Aspect of the Cheetah";
|
||||||
|
HEALBOT_ASPECT_OF_THE_PACK = "Aspect of the Pack";
|
||||||
|
HEALBOT_ASPECT_OF_THE_WILD = "Aspect of the Wild";
|
||||||
|
HEALBOT_ASPECT_OF_THE_BEAST = "Aspect of the Beast";
|
||||||
|
|
||||||
|
HEALBOT_STEALTH = "Stealth";
|
||||||
|
HEALBOT_BLADE_FLURRY = "Blade Flurry";
|
||||||
|
HEALBOT_EVASION = "Evasion";
|
||||||
|
HEALBOT_SPRINT = "Sprint";
|
||||||
|
HEALBOT_SLICE_AND_DICE = "Slice and Dice";
|
||||||
|
|
||||||
|
HEALBOT_FROST_ARMOR = "Frost Armor";
|
||||||
|
HEALBOT_ICE_ARMOR = "Ice Armor";
|
||||||
|
HEALBOT_MAGE_ARMOR = "Mage Armor";
|
||||||
|
HEALBOT_MANA_SHIELD = "Mana Shield";
|
||||||
|
HEALBOT_ICE_BARRIER = "Ice Barrier";
|
||||||
|
HEALBOT_FIRE_WARD = "Fire Ward";
|
||||||
|
HEALBOT_FROST_WARD = "Frost Ward";
|
||||||
|
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SALVATION = "Greater Blessing of Salvation";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_MIGHT = "Greater Blessing of Might";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_WISDOM = "Greater Blessing of Wisdom";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_KINGS = "Greater Blessing of Kings";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_LIGHT = "Greater Blessing of Light";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SANCTUARY = "Greater Blessing of Sanctuary";
|
||||||
|
HEALBOT_RIGHTEOUS_FURY = "Righteous Fury";
|
||||||
|
|
||||||
|
HEALBOT_SHADOWFORM = "Shadowform";
|
||||||
|
|
||||||
|
HEALBOT_BARKSKIN = "Barkskin";
|
||||||
|
HEALBOT_NATURES_GRASP = "Nature's Grasp";
|
||||||
|
|
||||||
|
HEALBOT_LIGHTNING_SHIELD = "Lightning Shield";
|
||||||
|
HEALBOT_WATER_SHIELD = "Water Shield";
|
||||||
|
HEALBOT_WATER_WALKING = "Water Walking";
|
||||||
|
HEALBOT_WATER_BREATHING = "Water Breathing";
|
||||||
|
|
||||||
HEALBOT_RESURRECTION = "Resurrection";
|
HEALBOT_RESURRECTION = "Resurrection";
|
||||||
HEALBOT_REDEMPTION = "Redemption";
|
HEALBOT_REDEMPTION = "Redemption";
|
||||||
HEALBOT_REBIRTH = "Rebirth";
|
HEALBOT_REBIRTH = "Rebirth";
|
||||||
@@ -104,6 +157,7 @@ HEALBOT_PURIFY = "Purify";
|
|||||||
HEALBOT_CLEANSE = "Cleanse";
|
HEALBOT_CLEANSE = "Cleanse";
|
||||||
HEALBOT_CURE_POISON = "Cure Poison";
|
HEALBOT_CURE_POISON = "Cure Poison";
|
||||||
HEALBOT_REMOVE_CURSE = "Remove Curse";
|
HEALBOT_REMOVE_CURSE = "Remove Curse";
|
||||||
|
HEALBOT_REMOVE_LESSER_CURSE= "Remove Lesser Curse";
|
||||||
HEALBOT_ABOLISH_POISON = "Abolish Poison";
|
HEALBOT_ABOLISH_POISON = "Abolish Poison";
|
||||||
HEALBOT_CURE_DISEASE = "Cure Disease";
|
HEALBOT_CURE_DISEASE = "Cure Disease";
|
||||||
HEALBOT_ABOLISH_DISEASE = "Abolish Disease";
|
HEALBOT_ABOLISH_DISEASE = "Abolish Disease";
|
||||||
@@ -171,6 +225,7 @@ HEALBOT_BUFF_REGROWTH = "Interface\\Icons\\Spell_Nature_ResistNature"
|
|||||||
HEALBOT_BUFF_RENEW = "Interface\\Icons\\Spell_Holy_Renew";
|
HEALBOT_BUFF_RENEW = "Interface\\Icons\\Spell_Holy_Renew";
|
||||||
HEALBOT_BUFF_FEAR_WARD = "Interface\\Icons\\Spell_Holy_Excorcism";
|
HEALBOT_BUFF_FEAR_WARD = "Interface\\Icons\\Spell_Holy_Excorcism";
|
||||||
HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
|
HEALBOT_DEBUFF_WEAKENED_SOUL = "Interface\\Icons\\Spell_Holy_AshesToAshes";
|
||||||
|
HEALBOT_WEAKENED_SOUL = "Weakened Soul";
|
||||||
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
|
HEALBOT_DEBUFF_RECENTLY_BANDAGED = "Interface\\Icons\\INV_Misc_Bandage_08";
|
||||||
|
|
||||||
|
|
||||||
@@ -275,6 +330,8 @@ HEALBOT_OPTIONS_BUFF7 = "Buff 7";
|
|||||||
HEALBOT_OPTIONS_BUFF8 = "Buff 8";
|
HEALBOT_OPTIONS_BUFF8 = "Buff 8";
|
||||||
HEALBOT_OPTIONS_SKINBARS = "Bar options"
|
HEALBOT_OPTIONS_SKINBARS = "Bar options"
|
||||||
HEALBOT_OPTIONS_SKINPANEL = "Panel colours"
|
HEALBOT_OPTIONS_SKINPANEL = "Panel colours"
|
||||||
|
HEALBOT_SKIN_MAXHPTEXT = "Max HP"
|
||||||
|
HEALBOT_SKIN_MINHPTEXT = "Min HP"
|
||||||
HEALBOT_SKIN_ENTEXT = "Enabled"
|
HEALBOT_SKIN_ENTEXT = "Enabled"
|
||||||
HEALBOT_SKIN_DISTEXT = "Disabled"
|
HEALBOT_SKIN_DISTEXT = "Disabled"
|
||||||
HEALBOT_SKIN_DEBTEXT = "Debuff"
|
HEALBOT_SKIN_DEBTEXT = "Debuff"
|
||||||
@@ -390,3 +447,5 @@ HEALBOT_WORDS_SEC = "sec";
|
|||||||
HEALBOT_WORDS_TO = "to";
|
HEALBOT_WORDS_TO = "to";
|
||||||
HEALBOT_WORDS_CAST = "Cast"
|
HEALBOT_WORDS_CAST = "Cast"
|
||||||
HEALBOT_WORDS_FOR = "for";
|
HEALBOT_WORDS_FOR = "for";
|
||||||
|
HEALBOT_OPTIONS_TESTBARS = "Test Bars";
|
||||||
|
HEALBOT_WORD_TEST = "Test";
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ if (GetLocale() == "frFR") then
|
|||||||
|
|
||||||
HEALBOT_DRUID = "Druide";
|
HEALBOT_DRUID = "Druide";
|
||||||
HEALBOT_HUNTER = "Chasseur";
|
HEALBOT_HUNTER = "Chasseur";
|
||||||
HEALBOT_MAGE = "Magier";
|
HEALBOT_MAGE = "Mage";
|
||||||
HEALBOT_PALADIN = "Paladin";
|
HEALBOT_PALADIN = "Paladin";
|
||||||
HEALBOT_PRIEST = "Pr\195\170tre";
|
HEALBOT_PRIEST = "Pr\195\170tre";
|
||||||
HEALBOT_ROGUE = "Voleur";
|
HEALBOT_ROGUE = "Voleur";
|
||||||
@@ -72,6 +72,7 @@ HEALBOT_LESSER_HEAL = "Soins inf\195\169rieurs";
|
|||||||
HEALBOT_LESSER_HEALING_WAVE = "Vague de soins mineurs";
|
HEALBOT_LESSER_HEALING_WAVE = "Vague de soins mineurs";
|
||||||
HEALBOT_MEND_PET = "Soigner un Familier";
|
HEALBOT_MEND_PET = "Soigner un Familier";
|
||||||
HEALBOT_POWER_WORD_SHIELD = "Mot de pouvoir : Bouclier";
|
HEALBOT_POWER_WORD_SHIELD = "Mot de pouvoir : Bouclier";
|
||||||
|
HEALBOT_WEAKENED_SOUL = "\195\130me affaiblie";
|
||||||
HEALBOT_REGROWTH = "R\195\169tablissement";
|
HEALBOT_REGROWTH = "R\195\169tablissement";
|
||||||
HEALBOT_RENEW = "R\195\169novation";
|
HEALBOT_RENEW = "R\195\169novation";
|
||||||
HEALBOT_REJUVENATION = "R\195\169cup\195\169ration";
|
HEALBOT_REJUVENATION = "R\195\169cup\195\169ration";
|
||||||
@@ -82,6 +83,59 @@ HEALBOT_POWER_WORD_FORTITUDE = "Mot de pouvoir : Robustesse";
|
|||||||
HEALBOT_MARK_OF_THE_WILD = "Marque du fauve";
|
HEALBOT_MARK_OF_THE_WILD = "Marque du fauve";
|
||||||
HEALBOT_BLESSING_OF_SALVATION = "B\195\169n\195\169diction de salut";
|
HEALBOT_BLESSING_OF_SALVATION = "B\195\169n\195\169diction de salut";
|
||||||
|
|
||||||
|
HEALBOT_BATTLE_SHOUT = "Cri de guerre";
|
||||||
|
HEALBOT_BLOODRAGE = "Rage sanguinaire";
|
||||||
|
HEALBOT_BERSERKER_RAGE = "Rage berserker";
|
||||||
|
|
||||||
|
HEALBOT_DEMON_SKIN = "Peau de d\195\169mon";
|
||||||
|
HEALBOT_DEMON_ARMOR = "Armure d\195\169moniaque";
|
||||||
|
HEALBOT_UNENDING_BREATH = "Respiration interminable";
|
||||||
|
HEALBOT_DETECT_LESSER_INVISIBILITY = "D\195\169tection de l'invisibilit\195\169 inf\195\169rieure";
|
||||||
|
HEALBOT_DETECT_INVISIBILITY = "D\195\169tection de l'invisibilit\195\169";
|
||||||
|
HEALBOT_SHADOW_WARD = "Gardien de l'ombre";
|
||||||
|
HEALBOT_SOULSTONE_RESURRECTION = "R\195\169surrection de pierre d'\195\162me";
|
||||||
|
HEALBOT_FIRE_SHIELD = "Bouclier de feu";
|
||||||
|
|
||||||
|
HEALBOT_TRUESHOT_AURA = "Aura de pr\195\169cision";
|
||||||
|
HEALBOT_ASPECT_OF_THE_HAWK = "Aspect du faucon";
|
||||||
|
HEALBOT_ASPECT_OF_THE_MONKEY = "Aspect du singe";
|
||||||
|
HEALBOT_ASPECT_OF_THE_CHEETAH = "Aspect du gu\195\169pard";
|
||||||
|
HEALBOT_ASPECT_OF_THE_PACK = "Aspect de la meute";
|
||||||
|
HEALBOT_ASPECT_OF_THE_WILD = "Aspect de la nature";
|
||||||
|
HEALBOT_ASPECT_OF_THE_BEAST = "Aspect de la b\195\170te";
|
||||||
|
|
||||||
|
HEALBOT_STEALTH = "Camouflage";
|
||||||
|
HEALBOT_BLADE_FLURRY = "D\195\169luge de lames";
|
||||||
|
HEALBOT_EVASION = "Evasion";
|
||||||
|
HEALBOT_SPRINT = "Sprint";
|
||||||
|
HEALBOT_SLICE_AND_DICE = "D\195\169biter";
|
||||||
|
|
||||||
|
HEALBOT_FROST_ARMOR = "Armure de givre";
|
||||||
|
HEALBOT_ICE_ARMOR = "Armure de glace";
|
||||||
|
HEALBOT_MAGE_ARMOR = "Armure du mage";
|
||||||
|
HEALBOT_MANA_SHIELD = "Bouclier de mana";
|
||||||
|
HEALBOT_ICE_BARRIER = "Barri\195\168re de glace";
|
||||||
|
HEALBOT_FIRE_WARD = "Gardien de feu";
|
||||||
|
HEALBOT_FROST_WARD = "Gardien de givre";
|
||||||
|
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SALVATION = "B\195\169n\195\169diction de salut sup\195\169rieure";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_MIGHT = "B\195\169n\195\169diction de puissance sup\195\169rieure";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_WISDOM = "B\195\169n\195\169diction de sagesse sup\195\169rieure";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_KINGS = "B\195\169n\195\169diction des rois sup\195\169rieure";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_LIGHT = "B\195\169n\195\169diction de lumi\195\168re sup\195\169rieure";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SANCTUARY = "B\195\169n\195\169diction du sanctuaire sup\195\169rieure";
|
||||||
|
HEALBOT_RIGHTEOUS_FURY = "Fureur vertueuse";
|
||||||
|
|
||||||
|
HEALBOT_SHADOWFORM = "Forme d'Ombre";
|
||||||
|
|
||||||
|
HEALBOT_BARKSKIN = "Peau d'\195\169corce";
|
||||||
|
HEALBOT_NATURES_GRASP = "Emprise de la nature";
|
||||||
|
|
||||||
|
HEALBOT_LIGHTNING_SHIELD = "Bouclier de foudre";
|
||||||
|
HEALBOT_WATER_SHIELD = "Bouclier d'eau";
|
||||||
|
HEALBOT_WATER_WALKING = "Marche sur l'eau";
|
||||||
|
HEALBOT_WATER_BREATHING = "Respiration aquatique";
|
||||||
|
|
||||||
HEALBOT_RESURRECTION = "R\195\169surrection";
|
HEALBOT_RESURRECTION = "R\195\169surrection";
|
||||||
HEALBOT_REDEMPTION = "R\195\169demption";
|
HEALBOT_REDEMPTION = "R\195\169demption";
|
||||||
HEALBOT_REBIRTH = "Renaissance";
|
HEALBOT_REBIRTH = "Renaissance";
|
||||||
@@ -91,6 +145,7 @@ HEALBOT_PURIFY = "Purification";
|
|||||||
HEALBOT_CLEANSE = "Epuration";
|
HEALBOT_CLEANSE = "Epuration";
|
||||||
HEALBOT_CURE_POISON = "Gu\195\169rison du poison";
|
HEALBOT_CURE_POISON = "Gu\195\169rison du poison";
|
||||||
HEALBOT_REMOVE_CURSE = "D\195\169livrance de la mal\195\169diction";
|
HEALBOT_REMOVE_CURSE = "D\195\169livrance de la mal\195\169diction";
|
||||||
|
HEALBOT_REMOVE_LESSER_CURSE= "D\195\169livrance de la mal\195\169diction mineure";
|
||||||
HEALBOT_ABOLISH_POISON = "Abolir le poison";
|
HEALBOT_ABOLISH_POISON = "Abolir le poison";
|
||||||
HEALBOT_CURE_DISEASE = "Gu\195\169rison des maladies";
|
HEALBOT_CURE_DISEASE = "Gu\195\169rison des maladies";
|
||||||
HEALBOT_ABOLISH_DISEASE = "Abolir maladie";
|
HEALBOT_ABOLISH_DISEASE = "Abolir maladie";
|
||||||
@@ -305,6 +360,8 @@ HEALBOT_OPTIONS_NEWSKINTEXT = "New skin" -- *************** needs French
|
|||||||
HEALBOT_OPTIONS_SAVESKIN = "Save" -- *************** needs French translation ***************
|
HEALBOT_OPTIONS_SAVESKIN = "Save" -- *************** needs French translation ***************
|
||||||
HEALBOT_OPTIONS_SKINBARS = "Bar options" -- *************** needs French translation ***************
|
HEALBOT_OPTIONS_SKINBARS = "Bar options" -- *************** needs French translation ***************
|
||||||
HEALBOT_OPTIONS_SKINPANEL = "Panel colours" -- *************** needs French translation ***************
|
HEALBOT_OPTIONS_SKINPANEL = "Panel colours" -- *************** needs French translation ***************
|
||||||
|
HEALBOT_SKIN_MAXHPTEXT = "Max HP"
|
||||||
|
HEALBOT_SKIN_MINHPTEXT = "Min HP"
|
||||||
HEALBOT_SKIN_ENTEXT = "Enabled" -- *************** needs French translation ***************
|
HEALBOT_SKIN_ENTEXT = "Enabled" -- *************** needs French translation ***************
|
||||||
HEALBOT_SKIN_DISTEXT = "Disabled" -- *************** needs French translation ***************
|
HEALBOT_SKIN_DISTEXT = "Disabled" -- *************** needs French translation ***************
|
||||||
HEALBOT_SKIN_DEBTEXT = "Debuff" -- *************** needs French translation ***************
|
HEALBOT_SKIN_DEBTEXT = "Debuff" -- *************** needs French translation ***************
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ if (GetLocale() == "koKR") then
|
|||||||
HEALBOT_LESSER_HEALING_WAVE = "하급 치유의 물결";
|
HEALBOT_LESSER_HEALING_WAVE = "하급 치유의 물결";
|
||||||
HEALBOT_MEND_PET = "동물 치료";
|
HEALBOT_MEND_PET = "동물 치료";
|
||||||
HEALBOT_POWER_WORD_SHIELD = "신의 권능: 보호막";
|
HEALBOT_POWER_WORD_SHIELD = "신의 권능: 보호막";
|
||||||
|
HEALBOT_WEAKENED_SOUL = "신체 취약";
|
||||||
HEALBOT_REGROWTH = "재생";
|
HEALBOT_REGROWTH = "재생";
|
||||||
HEALBOT_RENEW = "소생";
|
HEALBOT_RENEW = "소생";
|
||||||
HEALBOT_REJUVENATION = "회복";
|
HEALBOT_REJUVENATION = "회복";
|
||||||
@@ -67,6 +68,58 @@ HEALBOT_ENLIGHTEN = "Enlighten";
|
|||||||
HEALBOT_MARK_OF_THE_WILD = "야생의 징표";
|
HEALBOT_MARK_OF_THE_WILD = "야생의 징표";
|
||||||
HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
|
HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
|
||||||
|
|
||||||
|
HEALBOT_BATTLE_SHOUT = "전투의 외침";
|
||||||
|
HEALBOT_BLOODRAGE = "피의 분노";
|
||||||
|
HEALBOT_BERSERKER_RAGE = "광전사의 격노";
|
||||||
|
|
||||||
|
HEALBOT_DEMON_SKIN = "악마의 피부";
|
||||||
|
HEALBOT_DEMON_ARMOR = "악마의 갑옷";
|
||||||
|
HEALBOT_UNENDING_BREATH = "영원의 숨결";
|
||||||
|
HEALBOT_DETECT_LESSER_INVISIBILITY = "하급 투명체 감지";
|
||||||
|
HEALBOT_DETECT_INVISIBILITY = "투명체 감지";
|
||||||
|
HEALBOT_SHADOW_WARD = "암흑계 수호";
|
||||||
|
HEALBOT_SOULSTONE_RESURRECTION = "영혼석 부활";
|
||||||
|
HEALBOT_FIRE_SHIELD = "불의 방패";
|
||||||
|
|
||||||
|
HEALBOT_TRUESHOT_AURA = "정밀함의 오라";
|
||||||
|
HEALBOT_ASPECT_OF_THE_HAWK = "매의 상";
|
||||||
|
HEALBOT_ASPECT_OF_THE_MONKEY = "원숭이의 상";
|
||||||
|
HEALBOT_ASPECT_OF_THE_CHEETAH = "치타의 상";
|
||||||
|
HEALBOT_ASPECT_OF_THE_PACK = "치타 무리의 상";
|
||||||
|
HEALBOT_ASPECT_OF_THE_WILD = "야생의 상";
|
||||||
|
HEALBOT_ASPECT_OF_THE_BEAST = "야수의 상";
|
||||||
|
|
||||||
|
HEALBOT_STEALTH = "은신";
|
||||||
|
HEALBOT_BLADE_FLURRY = "폭풍의 칼날";
|
||||||
|
HEALBOT_EVASION = "회피";
|
||||||
|
HEALBOT_SPRINT = "전력 질주";
|
||||||
|
HEALBOT_SLICE_AND_DICE = "난도질";
|
||||||
|
|
||||||
|
HEALBOT_FROST_ARMOR = "서리 갑옷";
|
||||||
|
HEALBOT_ICE_ARMOR = "얼음 갑옷";
|
||||||
|
HEALBOT_MAGE_ARMOR = "마법사 갑옷";
|
||||||
|
HEALBOT_MANA_SHIELD = "마나 보호막";
|
||||||
|
HEALBOT_ICE_BARRIER = "얼음 보호막";
|
||||||
|
HEALBOT_FIRE_WARD = "화염계 수호";
|
||||||
|
HEALBOT_FROST_WARD = "냉기계 수호";
|
||||||
|
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_MIGHT = "상급 힘의 축복";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_WISDOM = "상급 지혜의 축복";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_KINGS = "상급 왕의 축복";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_LIGHT = "상급 빛의 축복";
|
||||||
|
HEALBOT_GREATER_BLESSING_OF_SANCTUARY = "상급 성역의 축복";
|
||||||
|
HEALBOT_RIGHTEOUS_FURY = "정의의 격노";
|
||||||
|
|
||||||
|
HEALBOT_SHADOWFORM = "어둠의 형상";
|
||||||
|
|
||||||
|
HEALBOT_BARKSKIN = "나무 껍질";
|
||||||
|
HEALBOT_NATURES_GRASP = "자연의 파악";
|
||||||
|
|
||||||
|
HEALBOT_LIGHTNING_SHIELD = "번개 보호막";
|
||||||
|
HEALBOT_WATER_SHIELD = "물의 보호막";
|
||||||
|
HEALBOT_WATER_WALKING = "수면 보행";
|
||||||
|
HEALBOT_WATER_BREATHING = "수중 호흡";
|
||||||
|
|
||||||
HEALBOT_RESURRECTION = "부활";
|
HEALBOT_RESURRECTION = "부활";
|
||||||
HEALBOT_REDEMPTION = "구원";
|
HEALBOT_REDEMPTION = "구원";
|
||||||
HEALBOT_REBIRTH = "환생";
|
HEALBOT_REBIRTH = "환생";
|
||||||
@@ -76,6 +129,7 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
|
|||||||
HEALBOT_CLEANSE = "정화";
|
HEALBOT_CLEANSE = "정화";
|
||||||
HEALBOT_CURE_POISON = "해독";
|
HEALBOT_CURE_POISON = "해독";
|
||||||
HEALBOT_REMOVE_CURSE = "저주 해제";
|
HEALBOT_REMOVE_CURSE = "저주 해제";
|
||||||
|
HEALBOT_REMOVE_LESSER_CURSE = "하급 저주 해제";
|
||||||
HEALBOT_ABOLISH_POISON = "독 해제";
|
HEALBOT_ABOLISH_POISON = "독 해제";
|
||||||
HEALBOT_CURE_DISEASE = "질병 치료";
|
HEALBOT_CURE_DISEASE = "질병 치료";
|
||||||
HEALBOT_ABOLISH_DISEASE = "질병 해제";
|
HEALBOT_ABOLISH_DISEASE = "질병 해제";
|
||||||
@@ -221,6 +275,8 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
|
|||||||
HEALBOT_OPTIONS_SAVESKIN = "저장"
|
HEALBOT_OPTIONS_SAVESKIN = "저장"
|
||||||
HEALBOT_OPTIONS_SKINBARS = "바 옵션들"
|
HEALBOT_OPTIONS_SKINBARS = "바 옵션들"
|
||||||
HEALBOT_OPTIONS_SKINPANEL = "패널 색"
|
HEALBOT_OPTIONS_SKINPANEL = "패널 색"
|
||||||
|
HEALBOT_SKIN_MAXHPTEXT = "최대 생명력"
|
||||||
|
HEALBOT_SKIN_MINHPTEXT = "최소 생명력"
|
||||||
HEALBOT_SKIN_ENTEXT = "활성화"
|
HEALBOT_SKIN_ENTEXT = "활성화"
|
||||||
HEALBOT_SKIN_DISTEXT = "비활성화"
|
HEALBOT_SKIN_DISTEXT = "비활성화"
|
||||||
HEALBOT_SKIN_DEBTEXT = "디버프"
|
HEALBOT_SKIN_DEBTEXT = "디버프"
|
||||||
|
|||||||
+105
-6
@@ -47,7 +47,10 @@ HealBot_Model = {
|
|||||||
|
|
||||||
-- Integration maps
|
-- Integration maps
|
||||||
unitGUIDs = {}, -- unit -> GUID
|
unitGUIDs = {}, -- unit -> GUID
|
||||||
guidUnits = {} -- GUID -> unit
|
guidUnits = {}, -- GUID -> unit
|
||||||
|
|
||||||
|
-- Delayed resolution queue
|
||||||
|
unresolvedUnits = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
@@ -87,6 +90,7 @@ end
|
|||||||
|
|
||||||
-- HealBot_Model:Initialize: Pre-allocates the unit state dictionary.
|
-- HealBot_Model:Initialize: Pre-allocates the unit state dictionary.
|
||||||
function HealBot_Model:Initialize()
|
function HealBot_Model:Initialize()
|
||||||
|
for k in pairs(self.unresolvedUnits) do self.unresolvedUnits[k] = nil end
|
||||||
self:InitUnitState("player")
|
self:InitUnitState("player")
|
||||||
self:InitUnitState("target")
|
self:InitUnitState("target")
|
||||||
self:InitUnitState("pet")
|
self:InitUnitState("pet")
|
||||||
@@ -144,34 +148,129 @@ end
|
|||||||
|
|
||||||
-- Updates base unit info (Name, Class)
|
-- Updates base unit info (Name, Class)
|
||||||
function HealBot_Model:UpdateUnitIdentity(unit)
|
function HealBot_Model:UpdateUnitIdentity(unit)
|
||||||
if not self.units[unit] then return false end
|
if not self.units[unit] or string.find(unit, "^Test") then return false end
|
||||||
|
|
||||||
local oldName = self.units[unit].name
|
local oldName = self.units[unit].name
|
||||||
local oldEnglishClass = self.units[unit].englishClass
|
local oldEnglishClass = self.units[unit].englishClass
|
||||||
local name = UnitName(unit)
|
local name = UnitName(unit)
|
||||||
local _, englishClass = UnitClass(unit)
|
|
||||||
|
-- If UnitName is not ready, attempt raid roster fallback for raid units
|
||||||
|
if not name or name == "Unknown" then
|
||||||
|
local _, _, raidIdx = string.find(unit, "^raid(%d+)$")
|
||||||
|
if raidIdx and GetNumRaidMembers() > 0 then
|
||||||
|
local rName = GetRaidRosterInfo(tonumber(raidIdx))
|
||||||
|
if rName and rName ~= "" and rName ~= "Unknown" then
|
||||||
|
name = rName
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- If name is still nil, retain oldName if unit exists
|
||||||
|
if not name and oldName and UnitExists(unit) then
|
||||||
|
name = oldName
|
||||||
|
end
|
||||||
|
|
||||||
|
local englishClass = HealBot_UnitClass(unit)
|
||||||
|
|
||||||
|
-- If name is identical, do NOT overwrite an existing valid englishClass with nil
|
||||||
|
if oldName and name == oldName and not englishClass and oldEnglishClass then
|
||||||
|
englishClass = oldEnglishClass
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Track unresolved units (unit exists with a name, but missing englishClass)
|
||||||
|
if name and not englishClass then
|
||||||
|
self.unresolvedUnits[unit] = true
|
||||||
|
else
|
||||||
|
self.unresolvedUnits[unit] = nil
|
||||||
|
end
|
||||||
|
|
||||||
if oldName ~= name or oldEnglishClass ~= englishClass then
|
if oldName ~= name or oldEnglishClass ~= englishClass then
|
||||||
self.units[unit].name = name
|
self.units[unit].name = name
|
||||||
self.units[unit].englishClass = englishClass
|
self.units[unit].englishClass = englishClass
|
||||||
self.units[unit].class = UnitClass(unit)
|
self.units[unit].class = UnitClass(unit)
|
||||||
|
|
||||||
if (HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active) and HealBot_GetUnitGUID then
|
if (HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active or HealBot_Integrations_Nampower_Active) and HealBot_GetUnitGUID then
|
||||||
local guid = HealBot_GetUnitGUID(unit)
|
local guid = HealBot_GetUnitGUID(unit)
|
||||||
if guid and guid ~= "0" and guid ~= "0x0000000000000000" then
|
if guid and guid ~= "0" and guid ~= "0x0000000000000000" then
|
||||||
self.unitGUIDs[unit] = guid
|
self.unitGUIDs[unit] = guid
|
||||||
|
if unit ~= "target" then
|
||||||
self.guidUnits[guid] = unit
|
self.guidUnits[guid] = unit
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
return true -- Identity changed
|
return true -- Identity changed
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- HealBot_Model:PopulateAllGUIDs: Refreshes unit-to-GUID and GUID-to-unit mappings for all current roster units.
|
||||||
|
function HealBot_Model:PopulateAllGUIDs()
|
||||||
|
if not (HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active or HealBot_Integrations_Nampower_Active) or not HealBot_GetUnitGUID then return end
|
||||||
|
|
||||||
|
local playerGuid = HealBot_GetUnitGUID("player")
|
||||||
|
if playerGuid and playerGuid ~= "0" and playerGuid ~= "0x0000000000000000" then
|
||||||
|
self.unitGUIDs["player"] = playerGuid
|
||||||
|
self.guidUnits[playerGuid] = "player"
|
||||||
|
HealBot_PlayerGUID = playerGuid
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, unit in ipairs(self.partyMembers) do
|
||||||
|
local guid = HealBot_GetUnitGUID(unit)
|
||||||
|
if guid and guid ~= "0" and guid ~= "0x0000000000000000" then
|
||||||
|
self.unitGUIDs[unit] = guid
|
||||||
|
self.guidUnits[guid] = unit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, unit in ipairs(self.raidMembers) do
|
||||||
|
local guid = HealBot_GetUnitGUID(unit)
|
||||||
|
if guid and guid ~= "0" and guid ~= "0x0000000000000000" then
|
||||||
|
self.unitGUIDs[unit] = guid
|
||||||
|
self.guidUnits[guid] = unit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_Model:GetUnitByGUID: Internal utility: HealBot_Model:GetUnitByGUID
|
-- HealBot_Model:GetUnitByGUID: Internal utility: HealBot_Model:GetUnitByGUID
|
||||||
function HealBot_Model:GetUnitByGUID(guid)
|
function HealBot_Model:GetUnitByGUID(guid)
|
||||||
if not guid then return nil end
|
if not guid then return nil end
|
||||||
return self.guidUnits[guid]
|
local unit = self.guidUnits[guid]
|
||||||
|
if unit and UnitExists(unit) then return unit end
|
||||||
|
|
||||||
|
local lowerGuid = string.lower(guid)
|
||||||
|
if HealBot_PlayerGUID and string.lower(HealBot_PlayerGUID) == lowerGuid then
|
||||||
|
self.guidUnits[guid] = "player"
|
||||||
|
return "player"
|
||||||
|
end
|
||||||
|
if HealBot_GetUnitGUID then
|
||||||
|
local pGuid = HealBot_GetUnitGUID("player")
|
||||||
|
if pGuid and string.lower(pGuid) == lowerGuid then
|
||||||
|
self.guidUnits[guid] = "player"
|
||||||
|
HealBot_PlayerGUID = pGuid
|
||||||
|
return "player"
|
||||||
|
end
|
||||||
|
for i = 1, 40 do
|
||||||
|
local u = "raid" .. i
|
||||||
|
if UnitExists(u) then
|
||||||
|
local uGuid = HealBot_GetUnitGUID(u)
|
||||||
|
if uGuid and string.lower(uGuid) == lowerGuid then
|
||||||
|
self.guidUnits[guid] = u
|
||||||
|
return u
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for i = 1, 4 do
|
||||||
|
local u = "party" .. i
|
||||||
|
if UnitExists(u) then
|
||||||
|
local uGuid = HealBot_GetUnitGUID(u)
|
||||||
|
if uGuid and string.lower(uGuid) == lowerGuid then
|
||||||
|
self.guidUnits[guid] = u
|
||||||
|
return u
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_Model:GetUnitIDByName: Looks up a group unit token by player name.
|
-- HealBot_Model:GetUnitIDByName: Looks up a group unit token by player name.
|
||||||
@@ -185,7 +284,7 @@ end
|
|||||||
|
|
||||||
-- HealBot_Model:PreserveStateByGUID: Preserves icon and debuff state when group indices shift during combat.
|
-- HealBot_Model:PreserveStateByGUID: Preserves icon and debuff state when group indices shift during combat.
|
||||||
function HealBot_Model:PreserveStateByGUID()
|
function HealBot_Model:PreserveStateByGUID()
|
||||||
if not (HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active) or not HealBot_GetUnitGUID then return end
|
if not (HealBot_Integrations_SuperWoW_Active or HealBot_Integrations_ClassicAPI_Active or HealBot_Integrations_Nampower_Active) or not HealBot_GetUnitGUID then return end
|
||||||
|
|
||||||
for k in pairs(pool_oldGUIDs) do pool_oldGUIDs[k] = nil end
|
for k in pairs(pool_oldGUIDs) do pool_oldGUIDs[k] = nil end
|
||||||
local oldGUIDs = pool_oldGUIDs
|
local oldGUIDs = pool_oldGUIDs
|
||||||
|
|||||||
+46
-1
@@ -202,6 +202,20 @@ function HealBot_Returned_Colours()
|
|||||||
HealBot_Config.babortcolg[HealBot_Config.Current_Skin],
|
HealBot_Config.babortcolg[HealBot_Config.Current_Skin],
|
||||||
HealBot_Config.babortcolb[HealBot_Config.Current_Skin] = ColorPickerFrame:GetColorRGB();
|
HealBot_Config.babortcolb[HealBot_Config.Current_Skin] = ColorPickerFrame:GetColorRGB();
|
||||||
HealBot_Config.babortcola[HealBot_Config.Current_Skin] = A;
|
HealBot_Config.babortcola[HealBot_Config.Current_Skin] = A;
|
||||||
|
elseif HealBot_ColourObjWaiting=="MaxHP" then
|
||||||
|
if not HealBot_Config.bcolormaxr then HealBot_Config.bcolormaxr = {} end
|
||||||
|
if not HealBot_Config.bcolormaxg then HealBot_Config.bcolormaxg = {} end
|
||||||
|
if not HealBot_Config.bcolormaxb then HealBot_Config.bcolormaxb = {} end
|
||||||
|
HealBot_Config.bcolormaxr[HealBot_Config.Current_Skin],
|
||||||
|
HealBot_Config.bcolormaxg[HealBot_Config.Current_Skin],
|
||||||
|
HealBot_Config.bcolormaxb[HealBot_Config.Current_Skin] = ColorPickerFrame:GetColorRGB();
|
||||||
|
elseif HealBot_ColourObjWaiting=="MinHP" then
|
||||||
|
if not HealBot_Config.bcolorminr then HealBot_Config.bcolorminr = {} end
|
||||||
|
if not HealBot_Config.bcolorming then HealBot_Config.bcolorming = {} end
|
||||||
|
if not HealBot_Config.bcolorminb then HealBot_Config.bcolorminb = {} end
|
||||||
|
HealBot_Config.bcolorminr[HealBot_Config.Current_Skin],
|
||||||
|
HealBot_Config.bcolorming[HealBot_Config.Current_Skin],
|
||||||
|
HealBot_Config.bcolorminb[HealBot_Config.Current_Skin] = ColorPickerFrame:GetColorRGB();
|
||||||
else
|
else
|
||||||
HealBot_Config.CDCBarColour[HealBot_ColourObjWaiting].R,
|
HealBot_Config.CDCBarColour[HealBot_ColourObjWaiting].R,
|
||||||
HealBot_Config.CDCBarColour[HealBot_ColourObjWaiting].G,
|
HealBot_Config.CDCBarColour[HealBot_ColourObjWaiting].G,
|
||||||
@@ -210,13 +224,18 @@ function HealBot_Returned_Colours()
|
|||||||
HealBot_SetSkinColours()
|
HealBot_SetSkinColours()
|
||||||
HealBot_SetCDCBarColours()
|
HealBot_SetCDCBarColours()
|
||||||
end
|
end
|
||||||
|
ColorPickerFrame.func = HealBot_Returned_Colours
|
||||||
|
|
||||||
-- HealBot_UseColourPick: Internal utility: HealBot_UseColourPick
|
-- HealBot_UseColourPick: Internal utility: HealBot_UseColourPick
|
||||||
function HealBot_UseColourPick(R, G, B, A)
|
function HealBot_UseColourPick(R, G, B, A)
|
||||||
|
ColorPickerFrame.func = HealBot_Returned_Colours;
|
||||||
|
ColorPickerFrame.cancelFunc = HealBot_Returned_Colours;
|
||||||
if ColorPickerFrame:IsVisible() then
|
if ColorPickerFrame:IsVisible() then
|
||||||
ColorPickerFrame:Hide();
|
ColorPickerFrame:Hide();
|
||||||
elseif A then
|
elseif A then
|
||||||
ColorPickerFrame.hasOpacity = true;
|
ColorPickerFrame.hasOpacity = true;
|
||||||
ColorPickerFrame.opacity = A;
|
ColorPickerFrame.opacity = A;
|
||||||
|
ColorPickerFrame.opacityFunc = HealBot_Returned_Colours;
|
||||||
ColorPickerFrame:ClearAllPoints();
|
ColorPickerFrame:ClearAllPoints();
|
||||||
ColorPickerFrame:SetPoint("TOPLEFT","HealBot_Options","TOPRIGHT",0,-152);
|
ColorPickerFrame:SetPoint("TOPLEFT","HealBot_Options","TOPRIGHT",0,-152);
|
||||||
ColorPickerFrame:Show();
|
ColorPickerFrame:Show();
|
||||||
@@ -224,6 +243,7 @@ function HealBot_UseColourPick(R, G, B, A)
|
|||||||
ColorPickerFrame:SetColorRGB(R, G, B);
|
ColorPickerFrame:SetColorRGB(R, G, B);
|
||||||
else
|
else
|
||||||
ColorPickerFrame.hasOpacity = false;
|
ColorPickerFrame.hasOpacity = false;
|
||||||
|
ColorPickerFrame.opacityFunc = nil;
|
||||||
ColorPickerFrame:ClearAllPoints();
|
ColorPickerFrame:ClearAllPoints();
|
||||||
ColorPickerFrame:SetPoint("TOPLEFT","HealBot_Options","TOPRIGHT",0,-152);
|
ColorPickerFrame:SetPoint("TOPLEFT","HealBot_Options","TOPRIGHT",0,-152);
|
||||||
ColorPickerFrame:Show();
|
ColorPickerFrame:Show();
|
||||||
@@ -342,12 +362,37 @@ function HealBot_Options_SetSkins()
|
|||||||
HealBot_Options_BarWidthS:SetValue(HealBot_Config.bwidth[HealBot_Config.Current_Skin])
|
HealBot_Options_BarWidthS:SetValue(HealBot_Config.bwidth[HealBot_Config.Current_Skin])
|
||||||
HealBot_Options_BarNumColsS:SetValue(HealBot_Config.numcols[HealBot_Config.Current_Skin])
|
HealBot_Options_BarNumColsS:SetValue(HealBot_Config.numcols[HealBot_Config.Current_Skin])
|
||||||
HealBot_Options_BarMaxRowsS:SetValue((HealBot_Config.bmaxrows and HealBot_Config.bmaxrows[HealBot_Config.Current_Skin]) or 0)
|
HealBot_Options_BarMaxRowsS:SetValue((HealBot_Config.bmaxrows and HealBot_Config.bmaxrows[HealBot_Config.Current_Skin]) or 0)
|
||||||
HealBot_Options_GridOrientation:SetChecked(((HealBot_Config.GridOrientation and HealBot_Config.GridOrientation[HealBot_Config.Current_Skin]) == 2) and 1 or nil)
|
local orient = (HealBot_Config.GridOrientation and HealBot_Config.GridOrientation[HealBot_Config.Current_Skin]) or 1
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_GridOrientation_Dropdown, orient)
|
||||||
|
if orient == 2 then
|
||||||
|
HealBot_Options_GridOrientation_DropdownText:SetText("Horizontal (Rows)")
|
||||||
|
HealBot_Options_BarMaxRowsS:Hide()
|
||||||
|
HealBot_Options_BarNumColsS:Show()
|
||||||
|
else
|
||||||
|
HealBot_Options_GridOrientation_DropdownText:SetText("Vertical (Columns)")
|
||||||
|
HealBot_Options_BarMaxRowsS:Show()
|
||||||
|
HealBot_Options_BarNumColsS:Hide()
|
||||||
|
end
|
||||||
HealBot_Options_BarBRSpaceS:SetValue(HealBot_Config.brspace[HealBot_Config.Current_Skin])
|
HealBot_Options_BarBRSpaceS:SetValue(HealBot_Config.brspace[HealBot_Config.Current_Skin])
|
||||||
HealBot_Options_BarBCSpaceS:SetValue(HealBot_Config.bcspace[HealBot_Config.Current_Skin])
|
HealBot_Options_BarBCSpaceS:SetValue(HealBot_Config.bcspace[HealBot_Config.Current_Skin])
|
||||||
HealBot_Options_FramePaddingS:SetValue((HealBot_Config.bpadding and HealBot_Config.bpadding[HealBot_Config.Current_Skin]) or 10)
|
HealBot_Options_FramePaddingS:SetValue((HealBot_Config.bpadding and HealBot_Config.bpadding[HealBot_Config.Current_Skin]) or 10)
|
||||||
HealBot_Options_BorderThicknessS:SetValue((HealBot_Config.bboffset and HealBot_Config.bboffset[HealBot_Config.Current_Skin]) or 1)
|
HealBot_Options_BorderThicknessS:SetValue((HealBot_Config.bboffset and HealBot_Config.bboffset[HealBot_Config.Current_Skin]) or 1)
|
||||||
HealBot_Options_FontHeight:SetValue(HealBot_Config.btextheight[HealBot_Config.Current_Skin])
|
HealBot_Options_FontHeight:SetValue(HealBot_Config.btextheight[HealBot_Config.Current_Skin])
|
||||||
|
|
||||||
|
local fontFile = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local fontName = "Friz Quadrata"
|
||||||
|
if HealBot_Font_List then
|
||||||
|
for i = 1, getn(HealBot_Font_List) do
|
||||||
|
if HealBot_Font_List[i].file == fontFile then
|
||||||
|
fontName = HealBot_Font_List[i].text
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_Font_Dropdown, i)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if HealBot_Options_Font_DropdownText then
|
||||||
|
HealBot_Options_Font_DropdownText:SetText(fontName)
|
||||||
|
end
|
||||||
HealBot_Options_BarAlphaDis:SetValue(HealBot_Config.bardisa[HealBot_Config.Current_Skin])
|
HealBot_Options_BarAlphaDis:SetValue(HealBot_Config.bardisa[HealBot_Config.Current_Skin])
|
||||||
HealBot_Options_AbortBarSize:SetValue(HealBot_Config.abortsize[HealBot_Config.Current_Skin])
|
HealBot_Options_AbortBarSize:SetValue(HealBot_Config.abortsize[HealBot_Config.Current_Skin])
|
||||||
local isShowHeaders = (HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1)
|
local isShowHeaders = (HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1)
|
||||||
|
|||||||
+11
-12
@@ -8,7 +8,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-30" />
|
<AbsDimension x="170" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -35,8 +35,8 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_AutoSwap" relativePoint="BOTTOMLEFT">
|
||||||
<Offset><AbsDimension x="30" y="-80" /></Offset>
|
<Offset><AbsDimension x="0" y="-25"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -59,8 +59,8 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Auto_Solo" relativePoint="BOTTOMLEFT">
|
||||||
<Offset><AbsDimension x="30" y="-130" /></Offset>
|
<Offset><AbsDimension x="0" y="-25"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -83,8 +83,8 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Auto_Party" relativePoint="BOTTOMLEFT">
|
||||||
<Offset><AbsDimension x="30" y="-180" /></Offset>
|
<Offset><AbsDimension x="0" y="-25"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -107,8 +107,8 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Auto_Raid15" relativePoint="BOTTOMLEFT">
|
||||||
<Offset><AbsDimension x="30" y="-230" /></Offset>
|
<Offset><AbsDimension x="0" y="-25"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -131,8 +131,8 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Auto_Raid25" relativePoint="BOTTOMLEFT">
|
||||||
<Offset><AbsDimension x="30" y="-280" /></Offset>
|
<Offset><AbsDimension x="0" y="-25"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -141,7 +141,6 @@
|
|||||||
</OnLoad>
|
</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
</Frames>
|
</Frames>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnShow>
|
<OnShow>
|
||||||
|
|||||||
@@ -111,6 +111,11 @@ function HealBot_Options_SetBuffs()
|
|||||||
local val = HealBot_Config.BuffDropDowns[myClass][i] or 0
|
local val = HealBot_Config.BuffDropDowns[myClass][i] or 0
|
||||||
UIDropDownMenu_Initialize(dropDown, HealBot_Options_Buff_Initialize)
|
UIDropDownMenu_Initialize(dropDown, HealBot_Options_Buff_Initialize)
|
||||||
HealBot_UIDropDownMenu_SetSelectedID(dropDown, val + 1)
|
HealBot_UIDropDownMenu_SetSelectedID(dropDown, val + 1)
|
||||||
|
local text = "None"
|
||||||
|
if val > 0 and HealBot_Buff_Spells[myClass] and HealBot_Buff_Spells[myClass][val] then
|
||||||
|
text = HealBot_Buff_Spells[myClass][val]
|
||||||
|
end
|
||||||
|
UIDropDownMenu_SetText(text, dropDown)
|
||||||
end
|
end
|
||||||
|
|
||||||
local selfCheck = getglobal("HealBot_Options_Buff" .. i .. "Self")
|
local selfCheck = getglobal("HealBot_Options_Buff" .. i .. "Self")
|
||||||
|
|||||||
+39
-46
@@ -4,25 +4,19 @@
|
|||||||
<Script file="HealBot_Options_Buffs.lua" />
|
<Script file="HealBot_Options_Buffs.lua" />
|
||||||
<Frame name="HealBot_Options_Panel6" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
<Frame name="HealBot_Options_Panel6" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
||||||
<Frames>
|
<Frames>
|
||||||
<Frame name="HealBot_Options_BuffFrame" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_BuffFrame">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="330"/>
|
<AbsDimension y="330"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="21" y="-35"/>
|
<AbsDimension x="50" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
<Anchor point="TOPRIGHT">
|
<Anchor point="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-21" y="0"/>
|
<AbsDimension x="-50" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -45,7 +39,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffFrame" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffFrame" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="15" y="-15"/>
|
<AbsDimension x="15" y="-10"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -59,7 +53,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffWatch" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffWatch" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="0"/>
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -69,6 +63,7 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
|
<!-- Column 1 (Buffs 1-4) -->
|
||||||
<Frame name="HealBot_Options_Buff1" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_Buff1" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -86,7 +81,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffWatchInCombat" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffWatchInCombat" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-15" y="-30" />
|
<AbsDimension x="-5" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -94,11 +89,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff1Self" inherits="OptionsCheckButtonTemplate" id="1">
|
<CheckButton name="HealBot_Options_Buff1Self" inherits="UICheckButtonTemplate" id="1">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff1" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff1" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -106,6 +100,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff2" inherits="UIDropDownMenuTemplate" id="2">
|
<Frame name="HealBot_Options_Buff2" inherits="UIDropDownMenuTemplate" id="2">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -123,7 +118,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff1" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff1" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -131,11 +126,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff2Self" inherits="OptionsCheckButtonTemplate" id="2">
|
<CheckButton name="HealBot_Options_Buff2Self" inherits="UICheckButtonTemplate" id="2">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff2" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff2" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -143,6 +137,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff3" inherits="UIDropDownMenuTemplate" id="3">
|
<Frame name="HealBot_Options_Buff3" inherits="UIDropDownMenuTemplate" id="3">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -160,7 +155,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff2" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff2" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -168,11 +163,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff3Self" inherits="OptionsCheckButtonTemplate" id="3">
|
<CheckButton name="HealBot_Options_Buff3Self" inherits="UICheckButtonTemplate" id="3">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff3" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff3" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -180,6 +174,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff4" inherits="UIDropDownMenuTemplate" id="4">
|
<Frame name="HealBot_Options_Buff4" inherits="UIDropDownMenuTemplate" id="4">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -197,7 +192,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff3" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff3" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -205,11 +200,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff4Self" inherits="OptionsCheckButtonTemplate" id="4">
|
<CheckButton name="HealBot_Options_Buff4Self" inherits="UICheckButtonTemplate" id="4">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff4" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff4" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -217,6 +211,8 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
|
<!-- Column 2 (Buffs 5-8, anchored relative to Buff 1) -->
|
||||||
<Frame name="HealBot_Options_Buff5" inherits="UIDropDownMenuTemplate" id="5">
|
<Frame name="HealBot_Options_Buff5" inherits="UIDropDownMenuTemplate" id="5">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -232,9 +228,9 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BuffWatchInCombat" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff1" relativePoint="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="160" y="-30" />
|
<AbsDimension x="60" y="0"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -242,11 +238,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff5Self" inherits="OptionsCheckButtonTemplate" id="5">
|
<CheckButton name="HealBot_Options_Buff5Self" inherits="UICheckButtonTemplate" id="5">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff5" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff5" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -254,6 +249,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff6" inherits="UIDropDownMenuTemplate" id="6">
|
<Frame name="HealBot_Options_Buff6" inherits="UIDropDownMenuTemplate" id="6">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -271,7 +267,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff5" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff5" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -279,11 +275,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff6Self" inherits="OptionsCheckButtonTemplate" id="6">
|
<CheckButton name="HealBot_Options_Buff6Self" inherits="UICheckButtonTemplate" id="6">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff6" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff6" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -291,6 +286,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff7" inherits="UIDropDownMenuTemplate" id="7">
|
<Frame name="HealBot_Options_Buff7" inherits="UIDropDownMenuTemplate" id="7">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -308,7 +304,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff6" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff6" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -316,11 +312,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff7Self" inherits="OptionsCheckButtonTemplate" id="7">
|
<CheckButton name="HealBot_Options_Buff7Self" inherits="UICheckButtonTemplate" id="7">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff7" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff7" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -328,6 +323,7 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Buff8" inherits="UIDropDownMenuTemplate" id="8">
|
<Frame name="HealBot_Options_Buff8" inherits="UIDropDownMenuTemplate" id="8">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
@@ -345,7 +341,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff7" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff7" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-35" />
|
<AbsDimension x="0" y="-28"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -353,11 +349,10 @@
|
|||||||
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_Buff_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_Buff8Self" inherits="OptionsCheckButtonTemplate" id="8">
|
<CheckButton name="HealBot_Options_Buff8Self" inherits="UICheckButtonTemplate" id="8">
|
||||||
<Size><AbsDimension x="20" y="20"/></Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff8" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Buff8" relativePoint="TOPLEFT">
|
||||||
<Offset><AbsDimension x="40" y="18"/></Offset>
|
<Offset><AbsDimension x="145" y="8"/></Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
@@ -365,8 +360,6 @@
|
|||||||
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_BuffSelf_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
</Ui>
|
</Ui>
|
||||||
|
|||||||
+44
-14
@@ -168,14 +168,13 @@ end
|
|||||||
|
|
||||||
-- HealBot_Options_CDCButLeft_DropDown: UI handler for DropDown options panel.
|
-- HealBot_Options_CDCButLeft_DropDown: UI handler for DropDown options panel.
|
||||||
function HealBot_Options_CDCButLeft_DropDown()
|
function HealBot_Options_CDCButLeft_DropDown()
|
||||||
local classEN=HealBot_UnitClass("player")
|
|
||||||
if classEN=="PRIEST" or classEN=="DRUID" or classEN=="PALADIN" or classEN=="SHAMAN" then
|
|
||||||
local class=UnitClass("Player");
|
|
||||||
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class)
|
|
||||||
local info = {};
|
local info = {};
|
||||||
info.text = "None";
|
info.text = "None";
|
||||||
info.func = HealBot_Options_CDCButLeft_OnSelect;
|
info.func = HealBot_Options_CDCButLeft_OnSelect;
|
||||||
UIDropDownMenu_AddButton(info);
|
UIDropDownMenu_AddButton(info);
|
||||||
|
local class = UnitClass("Player");
|
||||||
|
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
|
||||||
|
if DebuffSpells_List then
|
||||||
for i=1, getn(DebuffSpells_List), 1 do
|
for i=1, getn(DebuffSpells_List), 1 do
|
||||||
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
|
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
|
||||||
if spell then
|
if spell then
|
||||||
@@ -189,14 +188,13 @@ function HealBot_Options_CDCButLeft_DropDown()
|
|||||||
end
|
end
|
||||||
-- HealBot_Options_CDCButRight_DropDown: UI handler for DropDown options panel.
|
-- HealBot_Options_CDCButRight_DropDown: UI handler for DropDown options panel.
|
||||||
function HealBot_Options_CDCButRight_DropDown()
|
function HealBot_Options_CDCButRight_DropDown()
|
||||||
local classEN=HealBot_UnitClass("player")
|
|
||||||
if classEN=="PRIEST" or classEN=="DRUID" or classEN=="PALADIN" or classEN=="SHAMAN" then
|
|
||||||
local class=UnitClass("Player");
|
|
||||||
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class)
|
|
||||||
local info = {};
|
local info = {};
|
||||||
info.text = "None";
|
info.text = "None";
|
||||||
info.func = HealBot_Options_CDCButRight_OnSelect;
|
info.func = HealBot_Options_CDCButRight_OnSelect;
|
||||||
UIDropDownMenu_AddButton(info);
|
UIDropDownMenu_AddButton(info);
|
||||||
|
local class = UnitClass("Player");
|
||||||
|
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
|
||||||
|
if DebuffSpells_List then
|
||||||
for i=1, getn(DebuffSpells_List), 1 do
|
for i=1, getn(DebuffSpells_List), 1 do
|
||||||
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
|
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
|
||||||
if spell then
|
if spell then
|
||||||
@@ -220,17 +218,47 @@ end
|
|||||||
function HealBot_Options_CDCButLeft_Refresh(onselect)
|
function HealBot_Options_CDCButLeft_Refresh(onselect)
|
||||||
local set_id = 1;
|
local set_id = 1;
|
||||||
local class = UnitClass("Player");
|
local class = UnitClass("Player");
|
||||||
|
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
|
||||||
if not onselect then HealBot_Options_CDCButLeft_Initialize() end
|
if not onselect then HealBot_Options_CDCButLeft_Initialize() end
|
||||||
set_id = HealBot_Config.Debuff_Left[class];
|
if DebuffSpells_List and getn(DebuffSpells_List) > 0 then
|
||||||
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButLeft,set_id)
|
set_id = HealBot_Config.Debuff_Left[class] or 1;
|
||||||
|
getglobal("HealBot_Options_CDCButLeftButton"):Enable();
|
||||||
|
getglobal("HealBot_Options_CDCButLeftText"):SetTextColor(1.0, 1.0, 1.0);
|
||||||
|
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButLeft, set_id);
|
||||||
|
if set_id == 1 then
|
||||||
|
UIDropDownMenu_SetText("None", HealBot_Options_CDCButLeft);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
set_id = 1;
|
||||||
|
HealBot_Config.Debuff_Left[class] = 1;
|
||||||
|
HealBot_Config.CDCLeftText[class] = "None";
|
||||||
|
getglobal("HealBot_Options_CDCButLeftButton"):Disable();
|
||||||
|
getglobal("HealBot_Options_CDCButLeftText"):SetTextColor(0.5, 0.5, 0.5);
|
||||||
|
UIDropDownMenu_SetText("None", HealBot_Options_CDCButLeft);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
-- HealBot_Options_CDCButRight_Refresh: UI handler for Refresh options panel.
|
-- HealBot_Options_CDCButRight_Refresh: UI handler for Refresh options panel.
|
||||||
function HealBot_Options_CDCButRight_Refresh(onselect)
|
function HealBot_Options_CDCButRight_Refresh(onselect)
|
||||||
local set_id;
|
local set_id = 1;
|
||||||
local class = UnitClass("Player");
|
local class = UnitClass("Player");
|
||||||
|
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
|
||||||
if not onselect then HealBot_Options_CDCButRight_Initialize() end
|
if not onselect then HealBot_Options_CDCButRight_Initialize() end
|
||||||
set_id = HealBot_Config.Debuff_Right[class];
|
if DebuffSpells_List and getn(DebuffSpells_List) > 0 then
|
||||||
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButRight,set_id)
|
set_id = HealBot_Config.Debuff_Right[class] or 1;
|
||||||
|
getglobal("HealBot_Options_CDCButRightButton"):Enable();
|
||||||
|
getglobal("HealBot_Options_CDCButRightText"):SetTextColor(1.0, 1.0, 1.0);
|
||||||
|
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButRight, set_id);
|
||||||
|
if set_id == 1 then
|
||||||
|
UIDropDownMenu_SetText("None", HealBot_Options_CDCButRight);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
set_id = 1;
|
||||||
|
HealBot_Config.Debuff_Right[class] = 1;
|
||||||
|
HealBot_Config.CDCRightText[class] = "None";
|
||||||
|
getglobal("HealBot_Options_CDCButRightButton"):Disable();
|
||||||
|
getglobal("HealBot_Options_CDCButRightText"):SetTextColor(0.5, 0.5, 0.5);
|
||||||
|
UIDropDownMenu_SetText("None", HealBot_Options_CDCButRight);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
-- HealBot_Options_CDCButLeft_OnLoad: UI handler for OnLoad options panel.
|
-- HealBot_Options_CDCButLeft_OnLoad: UI handler for OnLoad options panel.
|
||||||
function HealBot_Options_CDCButLeft_OnLoad()
|
function HealBot_Options_CDCButLeft_OnLoad()
|
||||||
@@ -275,7 +303,7 @@ end
|
|||||||
-- HealBot_Options_Debuff_Reset: Restores default debuff tracking options.
|
-- HealBot_Options_Debuff_Reset: Restores default debuff tracking options.
|
||||||
function HealBot_Options_Debuff_Reset()
|
function HealBot_Options_Debuff_Reset()
|
||||||
local classEN=HealBot_UnitClass("player")
|
local classEN=HealBot_UnitClass("player")
|
||||||
if classEN=="PRIEST" or classEN=="DRUID" or classEN=="PALADIN" or classEN=="SHAMAN" then
|
if classEN=="PRIEST" or classEN=="DRUID" or classEN=="PALADIN" or classEN=="SHAMAN" or classEN=="MAGE" then
|
||||||
HealBot_DebuffWatch = {[HEALBOT_DISEASE_en]=false, [HEALBOT_MAGIC_en]=false, [HEALBOT_POISON_en]=false, [HEALBOT_CURSE_en]=false }
|
HealBot_DebuffWatch = {[HEALBOT_DISEASE_en]=false, [HEALBOT_MAGIC_en]=false, [HEALBOT_POISON_en]=false, [HEALBOT_CURSE_en]=false }
|
||||||
|
|
||||||
-- Automatically track all curable debuffs out of the box
|
-- Automatically track all curable debuffs out of the box
|
||||||
@@ -292,6 +320,8 @@ function HealBot_Options_Debuff_Reset()
|
|||||||
elseif classEN == "SHAMAN" then
|
elseif classEN == "SHAMAN" then
|
||||||
HealBot_DebuffWatch[HEALBOT_POISON_en] = true
|
HealBot_DebuffWatch[HEALBOT_POISON_en] = true
|
||||||
HealBot_DebuffWatch[HEALBOT_DISEASE_en] = true
|
HealBot_DebuffWatch[HEALBOT_DISEASE_en] = true
|
||||||
|
elseif classEN == "MAGE" then
|
||||||
|
HealBot_DebuffWatch[HEALBOT_CURSE_en] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local spell = HealBot_Config.CDCLeftText[UnitClass("player")];
|
local spell = HealBot_Config.CDCLeftText[UnitClass("player")];
|
||||||
|
|||||||
+23
-41
@@ -9,7 +9,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOP">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-20" y="-30" />
|
<AbsDimension x="40" y="-30" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -45,13 +45,7 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_CureDispelCleanse" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_CureDispelCleanse">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="110"/>
|
<AbsDimension y="110"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -83,9 +77,9 @@
|
|||||||
</Frame>
|
</Frame>
|
||||||
<Frame name="HealBot_Options_CDCButLeft" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_CDCButLeft" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOPLEFT">
|
<Anchor point="TOP" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="150" y="-35" />
|
<AbsDimension x="40" y="-35" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -93,9 +87,9 @@
|
|||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString inherits="GameFontNormalSmall" text="HEALBOT_OPTIONS_CDCLEFT">
|
<FontString inherits="GameFontNormalSmall" text="HEALBOT_OPTIONS_CDCLEFT">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOPLEFT">
|
<Anchor point="RIGHT" relativeTo="HealBot_Options_CDCButLeft" relativePoint="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-42"/>
|
<AbsDimension x="-5" y="3"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -110,9 +104,9 @@
|
|||||||
</Frame>
|
</Frame>
|
||||||
<Frame name="HealBot_Options_CDCButRight" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_CDCButRight" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOPLEFT">
|
<Anchor point="TOP" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="150" y="-67" />
|
<AbsDimension x="40" y="-67" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -120,9 +114,9 @@
|
|||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString inherits="GameFontNormalSmall" text="HEALBOT_OPTIONS_CDCRIGHT">
|
<FontString inherits="GameFontNormalSmall" text="HEALBOT_OPTIONS_CDCRIGHT">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanse" relativePoint="TOPLEFT">
|
<Anchor point="RIGHT" relativeTo="HealBot_Options_CDCButRight" relativePoint="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-74"/>
|
<AbsDimension x="-5" y="3"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -136,13 +130,7 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_CureDispelCleanseCol" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_CureDispelCleanseCol">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="95"/>
|
<AbsDimension y="95"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -177,9 +165,9 @@
|
|||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOPLEFT">
|
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-35"/>
|
<AbsDimension x="-2" y="-35"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -192,9 +180,9 @@
|
|||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOPLEFT">
|
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-35"/>
|
<AbsDimension x="-2" y="-35"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -269,9 +257,9 @@
|
|||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOPLEFT">
|
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-65"/>
|
<AbsDimension x="-2" y="-65"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -284,9 +272,9 @@
|
|||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOPLEFT">
|
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_CureDispelCleanseCol" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-65"/>
|
<AbsDimension x="-2" y="-65"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -356,13 +344,7 @@
|
|||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_CureDispelCleanseWarn" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_CureDispelCleanseWarn">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="120"/>
|
<AbsDimension y="120"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -394,9 +376,9 @@
|
|||||||
</Frame>
|
</Frame>
|
||||||
<CheckButton name="HealBot_Options_ShowDebuffWarning" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_ShowDebuffWarning" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_CureDispelCleanseWarn" relativePoint="TOPLEFT">
|
<Anchor point="TOP" relativeTo="HealBot_Options_CureDispelCleanseWarn" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-35" />
|
<AbsDimension x="-90" y="-35" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -409,7 +391,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowDebuffWarning" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowDebuffWarning" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-30" />
|
<AbsDimension x="120" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -60,15 +60,16 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<!-- Chat Message 2 -->
|
<!-- Chat Message 2 -->
|
||||||
<EditBox name="HealBot_Options_ChatMsg2_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
<EditBox name="HealBot_Options_ChatMsg2_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg1_Text" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-90" />
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -116,15 +117,16 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<!-- Chat Message 3 -->
|
<!-- Chat Message 3 -->
|
||||||
<EditBox name="HealBot_Options_ChatMsg3_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
<EditBox name="HealBot_Options_ChatMsg3_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg2_Text" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-150" />
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -172,15 +174,16 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<!-- Chat Message 4 -->
|
<!-- Chat Message 4 -->
|
||||||
<EditBox name="HealBot_Options_ChatMsg4_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
<EditBox name="HealBot_Options_ChatMsg4_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg3_Text" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-210" />
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -228,15 +231,16 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<!-- Chat Message 5 -->
|
<!-- Chat Message 5 -->
|
||||||
<EditBox name="HealBot_Options_ChatMsg5_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
<EditBox name="HealBot_Options_ChatMsg5_Spell" inherits="InputBoxTemplate" autoFocus="false">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="130" y="20"/>
|
<AbsDimension x="130" y="20"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg4_Text" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-270" />
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
|
|||||||
@@ -119,6 +119,16 @@ function HealBot_SkinColorpick_OnClick(SkinType)
|
|||||||
HealBot_Config.babortcolg[HealBot_Config.Current_Skin],
|
HealBot_Config.babortcolg[HealBot_Config.Current_Skin],
|
||||||
HealBot_Config.babortcolb[HealBot_Config.Current_Skin],
|
HealBot_Config.babortcolb[HealBot_Config.Current_Skin],
|
||||||
HealBot_Config.babortcola[HealBot_Config.Current_Skin])
|
HealBot_Config.babortcola[HealBot_Config.Current_Skin])
|
||||||
|
elseif SkinType=="MaxHP" then
|
||||||
|
local r = HealBot_Config.bcolormaxr and HealBot_Config.bcolormaxr[HealBot_Config.Current_Skin] or 0.0
|
||||||
|
local g = HealBot_Config.bcolormaxg and HealBot_Config.bcolormaxg[HealBot_Config.Current_Skin] or 1.0
|
||||||
|
local b = HealBot_Config.bcolormaxb and HealBot_Config.bcolormaxb[HealBot_Config.Current_Skin] or 0.0
|
||||||
|
HealBot_UseColourPick(r, g, b, 1.0)
|
||||||
|
elseif SkinType=="MinHP" then
|
||||||
|
local r = HealBot_Config.bcolorminr and HealBot_Config.bcolorminr[HealBot_Config.Current_Skin] or 1.0
|
||||||
|
local g = HealBot_Config.bcolorming and HealBot_Config.bcolorming[HealBot_Config.Current_Skin] or 0.0
|
||||||
|
local b = HealBot_Config.bcolorminb and HealBot_Config.bcolorminb[HealBot_Config.Current_Skin] or 0.0
|
||||||
|
HealBot_UseColourPick(r, g, b, 1.0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- HealBot_SetSkinColours: Applies skin configuration to UI elements.
|
-- HealBot_SetSkinColours: Applies skin configuration to UI elements.
|
||||||
@@ -136,6 +146,20 @@ function HealBot_SetSkinColours()
|
|||||||
HealBot_EnTextColorpickin:SetStatusBarColor(0, 1, 0, inHealAlpha)
|
HealBot_EnTextColorpickin:SetStatusBarColor(0, 1, 0, inHealAlpha)
|
||||||
HealBot_DisTextColorpick:SetStatusBarColor(0, 1, 0, disabledAlpha)
|
HealBot_DisTextColorpick:SetStatusBarColor(0, 1, 0, disabledAlpha)
|
||||||
|
|
||||||
|
local maxR = HealBot_Config.bcolormaxr and HealBot_Config.bcolormaxr[skin] or 0.0
|
||||||
|
local maxG = HealBot_Config.bcolormaxg and HealBot_Config.bcolormaxg[skin] or 1.0
|
||||||
|
local maxB = HealBot_Config.bcolormaxb and HealBot_Config.bcolormaxb[skin] or 0.0
|
||||||
|
if HealBot_MaxHPColorpick then
|
||||||
|
HealBot_MaxHPColorpick:SetStatusBarColor(maxR, maxG, maxB, 1.0)
|
||||||
|
end
|
||||||
|
|
||||||
|
local minR = HealBot_Config.bcolorminr and HealBot_Config.bcolorminr[skin] or 1.0
|
||||||
|
local minG = HealBot_Config.bcolorming and HealBot_Config.bcolorming[skin] or 0.0
|
||||||
|
local minB = HealBot_Config.bcolorminb and HealBot_Config.bcolorminb[skin] or 0.0
|
||||||
|
if HealBot_MinHPColorpick then
|
||||||
|
HealBot_MinHPColorpick:SetStatusBarColor(minR, minG, minB, 1.0)
|
||||||
|
end
|
||||||
|
|
||||||
-- 2. Set Text Colors
|
-- 2. Set Text Colors
|
||||||
HealBot_EnTextColorpickt:SetTextColor(
|
HealBot_EnTextColorpickt:SetTextColor(
|
||||||
HealBot_Config.btextenabledcolr[skin], HealBot_Config.btextenabledcolg[skin],
|
HealBot_Config.btextenabledcolr[skin], HealBot_Config.btextenabledcolg[skin],
|
||||||
@@ -203,13 +227,30 @@ function HealBot_SetSkinColours()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- 5. Update Text Labels
|
-- 5. Update Text Labels
|
||||||
HealBot_EnTextColorpickt:SetTextHeight(btextheight)
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
HealBot_DisTextColorpickt:SetTextHeight(btextheight)
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[skin]) or 0
|
||||||
HealBot_DebTextColorpickt:SetTextHeight(btextheight)
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
|
||||||
|
if HealBot_EnTextColorpickt then
|
||||||
|
HealBot_EnTextColorpickt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
HealBot_EnTextColorpickt:SetText(HEALBOT_SKIN_ENTEXT)
|
HealBot_EnTextColorpickt:SetText(HEALBOT_SKIN_ENTEXT)
|
||||||
|
end
|
||||||
|
if HealBot_DisTextColorpickt then
|
||||||
|
HealBot_DisTextColorpickt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
HealBot_DisTextColorpickt:SetText(HEALBOT_SKIN_DISTEXT)
|
HealBot_DisTextColorpickt:SetText(HEALBOT_SKIN_DISTEXT)
|
||||||
|
end
|
||||||
|
if HealBot_DebTextColorpickt then
|
||||||
|
HealBot_DebTextColorpickt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
HealBot_DebTextColorpickt:SetText(HEALBOT_SKIN_DEBTEXT)
|
HealBot_DebTextColorpickt:SetText(HEALBOT_SKIN_DEBTEXT)
|
||||||
|
end
|
||||||
|
if HealBot_MaxHPColorpickt then
|
||||||
|
HealBot_MaxHPColorpickt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
HealBot_MaxHPColorpickt:SetText(HEALBOT_SKIN_MAXHPTEXT or "Max HP")
|
||||||
|
end
|
||||||
|
if HealBot_MinHPColorpickt then
|
||||||
|
HealBot_MinHPColorpickt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
HealBot_MinHPColorpickt:SetText(HEALBOT_SKIN_MINHPTEXT or "Min HP")
|
||||||
|
end
|
||||||
|
|
||||||
-- 6. Force UI redraw (Kept the scale hack since it addresses a specific engine quirk)
|
-- 6. Force UI redraw (Kept the scale hack since it addresses a specific engine quirk)
|
||||||
local barScale = HealBot_EnTextColorpick:GetScale()
|
local barScale = HealBot_EnTextColorpick:GetScale()
|
||||||
|
|||||||
+17
-23
@@ -10,7 +10,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="31" y="-40" />
|
<AbsDimension x="60" y="-40" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionLocked" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionLocked" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GrowUpwards" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GrowUpwards" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionLocked" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionLocked" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="200" y="0" />
|
<AbsDimension x="280" y="0" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GrowUpwards" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GrowUpwards" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="200" y="0" />
|
<AbsDimension x="280" y="0" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionMouseover" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ActionMouseover" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="200" y="0" />
|
<AbsDimension x="280" y="0" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -94,20 +94,14 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_GenFrame" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_GenFrame">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="95"/>
|
<AbsDimension y="95"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="21" y="-135"/>
|
<AbsDimension x="60" y="-135"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
<Anchor point="TOPRIGHT">
|
<Anchor point="TOPRIGHT">
|
||||||
@@ -122,7 +116,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="130" y="-12" />
|
<AbsDimension x="280" y="-12" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -134,7 +128,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="10" y="-30" />
|
<AbsDimension x="0" y="-30" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -156,7 +150,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="180" y="0" />
|
<AbsDimension x="280" y="0" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -178,7 +172,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-2" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -203,7 +197,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GenFrame" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GenFrame" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="10" y="-10" />
|
<AbsDimension x="0" y="-10" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -216,7 +210,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideOptions" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideOptions" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-2" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -229,7 +223,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideAbort" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideAbort" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-2" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -242,7 +236,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_QualityRange" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_QualityRange" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-2" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -255,7 +249,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ProtectPvP" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ProtectPvP" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-2" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
|
|||||||
+18
-30
@@ -5,13 +5,7 @@
|
|||||||
<Frame name="HealBot_Options_Panel3" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
<Frame name="HealBot_Options_Panel3" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
||||||
<Frames>
|
<Frames>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_HealTargetFrame" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_HealTargetFrame">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="88"/>
|
<AbsDimension y="88"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -32,9 +26,9 @@
|
|||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
<FontString name="HealBot_HealButtons_Text" text="HEALBOT_OPTIONS_HEAL_BUTTONS" inherits="GameFontNormalSmall">
|
<FontString name="HealBot_HealButtons_Text" text="HEALBOT_OPTIONS_HEAL_BUTTONS" inherits="GameFontNormalSmall">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="100" y="-8" />
|
<AbsDimension x="0" y="-8" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -47,7 +41,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-21" />
|
<AbsDimension x="85" y="-21" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -60,7 +54,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5" />
|
<AbsDimension x="0" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -86,7 +80,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="122" y="5" />
|
<AbsDimension x="122" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -99,7 +93,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_GroupHeals" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="244" y="5" />
|
<AbsDimension x="244" y="-5" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -114,9 +108,9 @@
|
|||||||
|
|
||||||
<Slider name="HealBot_Options_AlertLevel" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_AlertLevel" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="45" y="-132" />
|
<AbsDimension x="0" y="-132" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -142,9 +136,9 @@
|
|||||||
|
|
||||||
<Frame name="HealBot_Options_EmergencyFilter" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_EmergencyFilter" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="155" y="-205" />
|
<AbsDimension x="40" y="-205" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -170,9 +164,9 @@
|
|||||||
|
|
||||||
<Frame name="HealBot_Options_ExtraSort" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_ExtraSort" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="155" y="-238" />
|
<AbsDimension x="40" y="-238" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -198,9 +192,9 @@
|
|||||||
|
|
||||||
<Frame name="HealBot_Options_HealthText" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_HealthText" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="155" y="-271" />
|
<AbsDimension x="40" y="-271" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -224,13 +218,7 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_EmergLFrame" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_EmergLFrame">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="125"/>
|
<AbsDimension y="125"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -251,9 +239,9 @@
|
|||||||
|
|
||||||
<Frame name="HealBot_Options_EmergencyFClass" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_EmergencyFClass" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="128" y="-10" />
|
<AbsDimension x="40" y="-10" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
|
|||||||
@@ -1,7 +1,138 @@
|
|||||||
|
-- HealBot_Options_Integrations.lua
|
||||||
|
|
||||||
|
local function HealBot_Options_SetDropDownState(frame, enabled)
|
||||||
|
if not frame then return end
|
||||||
|
local button = getglobal(frame:GetName() .. "Button")
|
||||||
|
local text = getglobal(frame:GetName() .. "Text")
|
||||||
|
if button then
|
||||||
|
if enabled then
|
||||||
|
button:Enable()
|
||||||
|
else
|
||||||
|
button:Disable()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if text then
|
||||||
|
if enabled then
|
||||||
|
text:SetTextColor(1, 1, 1)
|
||||||
|
else
|
||||||
|
text:SetTextColor(0.5, 0.5, 0.5)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Update enabled/disabled state of dropdowns based on current config
|
||||||
|
function HealBot_Options_Integrations_UpdateDropdownStates()
|
||||||
|
local timersEnabled = HealBot_Config.HealBot_Integrations_ShowHoTTimers == 1
|
||||||
|
local displayMode = HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode or 0
|
||||||
|
|
||||||
|
HealBot_Options_SetDropDownState(HealBot_Options_Integrations_DisplayModeDropdown, timersEnabled)
|
||||||
|
HealBot_Options_SetDropDownState(HealBot_Options_Integrations_PositionDropdown, timersEnabled and (displayMode == 0 or displayMode == 2))
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_Options_Integrations_OnShow: UI handler for OnShow options panel.
|
-- HealBot_Options_Integrations_OnShow: UI handler for OnShow options panel.
|
||||||
function HealBot_Options_Integrations_OnShow(this)
|
function HealBot_Options_Integrations_OnShow(this)
|
||||||
HealBot_Options_Integrations_UnitXP:SetChecked(HealBot_Config.HealBot_Integrations_UnitXP);
|
HealBot_Options_Integrations_UnitXP:SetChecked(HealBot_Config.HealBot_Integrations_UnitXP);
|
||||||
HealBot_Options_Integrations_Nampower:SetChecked(HealBot_Config.HealBot_Integrations_Nampower);
|
HealBot_Options_Integrations_Nampower:SetChecked(HealBot_Config.HealBot_Integrations_Nampower);
|
||||||
HealBot_Options_Integrations_SuperWoW:SetChecked(HealBot_Config.HealBot_Integrations_SuperWoW);
|
HealBot_Options_Integrations_SuperWoW:SetChecked(HealBot_Config.HealBot_Integrations_SuperWoW);
|
||||||
HealBot_Options_Integrations_ClassicAPI:SetChecked(HealBot_Config.HealBot_Integrations_ClassicAPI);
|
HealBot_Options_Integrations_ClassicAPI:SetChecked(HealBot_Config.HealBot_Integrations_ClassicAPI);
|
||||||
|
HealBot_Options_Integrations_ShowHoTTimers:SetChecked(HealBot_Config.HealBot_Integrations_ShowHoTTimers);
|
||||||
|
|
||||||
|
-- Set display mode dropdown text
|
||||||
|
local displayMode = HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode or 0
|
||||||
|
if displayMode == 1 then
|
||||||
|
UIDropDownMenu_SetText("Icon Overlay", HealBot_Options_Integrations_DisplayModeDropdown)
|
||||||
|
elseif displayMode == 2 then
|
||||||
|
UIDropDownMenu_SetText("Both", HealBot_Options_Integrations_DisplayModeDropdown)
|
||||||
|
else
|
||||||
|
UIDropDownMenu_SetText("List", HealBot_Options_Integrations_DisplayModeDropdown)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set position dropdown text
|
||||||
|
local pos = HealBot_Config.HealBot_Integrations_HoTTimerPosition or "BELOW"
|
||||||
|
local posLabels = { BELOW = "Below", ABOVE = "Above", LEFT = "Left", RIGHT = "Right" }
|
||||||
|
UIDropDownMenu_SetText(posLabels[pos] or "Below", HealBot_Options_Integrations_PositionDropdown)
|
||||||
|
|
||||||
|
-- Update enabled/disabled state
|
||||||
|
HealBot_Options_Integrations_UpdateDropdownStates()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Display Mode dropdown click handler (relying on global this)
|
||||||
|
function HealBot_Options_Integrations_DisplayModeDropdown_OnClick()
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_Integrations_DisplayModeDropdown, this:GetID())
|
||||||
|
HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode = this.value
|
||||||
|
UIDropDownMenu_SetText(this:GetText(), HealBot_Options_Integrations_DisplayModeDropdown)
|
||||||
|
HealBot_Options_Integrations_UpdateDropdownStates()
|
||||||
|
if HealBot_Action_UnitButtons then
|
||||||
|
for u in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
HealBot_View_DirtyUnits[u] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if HealBot_Action_UpdatePlayerHoTs then
|
||||||
|
HealBot_Action_UpdatePlayerHoTs()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Display Mode dropdown init
|
||||||
|
function HealBot_Options_Integrations_DisplayModeDropdown_Init()
|
||||||
|
local mode = HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode or 0
|
||||||
|
local info
|
||||||
|
|
||||||
|
info = {}
|
||||||
|
info.text = "List"
|
||||||
|
info.value = 0
|
||||||
|
info.func = HealBot_Options_Integrations_DisplayModeDropdown_OnClick
|
||||||
|
if mode == 0 then
|
||||||
|
info.checked = 1
|
||||||
|
end
|
||||||
|
UIDropDownMenu_AddButton(info)
|
||||||
|
|
||||||
|
info = {}
|
||||||
|
info.text = "Icon Overlay"
|
||||||
|
info.value = 1
|
||||||
|
info.func = HealBot_Options_Integrations_DisplayModeDropdown_OnClick
|
||||||
|
if mode == 1 then
|
||||||
|
info.checked = 1
|
||||||
|
end
|
||||||
|
UIDropDownMenu_AddButton(info)
|
||||||
|
|
||||||
|
info = {}
|
||||||
|
info.text = "Both"
|
||||||
|
info.value = 2
|
||||||
|
info.func = HealBot_Options_Integrations_DisplayModeDropdown_OnClick
|
||||||
|
if mode == 2 then
|
||||||
|
info.checked = 1
|
||||||
|
end
|
||||||
|
UIDropDownMenu_AddButton(info)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Position dropdown click handler (relying on global this)
|
||||||
|
function HealBot_Options_Integrations_PositionDropdown_OnClick()
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_Integrations_PositionDropdown, this:GetID())
|
||||||
|
HealBot_Config.HealBot_Integrations_HoTTimerPosition = this.value
|
||||||
|
UIDropDownMenu_SetText(this:GetText(), HealBot_Options_Integrations_PositionDropdown)
|
||||||
|
if HealBot_Action_UpdatePlayerHoTs then
|
||||||
|
HealBot_Action_UpdatePlayerHoTs()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Position dropdown init
|
||||||
|
function HealBot_Options_Integrations_PositionDropdown_Init()
|
||||||
|
local positions = {
|
||||||
|
{ value = "BELOW", label = "Below" },
|
||||||
|
{ value = "ABOVE", label = "Above" },
|
||||||
|
{ value = "LEFT", label = "Left" },
|
||||||
|
{ value = "RIGHT", label = "Right" },
|
||||||
|
}
|
||||||
|
local currentPos = HealBot_Config.HealBot_Integrations_HoTTimerPosition or "BELOW"
|
||||||
|
|
||||||
|
for _, p in ipairs(positions) do
|
||||||
|
local info = {}
|
||||||
|
info.text = p.label
|
||||||
|
info.value = p.value
|
||||||
|
info.func = HealBot_Options_Integrations_PositionDropdown_OnClick
|
||||||
|
if currentPos == p.value then
|
||||||
|
info.checked = 1
|
||||||
|
end
|
||||||
|
UIDropDownMenu_AddButton(info)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="31" y="-40"/>
|
<AbsDimension x="100" y="-35"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_UnitXP" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_UnitXP" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5"/>
|
<AbsDimension x="0" y="-6"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -44,9 +44,9 @@
|
|||||||
|
|
||||||
<CheckButton name="HealBot_Options_Integrations_SuperWoW" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_Integrations_SuperWoW" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_Nampower" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="31" y="-145"/>
|
<AbsDimension x="0" y="-60"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_SuperWoW" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_SuperWoW" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="5"/>
|
<AbsDimension x="0" y="-6"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -80,15 +80,115 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
</Frames>
|
<CheckButton name="HealBot_Options_Integrations_ShowHoTTimers" inherits="OptionsCheckButtonTemplate">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_ClassicAPI" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="-6"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
getglobal(this:GetName().."Text"):SetText("Track Player HoT Timers");
|
||||||
|
</OnLoad>
|
||||||
|
<OnClick>
|
||||||
|
HealBot_Config.HealBot_Integrations_ShowHoTTimers = this:GetChecked() and 1 or 0;
|
||||||
|
HealBot_Options_Integrations_UpdateDropdownStates();
|
||||||
|
if HealBot_Action_UnitButtons then
|
||||||
|
for u in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
HealBot_View_DirtyUnits[u] = true;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if HealBot_Action_UpdatePlayerHoTs then
|
||||||
|
HealBot_Action_UpdatePlayerHoTs();
|
||||||
|
end
|
||||||
|
</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</CheckButton>
|
||||||
|
|
||||||
|
<!-- HoT Timer Display Mode Dropdown -->
|
||||||
|
<Frame name="HealBot_Options_Integrations_DisplayModeDropdown" inherits="UIDropDownMenuTemplate">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_ShowHoTTimers" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="-15" y="-22"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="ARTWORK">
|
||||||
|
<FontString name="HealBot_Options_Integrations_DisplayModeLabel" inherits="GameFontHighlightSmall" justifyH="LEFT" text="Timer Display Mode:">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOMLEFT" relativePoint="TOPLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="20" y="2"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Color r="1" g="0.82" b="0"/>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
UIDropDownMenu_SetWidth(120, this);
|
||||||
|
UIDropDownMenu_Initialize(this, HealBot_Options_Integrations_DisplayModeDropdown_Init);
|
||||||
|
</OnLoad>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
|
|
||||||
|
<!-- HoT Timer Position Dropdown -->
|
||||||
|
<Frame name="HealBot_Options_Integrations_PositionDropdown" inherits="UIDropDownMenuTemplate">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_DisplayModeDropdown" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="-22"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="ARTWORK">
|
||||||
|
<FontString name="HealBot_Options_Integrations_PositionLabel" inherits="GameFontHighlightSmall" justifyH="LEFT" text="Timer List Position:">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOMLEFT" relativePoint="TOPLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="20" y="2"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Color r="1" g="0.82" b="0"/>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
UIDropDownMenu_SetWidth(120, this);
|
||||||
|
UIDropDownMenu_Initialize(this, HealBot_Options_Integrations_PositionDropdown_Init);
|
||||||
|
</OnLoad>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
|
|
||||||
|
<Frame setAllPoints="true">
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="ARTWORK">
|
<Layer level="ARTWORK">
|
||||||
<FontString name="HealBot_Options_Integrations_NampowerInfo" inherits="GameFontHighlightSmall" justifyH="LEFT" justifyV="TOP" text="Note: For the 1-click Shapeshift auto-unshift to work smoothly, you must ENABLE 'Retry server rejected spells' in Nampower ENABLE Queue Instant Cast Spells and Queue Cast Time Spells.">
|
<FontString name="HealBot_Options_Integrations_NampowerInfo" inherits="GameFontHighlightSmall" justifyH="LEFT" justifyV="TOP" text="Note: For the 1-click Shapeshift auto-unshift to work smoothly, you must ENABLE 'Retry server rejected spells' in Nampower ENABLE Queue Instant Cast Spells and Queue Cast Time Spells.">
|
||||||
<Size x="330" y="30"/>
|
<Size x="340" y="48"/>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_Nampower" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="65" y="-95"/>
|
<AbsDimension x="20" y="-4"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Color r="0.7" g="0.7" b="0.7"/>
|
||||||
|
</FontString>
|
||||||
|
<FontString name="HealBot_Options_Integrations_HoTInfo" inherits="GameFontHighlightSmall" justifyH="LEFT" justifyV="TOP" text="Note: HoT Timers require Nampower to be enabled and active to provide accurate aura times.">
|
||||||
|
<Size x="340" y="30"/>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Integrations_PositionDropdown" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="20" y="-6"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -96,6 +196,8 @@
|
|||||||
</FontString>
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
|
</Frame>
|
||||||
|
</Frames>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnShow>
|
<OnShow>
|
||||||
HealBot_Options_Integrations_OnShow(this);
|
HealBot_Options_Integrations_OnShow(this);
|
||||||
|
|||||||
+109
-7
@@ -1,6 +1,41 @@
|
|||||||
-- HealBot Options panel file: HealBot_Options_Skins.lua
|
-- HealBot Options panel file: HealBot_Options_Skins.lua
|
||||||
-- Split from original HealBot_Options.lua
|
-- Split from original HealBot_Options.lua
|
||||||
|
|
||||||
|
HealBot_Font_List = {
|
||||||
|
{ text = "Friz Quadrata", file = "Fonts\\FRIZQT__.TTF" },
|
||||||
|
{ text = "Arial Narrow", file = "Fonts\\ARIALN.TTF" },
|
||||||
|
{ text = "Skurri", file = "Fonts\\skurri.ttf" },
|
||||||
|
{ text = "Morpheus", file = "Fonts\\MORPHEUS.ttf" },
|
||||||
|
}
|
||||||
|
|
||||||
|
function HealBot_Options_FontDD_OnLoad(this)
|
||||||
|
UIDropDownMenu_Initialize(this, HealBot_Options_FontDD_Initialize)
|
||||||
|
UIDropDownMenu_SetWidth(110, this)
|
||||||
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_FontDD_Initialize()
|
||||||
|
local currentFont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
for i = 1, getn(HealBot_Font_List) do
|
||||||
|
local fontItem = HealBot_Font_List[i]
|
||||||
|
local info = {}
|
||||||
|
info.text = fontItem.text
|
||||||
|
info.func = HealBot_Options_FontDD_OnClick
|
||||||
|
info.value = fontItem.file
|
||||||
|
info.checked = (currentFont == fontItem.file)
|
||||||
|
UIDropDownMenu_AddButton(info)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_FontDD_OnClick()
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_Font_Dropdown, this:GetID())
|
||||||
|
if HealBot_Options_Font_DropdownText then
|
||||||
|
HealBot_Options_Font_DropdownText:SetText(this:GetText())
|
||||||
|
end
|
||||||
|
if not HealBot_Config.bfont then HealBot_Config.bfont = {} end
|
||||||
|
HealBot_Config.bfont[HealBot_Config.Current_Skin] = this.value
|
||||||
|
HealBot_Action_ResetSkin()
|
||||||
|
end
|
||||||
|
|
||||||
-- HealBot_Options_BarMaxRowsS_OnValueChanged: UI handler for OnValueChanged options panel.
|
-- HealBot_Options_BarMaxRowsS_OnValueChanged: UI handler for OnValueChanged options panel.
|
||||||
function HealBot_Options_BarMaxRowsS_OnValueChanged(this)
|
function HealBot_Options_BarMaxRowsS_OnValueChanged(this)
|
||||||
if not HealBot_Config.bmaxrows then HealBot_Config.bmaxrows = {} end
|
if not HealBot_Config.bmaxrows then HealBot_Config.bmaxrows = {} end
|
||||||
@@ -8,15 +43,41 @@ function HealBot_Options_BarMaxRowsS_OnValueChanged(this)
|
|||||||
HealBot_Action_PartyChanged()
|
HealBot_Action_PartyChanged()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_Options_GridOrientation_OnClick: UI handler for OnClick options panel.
|
function HealBot_Options_GridOrientationDD_OnLoad(this)
|
||||||
function HealBot_Options_GridOrientation_OnClick(this)
|
UIDropDownMenu_Initialize(this, HealBot_Options_GridOrientationDD_Initialize);
|
||||||
if not HealBot_Config.GridOrientation then HealBot_Config.GridOrientation = {} end
|
UIDropDownMenu_SetWidth(110, this);
|
||||||
if this:GetChecked() then
|
|
||||||
HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] = 2 -- Horizontal
|
|
||||||
else
|
|
||||||
HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] = 1 -- Vertical
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_GridOrientationDD_Initialize()
|
||||||
|
local orient = HealBot_Config.GridOrientation and HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] or 1;
|
||||||
|
local info = {};
|
||||||
|
info.text = "Vertical (Columns)";
|
||||||
|
info.func = HealBot_Options_GridOrientationDD_OnClick;
|
||||||
|
info.value = 1;
|
||||||
|
info.checked = (orient == 1);
|
||||||
|
UIDropDownMenu_AddButton(info);
|
||||||
|
|
||||||
|
info = {};
|
||||||
|
info.text = "Horizontal (Rows)";
|
||||||
|
info.func = HealBot_Options_GridOrientationDD_OnClick;
|
||||||
|
info.value = 2;
|
||||||
|
info.checked = (orient == 2);
|
||||||
|
UIDropDownMenu_AddButton(info);
|
||||||
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_GridOrientationDD_OnClick()
|
||||||
|
UIDropDownMenu_SetSelectedID(HealBot_Options_GridOrientation_Dropdown, this:GetID());
|
||||||
|
if not HealBot_Config.GridOrientation then HealBot_Config.GridOrientation = {} end
|
||||||
|
HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] = this.value;
|
||||||
HealBot_Action_PartyChanged()
|
HealBot_Action_PartyChanged()
|
||||||
|
|
||||||
|
if (this.value == 2) then
|
||||||
|
HealBot_Options_BarMaxRowsS:Hide();
|
||||||
|
HealBot_Options_BarNumColsS:Show();
|
||||||
|
else
|
||||||
|
HealBot_Options_BarMaxRowsS:Show();
|
||||||
|
HealBot_Options_BarNumColsS:Hide();
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_Options_NewSkin_OnTextChanged: UI handler for OnTextChanged options panel.
|
-- HealBot_Options_NewSkin_OnTextChanged: UI handler for OnTextChanged options panel.
|
||||||
@@ -71,6 +132,24 @@ function HealBot_Options_NewSkinb_OnClick(this)
|
|||||||
HealBot_Config.babortcola[HealBot_Options_NewSkin:GetText()] = HealBot_Config.babortcola[HealBot_Config.Current_Skin]
|
HealBot_Config.babortcola[HealBot_Options_NewSkin:GetText()] = HealBot_Config.babortcola[HealBot_Config.Current_Skin]
|
||||||
HealBot_Config.ShowHeader[HealBot_Options_NewSkin:GetText()] = HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]
|
HealBot_Config.ShowHeader[HealBot_Options_NewSkin:GetText()] = HealBot_Config.ShowHeader[HealBot_Config.Current_Skin]
|
||||||
|
|
||||||
|
if not HealBot_Config.bcolormaxr then HealBot_Config.bcolormaxr = {} end
|
||||||
|
if not HealBot_Config.bcolormaxg then HealBot_Config.bcolormaxg = {} end
|
||||||
|
if not HealBot_Config.bcolormaxb then HealBot_Config.bcolormaxb = {} end
|
||||||
|
if not HealBot_Config.bcolorminr then HealBot_Config.bcolorminr = {} end
|
||||||
|
if not HealBot_Config.bcolorming then HealBot_Config.bcolorming = {} end
|
||||||
|
if not HealBot_Config.bcolorminb then HealBot_Config.bcolorminb = {} end
|
||||||
|
if not HealBot_Config.bfont then HealBot_Config.bfont = {} end
|
||||||
|
|
||||||
|
local curSkin = HealBot_Config.Current_Skin
|
||||||
|
local newSkin = HealBot_Options_NewSkin:GetText()
|
||||||
|
HealBot_Config.bcolormaxr[newSkin] = HealBot_Config.bcolormaxr[curSkin] or 0
|
||||||
|
HealBot_Config.bcolormaxg[newSkin] = HealBot_Config.bcolormaxg[curSkin] or 1
|
||||||
|
HealBot_Config.bcolormaxb[newSkin] = HealBot_Config.bcolormaxb[curSkin] or 0
|
||||||
|
HealBot_Config.bcolorminr[newSkin] = HealBot_Config.bcolorminr[curSkin] or 1
|
||||||
|
HealBot_Config.bcolorming[newSkin] = HealBot_Config.bcolorming[curSkin] or 0
|
||||||
|
HealBot_Config.bcolorminb[newSkin] = HealBot_Config.bcolorminb[curSkin] or 0
|
||||||
|
HealBot_Config.bfont[newSkin] = HealBot_Config.bfont[curSkin] or "Fonts\\FRIZQT__.TTF"
|
||||||
|
|
||||||
table.insert(HealBot_Skins,2,HealBot_Options_NewSkin:GetText())
|
table.insert(HealBot_Skins,2,HealBot_Options_NewSkin:GetText())
|
||||||
HealBot_Config.Skin_ID = 2;
|
HealBot_Config.Skin_ID = 2;
|
||||||
HealBot_Config.Skins = HealBot_Skins; HealBot_Config.Current_Skin = HealBot_Options_NewSkin:GetText();
|
HealBot_Config.Skins = HealBot_Skins; HealBot_Config.Current_Skin = HealBot_Options_NewSkin:GetText();
|
||||||
@@ -118,6 +197,13 @@ function HealBot_Options_DeleteSkin_OnClick(this)
|
|||||||
HealBot_Config.babortcolb[HealBot_Options_SkinsText:GetText()] = nil
|
HealBot_Config.babortcolb[HealBot_Options_SkinsText:GetText()] = nil
|
||||||
HealBot_Config.babortcola[HealBot_Options_SkinsText:GetText()] = nil
|
HealBot_Config.babortcola[HealBot_Options_SkinsText:GetText()] = nil
|
||||||
HealBot_Config.ShowHeader[HealBot_Options_SkinsText:GetText()] = nil
|
HealBot_Config.ShowHeader[HealBot_Options_SkinsText:GetText()] = nil
|
||||||
|
if HealBot_Config.bcolormaxr then HealBot_Config.bcolormaxr[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bcolormaxg then HealBot_Config.bcolormaxg[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bcolormaxb then HealBot_Config.bcolormaxb[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bcolorminr then HealBot_Config.bcolorminr[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bcolorming then HealBot_Config.bcolorming[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bcolorminb then HealBot_Config.bcolorminb[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
|
if HealBot_Config.bfont then HealBot_Config.bfont[HealBot_Options_SkinsText:GetText()] = nil end
|
||||||
table.remove(HealBot_Skins,HealBot_Config.Skin_ID)
|
table.remove(HealBot_Skins,HealBot_Config.Skin_ID)
|
||||||
HealBot_Config.Skin_ID = 1;
|
HealBot_Config.Skin_ID = 1;
|
||||||
HealBot_Config.Skins = HealBot_Skins;
|
HealBot_Config.Skins = HealBot_Skins;
|
||||||
@@ -158,3 +244,19 @@ function HealBot_Options_Skins_OnSelect()
|
|||||||
HealBot_Options_SetSkins()
|
HealBot_Options_SetSkins()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_TestBarsButton_OnClick(this)
|
||||||
|
if HealBot_Config.TestBarsOn then
|
||||||
|
HealBot_Config.TestBarsOn = false
|
||||||
|
this:SetText(HEALBOT_OPTIONS_TESTBARS.." OFF")
|
||||||
|
else
|
||||||
|
HealBot_Config.TestBarsOn = true
|
||||||
|
this:SetText(HEALBOT_OPTIONS_TESTBARS.." ON")
|
||||||
|
end
|
||||||
|
HealBot_Action_PartyChanged()
|
||||||
|
end
|
||||||
|
|
||||||
|
function HealBot_Options_NumTestBars_OnValueChanged(this)
|
||||||
|
HealBot_Config.numTestBars = this:GetValue()
|
||||||
|
if HealBot_Config.TestBarsOn then HealBot_Action_PartyChanged() end
|
||||||
|
end
|
||||||
|
|||||||
+365
-445
@@ -21,9 +21,9 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="70" y="-28" />
|
<AbsDimension x="-50" y="-28" />
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -93,13 +93,7 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_Scale" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_Scale">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="325"/>
|
<AbsDimension y="325"/>
|
||||||
</Size>
|
</Size>
|
||||||
@@ -115,610 +109,536 @@
|
|||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
|
||||||
<Layer level="BACKGROUND">
|
|
||||||
<FontString name="HealBot_Options_ScaleFrameText3" text="HEALBOT_OPTIONS_SKINBARS" inherits="GameFontNormalSmall">
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="50" y="-12" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
</FontString>
|
|
||||||
</Layer>
|
|
||||||
</Layers>
|
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="HealBot_Options_ShowHeaders" inherits="SendMailRadioButtonTemplate">
|
<!-- COLUMN 1: Geometry -->
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="155" y="-8" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_ShowHeaders_OnLoad(this,HEALBOT_OPTIONS_SHOWHEADERS)</OnLoad>
|
|
||||||
<OnClick>HealBot_Options_ShowHeaders_OnClick(this)</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</CheckButton>
|
|
||||||
<CheckButton name="HealBot_Options_BarColorMode" inherits="SendMailRadioButtonTemplate">
|
|
||||||
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="290" y="-8" /></Offset></Anchor></Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>getglobal(this:GetName().."Text"):SetText("Class Colors")</OnLoad>
|
|
||||||
<OnClick>HealBot_Config.bcolormode[HealBot_Config.Current_Skin] = (this:GetChecked() and 2 or 1); HealBot_Action_ResetSkin()</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</CheckButton>
|
|
||||||
<CheckButton name="HealBot_Options_FontOutline" inherits="SendMailRadioButtonTemplate">
|
|
||||||
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="290" y="-33" /></Offset></Anchor></Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>getglobal(this:GetName().."Text"):SetText("Font Outline")</OnLoad>
|
|
||||||
<OnClick>HealBot_Config.bfontoutline[HealBot_Config.Current_Skin] = (this:GetChecked() and 1 or 0); HealBot_Action_ResetSkin()</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</CheckButton>
|
|
||||||
<CheckButton name="HealBot_Options_1pxBorders" inherits="SendMailRadioButtonTemplate">
|
|
||||||
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="290" y="-58" /></Offset></Anchor></Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>getglobal(this:GetName().."Text"):SetText("1px Borders")</OnLoad>
|
|
||||||
<OnClick>HealBot_Config.bborder[HealBot_Config.Current_Skin] = (this:GetChecked() and 1 or 2); HealBot_Action_ResetSkin()</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</CheckButton>
|
|
||||||
|
|
||||||
<Slider name="HealBot_Options_BarTextureS" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="20" y="-40" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINTEXTURE,1,14)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarTextureS_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<Slider name="HealBot_Options_BarNumColsS" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="18" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarTextureS" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINNUMCOLS,1,8)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarNumColsS_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<Slider name="HealBot_Options_BarHeightS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_BarHeightS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="18" /></Size>
|
||||||
<AbsDimension x="123" y="18" />
|
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="45" y="-15" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarTextureS" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-32" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINHEIGHT,10,100)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINHEIGHT,10,100)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_BarHeightS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_BarHeightS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
<Slider name="HealBot_Options_BarWidthS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_BarWidthS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarHeightS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarHeightS" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINWIDTH,50,225)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINWIDTH,50,225)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_BarWidthS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_BarWidthS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
|
|
||||||
<Slider name="HealBot_Options_BarBRSpaceS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_BarBRSpaceS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarWidthS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarHeightS" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-32" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINBRSPACE,0,10)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINBRSPACE,0,10)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_BarBRSpaceS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_BarBRSpaceS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
<Slider name="HealBot_Options_BarBCSpaceS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_BarBCSpaceS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBRSpaceS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBRSpaceS" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINBCSPACE,0,25)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINBCSPACE,0,25)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_BarBCSpaceS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_BarBCSpaceS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
<Slider name="HealBot_Options_FramePaddingS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_FramePaddingS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBCSpaceS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBCSpaceS" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,"Frame Padding",0,50)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,"Frame Padding",0,50)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_FramePaddingS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_FramePaddingS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
|
|
||||||
|
|
||||||
<Slider name="HealBot_Options_BarAlpha" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBRSpaceS" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-35" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_Pct_OnLoad_MinMax(this,HEALBOT_OPTIONS_BARALPHA,0.25,1)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarAlpha_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
|
|
||||||
<Slider name="HealBot_Options_BarAlphaInHeal" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlpha" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_Pct_OnLoad_MinMax(this,HEALBOT_OPTIONS_BARALPHAINHEAL,0.05,0.75)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarAlphaInHeal_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<Slider name="HealBot_Options_BarAlphaDis" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlpha" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-35" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_Pct_OnLoad(this,HEALBOT_OPTIONS_BARALPHADIS)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarAlphaDis_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<Slider name="HealBot_Options_AbortBarSize" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlphaDis" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,"Abort size",0,15)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_AbortBarSize_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<Slider name="HealBot_Options_FontHeight" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_FontHeight" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_FramePaddingS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlphaDis" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-35" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINFHEIGHT,7,18)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINFHEIGHT,7,18)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_FontHeight_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_FontHeight_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
<Slider name="HealBot_Options_IconSizeS" inherits="HealBot_Options_SliderTemplate">
|
<Slider name="HealBot_Options_IconSizeS" inherits="HealBot_Options_SliderTemplate">
|
||||||
<Size>
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,"Icon size",5,30)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,"Icon size",5,30)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_IconSizeS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_IconSizeS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
|
|
||||||
<Slider name="HealBot_Options_BorderThicknessS" inherits="HealBot_Options_SliderTemplate">
|
<!-- COLUMN 2: Grid & Layout -->
|
||||||
<Size>
|
<CheckButton name="HealBot_Options_ShowHeaders" inherits="SendMailRadioButtonTemplate">
|
||||||
<AbsDimension x="123" y="17" />
|
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="190" y="-5" /></Offset></Anchor></Anchors>
|
||||||
</Size>
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_ShowHeaders_OnLoad(this,HEALBOT_OPTIONS_SHOWHEADERS)</OnLoad>
|
||||||
|
<OnClick>HealBot_Options_ShowHeaders_OnClick(this)</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</CheckButton>
|
||||||
|
<Frame name="HealBot_Options_GridOrientation_Dropdown" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowHeaders" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="-15" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString inherits="GameFontNormalSmall" text="Grid Layout">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlphaInHeal" relativePoint="TOPRIGHT">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="15" y="0"/></Offset>
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_GridOrientationDD_OnLoad(this)</OnLoad>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
|
<Slider name="HealBot_Options_BarNumColsS" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="18" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_GridOrientation_Dropdown" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="15" y="-15" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINNUMCOLS,1,8)
|
||||||
|
local orient = HealBot_Config.GridOrientation and HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] or 1; if (orient == 2) then this:Show() else this:Hide() end
|
||||||
|
</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarNumColsS_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_BarMaxRowsS" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_GridOrientation_Dropdown" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="15" y="-15" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
HealBot_Options_val_OnLoad(this,"Max Rows",0,40)
|
||||||
|
local orient = HealBot_Config.GridOrientation and HealBot_Config.GridOrientation[HealBot_Config.Current_Skin] or 1; if (orient == 2) then this:Hide() else this:Show() end
|
||||||
|
</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarMaxRowsS_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_AbortBarSize" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarMaxRowsS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_val_OnLoad(this,"Abort size",0,15)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_AbortBarSize_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Frame name="HealBot_Options_Font_Dropdown" inherits="UIDropDownMenuTemplate" id="2">
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_AbortBarSize" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="-15" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString inherits="GameFontNormalSmall" text="Font">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
|
<Offset><AbsDimension x="15" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_FontDD_OnLoad(this)</OnLoad>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
|
<Button name="HealBot_Options_TestBarsButton" inherits="UIPanelButtonTemplate" text="HEALBOT_OPTIONS_TESTBARS">
|
||||||
|
<Size><AbsDimension x="123" y="22"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Font_Dropdown" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset><AbsDimension x="15" y="-12"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnClick>HealBot_Options_TestBarsButton_OnClick(this)</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</Button>
|
||||||
|
<Slider name="HealBot_Options_NumTestBarsS" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_TestBarsButton" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset><AbsDimension x="0" y="-18"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_TESTBARS,1,40)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_NumTestBars_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
|
||||||
|
<!-- COLUMN 3: Visuals & Opacity -->
|
||||||
|
<CheckButton name="HealBot_Options_BarColorMode" inherits="SendMailRadioButtonTemplate">
|
||||||
|
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="335" y="-5" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>getglobal(this:GetName().."Text"):SetText("Class Colors")</OnLoad>
|
||||||
|
<OnClick>HealBot_Config.bcolormode[HealBot_Config.Current_Skin] = (this:GetChecked() and 2 or 1); HealBot_Action_ResetSkin()</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</CheckButton>
|
||||||
|
<CheckButton name="HealBot_Options_FontOutline" inherits="SendMailRadioButtonTemplate">
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarColorMode" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-5" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>getglobal(this:GetName().."Text"):SetText("Font Outline")</OnLoad>
|
||||||
|
<OnClick>HealBot_Config.bfontoutline[HealBot_Config.Current_Skin] = (this:GetChecked() and 1 or 0); HealBot_Action_ResetSkin()</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</CheckButton>
|
||||||
|
<CheckButton name="HealBot_Options_1pxBorders" inherits="SendMailRadioButtonTemplate">
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontOutline" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-5" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>getglobal(this:GetName().."Text"):SetText("1px Borders")</OnLoad>
|
||||||
|
<OnClick>HealBot_Config.bborder[HealBot_Config.Current_Skin] = (this:GetChecked() and 1 or 2); HealBot_Action_ResetSkin()</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</CheckButton>
|
||||||
|
<Slider name="HealBot_Options_BarTextureS" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_1pxBorders" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-15" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_val_OnLoad(this,HEALBOT_OPTIONS_SKINTEXTURE,1,14)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarTextureS_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_BarAlpha" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarTextureS" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_Pct_OnLoad_MinMax(this,HEALBOT_OPTIONS_BARALPHA,0.25,1)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarAlpha_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_BarAlphaInHeal" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlpha" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_Pct_OnLoad_MinMax(this,HEALBOT_OPTIONS_BARALPHAINHEAL,0.05,0.75)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarAlphaInHeal_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_BarAlphaDis" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlphaInHeal" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>HealBot_Options_Pct_OnLoad(this,HEALBOT_OPTIONS_BARALPHADIS)</OnLoad>
|
||||||
|
<OnValueChanged>HealBot_Options_BarAlphaDis_OnValueChanged(this)</OnValueChanged>
|
||||||
|
</Scripts>
|
||||||
|
</Slider>
|
||||||
|
<Slider name="HealBot_Options_BorderThicknessS" inherits="HealBot_Options_SliderTemplate">
|
||||||
|
<Size><AbsDimension x="123" y="17" /></Size>
|
||||||
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarAlphaDis" relativePoint="BOTTOMLEFT"><Offset><AbsDimension x="0" y="-20" /></Offset></Anchor></Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,"Solid Border",1,10)</OnLoad>
|
<OnLoad>HealBot_Options_val_OnLoad(this,"Solid Border",1,10)</OnLoad>
|
||||||
<OnValueChanged>HealBot_Options_BorderThicknessS_OnValueChanged(this)</OnValueChanged>
|
<OnValueChanged>HealBot_Options_BorderThicknessS_OnValueChanged(this)</OnValueChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Slider>
|
</Slider>
|
||||||
<Slider name="HealBot_Options_BarMaxRowsS" inherits="HealBot_Options_SliderTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="123" y="17" />
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_AbortBarSize" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="10" y="0" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>HealBot_Options_val_OnLoad(this,"Max Rows",0,40)</OnLoad>
|
|
||||||
<OnValueChanged>HealBot_Options_BarMaxRowsS_OnValueChanged(this)</OnValueChanged>
|
|
||||||
</Scripts>
|
|
||||||
</Slider>
|
|
||||||
<CheckButton name="HealBot_Options_GridOrientation" inherits="OptionsCheckButtonTemplate">
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarMaxRowsS" relativePoint="BOTTOMLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="-5" y="-10" />
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
getglobal(this:GetName().."Text"):SetText("Horizontal Grid");
|
|
||||||
</OnLoad>
|
|
||||||
<OnClick>
|
|
||||||
HealBot_Options_GridOrientation_OnClick(this);
|
|
||||||
</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</CheckButton>
|
|
||||||
|
|
||||||
<Button name="HealBot_EnTextColorpickb">
|
<!-- BOTTOM ROW 1: Max HP, Min HP, Font Enabled, Font Disabled -->
|
||||||
<Size>
|
<StatusBar name="HealBot_MaxHPColorpick" inherits="TextStatusBar">
|
||||||
<AbsDimension x="87" y="20"/>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_IconSizeS" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="-25" y="-30"/></Offset>
|
||||||
<AbsDimension x="0" y="-15"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("En")</OnClick>
|
|
||||||
</Scripts>
|
|
||||||
</Button>
|
|
||||||
<StatusBar name="HealBot_EnTextColorpick" inherits="TextStatusBar">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-15"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString name="HealBot_EnTextColorpickt" inherits="GameFontNormalSmall" text="HEALBOT_SKIN_ENTEXT">
|
<FontString inherits="GameFontNormalSmall" text="Max Health">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_EnTextColorpick" relativePoint="CENTER">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</FontString>
|
</FontString>
|
||||||
|
<FontString name="HealBot_MaxHPColorpickt" inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_MAXHPTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
|
<BarColor r="0" g="1" b="0"/>
|
||||||
|
</StatusBar>
|
||||||
|
<Button name="HealBot_MaxHPColorpickb">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_MaxHPColorpick" relativePoint="TOPLEFT">
|
||||||
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(70); </OnLoad>
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
|
<OnClick>HealBot_SkinColorpick_OnClick("MaxHP")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<StatusBar name="HealBot_MinHPColorpick" inherits="TextStatusBar">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_MaxHPColorpick" relativePoint="TOPRIGHT">
|
||||||
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString inherits="GameFontNormalSmall" text="Min Health">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
<FontString name="HealBot_MinHPColorpickt" inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_MINHPTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
|
<BarColor r="1" g="0" b="0"/>
|
||||||
|
</StatusBar>
|
||||||
|
<Button name="HealBot_MinHPColorpickb">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_MinHPColorpick" relativePoint="TOPLEFT">
|
||||||
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
|
<OnClick>HealBot_SkinColorpick_OnClick("MinHP")</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<StatusBar name="HealBot_EnTextColorpick" inherits="TextStatusBar">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_MinHPColorpick" relativePoint="TOPRIGHT">
|
||||||
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString inherits="GameFontNormalSmall" text="Font Normal">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
<FontString name="HealBot_EnTextColorpickt" inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_ENTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(70);</OnLoad></Scripts>
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
<StatusBar name="HealBot_EnTextColorpickin" inherits="TextStatusBar">
|
<StatusBar name="HealBot_EnTextColorpickin" inherits="TextStatusBar">
|
||||||
<Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<AbsDimension x="87" y="20"/>
|
<Anchors><Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick"/></Anchors>
|
||||||
</Size>
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="-15"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
<Button name="HealBot_EnTextColorpickb">
|
||||||
<Button name="HealBot_DisTextColorpickb">
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<Size>
|
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
|
<OnClick>HealBot_SkinColorpick_OnClick("En")</OnClick>
|
||||||
|
</Scripts>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<StatusBar name="HealBot_DisTextColorpick" inherits="TextStatusBar">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPRIGHT">
|
||||||
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString inherits="GameFontNormalSmall" text="Font Disabled">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
<FontString name="HealBot_DisTextColorpickt" inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_DISTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
</Layers>
|
||||||
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
|
<BarColor r="0" g="1" b="0"/>
|
||||||
|
</StatusBar>
|
||||||
|
<Button name="HealBot_DisTextColorpickb">
|
||||||
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_DisTextColorpick" relativePoint="TOPLEFT">
|
||||||
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("Dis")</OnClick>
|
<OnClick>HealBot_SkinColorpick_OnClick("Dis")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<StatusBar name="HealBot_DisTextColorpick" inherits="TextStatusBar">
|
|
||||||
<Size>
|
<!-- BOTTOM ROW 2: Font Debuff, Background, Border, Abort Bar -->
|
||||||
<AbsDimension x="87" y="20"/>
|
<StatusBar name="HealBot_DebTextColorpick" inherits="TextStatusBar">
|
||||||
</Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_MaxHPColorpick" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="-22"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString name="HealBot_DisTextColorpickt" inherits="GameFontNormalSmall" text="HEALBOT_SKIN_DISTEXT">
|
<FontString inherits="GameFontNormalSmall" text="Font Debuff">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_DisTextColorpick" relativePoint="CENTER">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</FontString>
|
</FontString>
|
||||||
|
<FontString name="HealBot_DebTextColorpickt" inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_DEBTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Scripts>
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
|
||||||
<Button name="HealBot_DebTextColorpickb">
|
<Button name="HealBot_DebTextColorpickb">
|
||||||
<Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_DisTextColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_DebTextColorpick" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("Debuff")</OnClick>
|
<OnClick>HealBot_SkinColorpick_OnClick("Debuff")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<StatusBar name="HealBot_DebTextColorpick" inherits="HealBot_ColourButtonTemplate">
|
|
||||||
<Size>
|
<StatusBar name="HealBot_BackgroundColorpick" inherits="TextStatusBar">
|
||||||
<AbsDimension x="87" y="20"/>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_DisTextColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_DebTextColorpick" relativePoint="TOPRIGHT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString name="HealBot_DebTextColorpickt" inherits="GameFontNormalSmall" text="HEALBOT_SKIN_DEBTEXT">
|
<FontString inherits="GameFontNormalSmall" text="Background">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_DebTextColorpick" relativePoint="CENTER">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</FontString>
|
</FontString>
|
||||||
|
<FontString inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_BACKTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Scripts>
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
|
||||||
|
|
||||||
<Button name="HealBot_BackgroundColorpickb">
|
<Button name="HealBot_BackgroundColorpickb">
|
||||||
<Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_BackgroundColorpick" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
<AbsDimension x="0" y="-25"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("Back")</OnClick>
|
<OnClick>HealBot_SkinColorpick_OnClick("Back")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<StatusBar name="HealBot_BackgroundColorpick" inherits="HealBot_ColourButtonTemplate">
|
|
||||||
<Size>
|
<StatusBar name="HealBot_BorderColorpick" inherits="TextStatusBar">
|
||||||
<AbsDimension x="87" y="20"/>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_EnTextColorpick" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_BackgroundColorpick" relativePoint="TOPRIGHT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
<AbsDimension x="0" y="-25"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString inherits="GameFontNormalSmall" text="HEALBOT_SKIN_BACKTEXT">
|
<FontString inherits="GameFontNormalSmall" text="Border">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_BackgroundColorpick" relativePoint="CENTER">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</FontString>
|
</FontString>
|
||||||
|
<FontString inherits="GameFontHighlightSmall" text="HEALBOT_SKIN_BORDERTEXT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Scripts>
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
<Button name="HealBot_BorderColorpickb">
|
<Button name="HealBot_BorderColorpickb">
|
||||||
<Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_BackgroundColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_BorderColorpick" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("Bor")</OnClick>
|
<OnClick>HealBot_SkinColorpick_OnClick("Bor")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<StatusBar name="HealBot_BorderColorpick" inherits="HealBot_ColourButtonTemplate">
|
|
||||||
<Size>
|
<StatusBar name="HealBot_AbortColorpick" inherits="TextStatusBar">
|
||||||
<AbsDimension x="87" y="20"/>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_BackgroundColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_BorderColorpick" relativePoint="TOPRIGHT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="12" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
<FontString inherits="GameFontNormalSmall" text="HEALBOT_SKIN_BORDERTEXT">
|
<FontString inherits="GameFontNormalSmall" text="Abort Bar">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_BorderColorpick" relativePoint="CENTER">
|
<Anchor point="BOTTOM" relativePoint="TOP">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="2"/></Offset>
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</FontString>
|
</FontString>
|
||||||
|
<FontString inherits="GameFontHighlightSmall" text="HEALBOT_ACTION_ABORT">
|
||||||
|
<Anchors><Anchor point="CENTER"/></Anchors>
|
||||||
|
</FontString>
|
||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Scripts>
|
<Scripts><OnLoad>this:SetMinMaxValues(0,100); this:SetValue(100);</OnLoad></Scripts>
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
||||||
<BarColor r="0" g="1" b="0"/>
|
<BarColor r="0" g="1" b="0"/>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
<Button name="HealBot_AbortColorpickb">
|
<Button name="HealBot_AbortColorpickb">
|
||||||
<Size>
|
<Size><AbsDimension x="87" y="18"/></Size>
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_BorderColorpick" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_AbortColorpick" relativePoint="TOPLEFT">
|
||||||
<Offset>
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
|
<OnLoad>this:SetFrameLevel(this:GetParent():GetFrameLevel() + 2)</OnLoad>
|
||||||
<OnClick>HealBot_SkinColorpick_OnClick("Abort")</OnClick>
|
<OnClick>HealBot_SkinColorpick_OnClick("Abort")</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<StatusBar name="HealBot_AbortColorpick" inherits="HealBot_ColourButtonTemplate">
|
|
||||||
<Size>
|
|
||||||
<AbsDimension x="87" y="20"/>
|
|
||||||
</Size>
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_BorderColorpick" relativePoint="TOPRIGHT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="5" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
<Layers>
|
|
||||||
<Layer level="OVERLAY">
|
|
||||||
<FontString inherits="GameFontNormalSmall" text="HEALBOT_ACTION_ABORT">
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="CENTER" relativeTo="HealBot_AbortColorpick" relativePoint="CENTER">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="0" y="1"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
</FontString>
|
|
||||||
</Layer>
|
|
||||||
</Layers>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad> this:SetMinMaxValues(0,100); this:SetValue(100); </OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
|
|
||||||
<BarColor r="0" g="1" b="0"/>
|
|
||||||
</StatusBar>
|
|
||||||
|
|
||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
|||||||
@@ -116,6 +116,11 @@ function HealBot_Options_ComboClass_Text()
|
|||||||
HealBot_Options_Shift:SetText(combo["Shift"..button] or "")
|
HealBot_Options_Shift:SetText(combo["Shift"..button] or "")
|
||||||
HealBot_Options_Ctrl:SetText(combo["Ctrl"..button] or "")
|
HealBot_Options_Ctrl:SetText(combo["Ctrl"..button] or "")
|
||||||
HealBot_Options_ShiftCtrl:SetText(combo["ShiftCtrl"..button] or "")
|
HealBot_Options_ShiftCtrl:SetText(combo["ShiftCtrl"..button] or "")
|
||||||
|
else
|
||||||
|
HealBot_Options_Click:SetText("")
|
||||||
|
HealBot_Options_Shift:SetText("")
|
||||||
|
HealBot_Options_Ctrl:SetText("")
|
||||||
|
HealBot_Options_ShiftCtrl:SetText("")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+54
-42
@@ -4,19 +4,19 @@
|
|||||||
<Script file="HealBot_Options_Spells.lua" />
|
<Script file="HealBot_Options_Spells.lua" />
|
||||||
<Frame name="HealBot_Options_Panel2" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
<Frame name="HealBot_Options_Panel2" parent="HealBot_Options" hidden="true" setAllPoints="true">
|
||||||
<Frames>
|
<Frames>
|
||||||
<Frame name="HealBot_Options_KeysFrame" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_KeysFrame">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="268"/>
|
<AbsDimension y="268"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="21" y="-30"/>
|
<AbsDimension x="20" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
<Anchor point="TOPRIGHT">
|
<Anchor point="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-21" y="0"/>
|
<AbsDimension x="-20" y="-30"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -24,9 +24,9 @@
|
|||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
<FontString name="HealBot_ComboButtons_ButtonText1" text="HEALBOT_OPTIONS_USEBUTTONS" inherits="GameFontNormalSmall">
|
<FontString name="HealBot_ComboButtons_ButtonText1" text="HEALBOT_OPTIONS_USEBUTTONS" inherits="GameFontNormalSmall">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOP">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="110" y="-10" />
|
<AbsDimension x="0" y="-5"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -43,14 +43,25 @@
|
|||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</Slider>
|
</Slider>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_ComboClassButton">
|
<Frame name="HealBot_Options_ComboClassButton">
|
||||||
|
<Size>
|
||||||
|
<AbsDimension x="40" y="16"/>
|
||||||
|
</Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Dummy" relativePoint="BOTTOMLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="-22"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="BACKGROUND">
|
<Layer level="BACKGROUND">
|
||||||
<FontString name="HealBot_ComboButtons_ButtonText" text="HEALBOT_OPTIONS_COMBOBUTTON" inherits="GameFontNormalSmall">
|
<FontString name="HealBot_ComboButtons_ButtonText" text="HEALBOT_OPTIONS_COMBOBUTTON" inherits="GameFontNormalSmall">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Dummy" relativePoint="BOTTOMLEFT">
|
<Anchor point="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-5" y="-25" />
|
<AbsDimension x="0" y="0"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -61,9 +72,9 @@
|
|||||||
|
|
||||||
<CheckButton name="HealBot_ComboButtons_Button1" inherits="SendMailRadioButtonTemplate" id="1">
|
<CheckButton name="HealBot_ComboButtons_Button1" inherits="SendMailRadioButtonTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Dummy" relativePoint="TOPLEFT">
|
<Anchor point="LEFT" relativeTo="HealBot_Options_ComboClassButton" relativePoint="RIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="40" y="-30"/>
|
<AbsDimension x="5" y="0"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -73,8 +84,6 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<CheckButton name="HealBot_ComboButtons_Button2" inherits="SendMailRadioButtonTemplate" id="2">
|
<CheckButton name="HealBot_ComboButtons_Button2" inherits="SendMailRadioButtonTemplate" id="2">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button1" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button1" relativePoint="TOPRIGHT">
|
||||||
@@ -88,6 +97,7 @@
|
|||||||
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<CheckButton name="HealBot_ComboButtons_Button3" inherits="SendMailRadioButtonTemplate" id="3">
|
<CheckButton name="HealBot_ComboButtons_Button3" inherits="SendMailRadioButtonTemplate" id="3">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button2" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button2" relativePoint="TOPRIGHT">
|
||||||
@@ -101,11 +111,12 @@
|
|||||||
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<CheckButton name="HealBot_ComboButtons_Button4" inherits="SendMailRadioButtonTemplate" id="4">
|
<CheckButton name="HealBot_ComboButtons_Button4" inherits="SendMailRadioButtonTemplate" id="4">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button1" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button1" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-18"/>
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -114,11 +125,12 @@
|
|||||||
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
<OnClick>HealBot_ComboButtons_Button_OnClick(this,this:GetID())</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<CheckButton name="HealBot_ComboButtons_Button5" inherits="SendMailRadioButtonTemplate" id="5">
|
<CheckButton name="HealBot_ComboButtons_Button5" inherits="SendMailRadioButtonTemplate" id="5">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button4" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_ComboButtons_Button2" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="55" y="0"/>
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -132,7 +144,7 @@
|
|||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Dummy" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Dummy" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-5" y="-68"/>
|
<AbsDimension x="0" y="-68"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -145,6 +157,7 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<EditBox name="HealBot_Options_Shift" inherits="HealBot_Options_EditBoxTemplate">
|
<EditBox name="HealBot_Options_Shift" inherits="HealBot_Options_EditBoxTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Click" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Click" relativePoint="BOTTOMLEFT">
|
||||||
@@ -162,9 +175,10 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<EditBox name="HealBot_Options_Ctrl" inherits="HealBot_Options_EditBoxTemplate">
|
<EditBox name="HealBot_Options_Ctrl" inherits="HealBot_Options_EditBoxTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_Shift" relativePoint="BOTTOMRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Shift" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-20"/>
|
<AbsDimension x="0" y="-20"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
@@ -179,9 +193,10 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<EditBox name="HealBot_Options_ShiftCtrl" inherits="HealBot_Options_EditBoxTemplate">
|
<EditBox name="HealBot_Options_ShiftCtrl" inherits="HealBot_Options_EditBoxTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_Ctrl" relativePoint="BOTTOMRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_Ctrl" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="0" y="-20"/>
|
<AbsDimension x="0" y="-20"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
@@ -196,11 +211,12 @@
|
|||||||
</OnTextChanged>
|
</OnTextChanged>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</EditBox>
|
</EditBox>
|
||||||
|
|
||||||
<CheckButton name="HealBot_Options_EnableHealthy" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_EnableHealthy" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShiftCtrl" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShiftCtrl" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="25" y="-4" />
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -212,34 +228,28 @@
|
|||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_TooltipsPanel" inherits="OptionFrameBoxTemplate">
|
<Frame name="HealBot_Options_TooltipsPanel">
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
this:SetBackdropColor(0, 0, 0, 0);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension y="118"/>
|
<AbsDimension y="118"/>
|
||||||
</Size>
|
</Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_EnableHealthy" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="-300"/>
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
<Anchor point="TOPRIGHT">
|
<Anchor point="TOPRIGHT" relativeTo="HealBot_Options_ShiftCtrl" relativePoint="BOTTOMRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="-20" y="-180"/>
|
<AbsDimension x="0" y="-12"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="HealBot_Options_ShowTooltip" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_ShowTooltip" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_TooltipsPanel" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="-4" />
|
<AbsDimension x="0" y="0"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -248,11 +258,12 @@
|
|||||||
<OnClick>HealBot_Options_ShowTooltip_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_ShowTooltip_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<Frame name="HealBot_Options_TooltipPos" inherits="UIDropDownMenuTemplate" id="1">
|
<Frame name="HealBot_Options_TooltipPos" inherits="UIDropDownMenuTemplate" id="1">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowTooltip" relativePoint="TOPRIGHT">
|
<Anchor point="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="68" y="-2" />
|
<AbsDimension x="15" y="2"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -260,11 +271,12 @@
|
|||||||
<OnLoad>HealBot_Options_TooltipPos_OnLoad(this)</OnLoad>
|
<OnLoad>HealBot_Options_TooltipPos_OnLoad(this)</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<CheckButton name="HealBot_Options_ShowTooltipTarget" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_ShowTooltipTarget" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_TooltipsPanel" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowTooltip" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="-30" />
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -273,11 +285,12 @@
|
|||||||
<OnClick>HealBot_Options_ShowTooltipTarget_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_ShowTooltipTarget_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<CheckButton name="HealBot_Options_ShowTooltipSpellDetail" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_ShowTooltipSpellDetail" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_TooltipsPanel" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowTooltipTarget" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="-55" />
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -286,11 +299,12 @@
|
|||||||
<OnClick>HealBot_Options_ShowTooltipSpellDetail_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_ShowTooltipSpellDetail_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
<CheckButton name="HealBot_Options_ShowTooltipInstant" inherits="OptionsCheckButtonTemplate">
|
<CheckButton name="HealBot_Options_ShowTooltipInstant" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_TooltipsPanel" relativePoint="TOPLEFT">
|
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowTooltipSpellDetail" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
<AbsDimension x="20" y="-80" />
|
<AbsDimension x="0" y="-4"/>
|
||||||
</Offset>
|
</Offset>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@@ -299,10 +313,8 @@
|
|||||||
<OnClick>HealBot_Options_ShowTooltipInstant_OnClick(this)</OnClick>
|
<OnClick>HealBot_Options_ShowTooltipInstant_OnClick(this)</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
|
|
||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
</Ui>
|
</Ui>
|
||||||
|
|||||||
+490
-31
@@ -41,7 +41,12 @@ function HealBot_HealthColor(unit, hlth, maxhlth)
|
|||||||
return dr, dg, db, HealBot_Config.Barcola[HealBot_Config.Current_Skin];
|
return dr, dg, db, HealBot_Config.Barcola[HealBot_Config.Current_Skin];
|
||||||
end
|
end
|
||||||
|
|
||||||
local text = UnitName(unit);
|
local text
|
||||||
|
if string.find(unit, "^Test") then
|
||||||
|
text = HealBot_Model.units[unit] and HealBot_Model.units[unit].name or unit
|
||||||
|
else
|
||||||
|
text = UnitName(unit) or unit
|
||||||
|
end
|
||||||
if not HealBot_HealsIn[text] then
|
if not HealBot_HealsIn[text] then
|
||||||
HealBot_HealsIn[text] = 0;
|
HealBot_HealsIn[text] = 0;
|
||||||
end
|
end
|
||||||
@@ -64,18 +69,43 @@ function HealBot_HealthColor(unit, hlth, maxhlth)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local colorMode = HealBot_Config.bcolormode[HealBot_Config.Current_Skin] or 1
|
local colorMode = HealBot_Config.bcolormode[HealBot_Config.Current_Skin] or 1
|
||||||
if colorMode == 2 and HealBot_Model and HealBot_Model.units[unit] and HealBot_Model.units[unit].englishClass and RAID_CLASS_COLORS and RAID_CLASS_COLORS[HealBot_Model.units[unit].englishClass] then
|
local engClass = nil
|
||||||
local engClass = HealBot_Model.units[unit].englishClass
|
if colorMode == 2 and not string.find(unit, "pet") then
|
||||||
|
engClass = HealBot_Model and HealBot_Model.units[unit] and HealBot_Model.units[unit].englishClass
|
||||||
|
if not engClass then
|
||||||
|
engClass = HealBot_UnitClass(unit)
|
||||||
|
if engClass and HealBot_Model and HealBot_Model.units[unit] then
|
||||||
|
HealBot_Model.units[unit].englishClass = engClass
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if colorMode == 2 and string.find(unit, "pet") then
|
||||||
|
r, g, b = 0.4, 0.9, 0.6 -- Mint color
|
||||||
|
elseif colorMode == 2 and engClass and RAID_CLASS_COLORS and RAID_CLASS_COLORS[engClass] then
|
||||||
r = RAID_CLASS_COLORS[engClass].r
|
r = RAID_CLASS_COLORS[engClass].r
|
||||||
g = RAID_CLASS_COLORS[engClass].g
|
g = RAID_CLASS_COLORS[engClass].g
|
||||||
b = RAID_CLASS_COLORS[engClass].b
|
b = RAID_CLASS_COLORS[engClass].b
|
||||||
elseif colorMode == 2 and string.find(unit, "pet") then
|
|
||||||
r, g, b = 0.4, 0.9, 0.6 -- Mint color
|
|
||||||
else
|
else
|
||||||
|
local skin = HealBot_Config.Current_Skin
|
||||||
|
local maxR = HealBot_Config.bcolormaxr and HealBot_Config.bcolormaxr[skin] or 0.0
|
||||||
|
local maxG = HealBot_Config.bcolormaxg and HealBot_Config.bcolormaxg[skin] or 1.0
|
||||||
|
local maxB = HealBot_Config.bcolormaxb and HealBot_Config.bcolormaxb[skin] or 0.0
|
||||||
|
|
||||||
|
local minR = HealBot_Config.bcolorminr and HealBot_Config.bcolorminr[skin] or 1.0
|
||||||
|
local minG = HealBot_Config.bcolorming and HealBot_Config.bcolorming[skin] or 0.0
|
||||||
|
local minB = HealBot_Config.bcolorminb and HealBot_Config.bcolorminb[skin] or 0.0
|
||||||
|
|
||||||
|
if maxR == 0 and maxG == 1 and maxB == 0 and minR == 1 and minG == 0 and minB == 0 then
|
||||||
if pct >= 0.98 then r = 0.0; end
|
if pct >= 0.98 then r = 0.0; end
|
||||||
if pct < 0.98 and pct >= 0.65 then r = 2.94 - (pct * 3); end
|
if pct < 0.98 and pct >= 0.65 then r = 2.94 - (pct * 3); end
|
||||||
if pct <= 0.64 and pct > 0.31 then g = (pct - 0.31) * 3; end
|
if pct <= 0.64 and pct > 0.31 then g = (pct - 0.31) * 3; end
|
||||||
if pct <= 0.31 then g = 0.0; end
|
if pct <= 0.31 then g = 0.0; end
|
||||||
|
else
|
||||||
|
r = minR + (maxR - minR) * pct
|
||||||
|
g = minG + (maxG - minG) * pct
|
||||||
|
b = minB + (maxB - minB) * pct
|
||||||
|
end
|
||||||
end
|
end
|
||||||
return r, g, b, a;
|
return r, g, b, a;
|
||||||
end
|
end
|
||||||
@@ -246,30 +276,94 @@ function HealBot_Action_EnableButton(button)
|
|||||||
bar.txt:SetTextColor(sr, sg, sb, sa);
|
bar.txt:SetTextColor(sr, sg, sb, sa);
|
||||||
local fontName, fontHeight, fontFlags = bar.txt:GetFont()
|
local fontName, fontHeight, fontFlags = bar.txt:GetFont()
|
||||||
local fontOutline = HealBot_Config.bfontoutline[HealBot_Config.Current_Skin] or 0
|
local fontOutline = HealBot_Config.bfontoutline[HealBot_Config.Current_Skin] or 0
|
||||||
if fontOutline == 1 then
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
bar.txt:SetFont(fontName, fontHeight, "OUTLINE")
|
local expectedFont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or fontName
|
||||||
else
|
if fontFlags ~= expectedFlags or fontName ~= expectedFont then
|
||||||
bar.txt:SetFont(fontName, fontHeight, "")
|
bar.txt:SetFont(expectedFont, fontHeight, expectedFlags)
|
||||||
end
|
end
|
||||||
|
|
||||||
local iconSize = HealBot_Config.biconsize[HealBot_Config.Current_Skin] or 12
|
local iconSize = HealBot_Config.biconsize[HealBot_Config.Current_Skin] or 12
|
||||||
|
local dMode = HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode or 0
|
||||||
|
local overlayMode = (HealBot_Config.HealBot_Integrations_ShowHoTTimers == 1) and (dMode == 1 or dMode == 2)
|
||||||
|
local unitMap = overlayMode and HealBot_ActiveHoTUnitMap and HealBot_ActiveHoTUnitMap[unit]
|
||||||
|
|
||||||
for i = 1, 10 do
|
for i = 1, 10 do
|
||||||
local icon = getglobal(button:GetName() .. "BarIcon" .. i)
|
local icon = button["icon"..i]
|
||||||
|
if not icon then
|
||||||
|
icon = getglobal(button:GetName() .. "BarIcon" .. i)
|
||||||
|
button["icon"..i] = icon
|
||||||
|
end
|
||||||
if icon then
|
if icon then
|
||||||
|
if button["iconText"..i] then
|
||||||
|
button["iconText"..i]:Hide()
|
||||||
|
button["iconText"..i] = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local iconText = bar["iconText"..i]
|
||||||
|
|
||||||
if HealBot_UnitIcons and HealBot_UnitIcons[unit] and HealBot_UnitIcons[unit][i] then
|
if HealBot_UnitIcons and HealBot_UnitIcons[unit] and HealBot_UnitIcons[unit][i] then
|
||||||
icon:SetTexture(HealBot_UnitIcons[unit][i])
|
local currentTexture = icon:GetTexture()
|
||||||
|
local newTexture = HealBot_UnitIcons[unit][i]
|
||||||
|
if currentTexture ~= newTexture then
|
||||||
|
icon:SetTexture(newTexture)
|
||||||
|
end
|
||||||
|
|
||||||
|
if icon:GetWidth() ~= iconSize then
|
||||||
icon:SetWidth(iconSize)
|
icon:SetWidth(iconSize)
|
||||||
icon:SetHeight(iconSize)
|
icon:SetHeight(iconSize)
|
||||||
|
if iconText then
|
||||||
|
iconText:SetFont("Fonts\\ARIALN.TTF", math.min(11, math.max(8, iconSize - 2)), "OUTLINE")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not icon:IsVisible() then
|
||||||
icon:Show()
|
icon:Show()
|
||||||
|
end
|
||||||
|
|
||||||
|
if overlayMode then
|
||||||
|
if not iconText then
|
||||||
|
local overlayFrame = bar.overlayFrame
|
||||||
|
if not overlayFrame then
|
||||||
|
overlayFrame = CreateFrame("Frame", nil, bar)
|
||||||
|
overlayFrame:SetAllPoints(bar)
|
||||||
|
overlayFrame:SetFrameLevel(bar:GetFrameLevel() + 5)
|
||||||
|
bar.overlayFrame = overlayFrame
|
||||||
|
end
|
||||||
|
iconText = overlayFrame:CreateFontString(nil, "OVERLAY")
|
||||||
|
iconText:SetFont("Fonts\\ARIALN.TTF", math.min(11, math.max(8, iconSize - 2)), "OUTLINE")
|
||||||
|
iconText:SetPoint("CENTER", icon, "CENTER", 0, 0)
|
||||||
|
iconText:SetTextColor(1, 1, 1, 1)
|
||||||
|
bar["iconText"..i] = iconText
|
||||||
|
end
|
||||||
|
local timeLeft = unitMap and (unitMap[newTexture] or (newTexture and unitMap[string.lower(newTexture)]))
|
||||||
|
if timeLeft then
|
||||||
|
iconText:SetText(timeLeft)
|
||||||
|
iconText:Show()
|
||||||
else
|
else
|
||||||
|
iconText:SetText("")
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
elseif iconText and iconText:IsVisible() then
|
||||||
|
iconText:SetText("")
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if icon:IsVisible() then
|
||||||
icon:Hide()
|
icon:Hide()
|
||||||
end
|
end
|
||||||
|
if iconText and iconText:IsVisible() then
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local raidIcon = getglobal(button:GetName() .. "BarRaidIcon")
|
local raidIcon = getglobal(button:GetName() .. "BarRaidIcon")
|
||||||
if raidIcon then
|
if raidIcon then
|
||||||
local index = GetRaidTargetIndex(unit)
|
local index
|
||||||
|
if not string.find(unit, "^Test") then
|
||||||
|
index = GetRaidTargetIndex(unit)
|
||||||
|
end
|
||||||
if index then
|
if index then
|
||||||
SetRaidTargetIconTexture(raidIcon, index)
|
SetRaidTargetIconTexture(raidIcon, index)
|
||||||
raidIcon:Show()
|
raidIcon:Show()
|
||||||
@@ -298,15 +392,34 @@ end
|
|||||||
-- HealBot_Action_ResetSkin: Internal utility: HealBot_Action_ResetSkin
|
-- HealBot_Action_ResetSkin: Internal utility: HealBot_Action_ResetSkin
|
||||||
function HealBot_Action_ResetSkin()
|
function HealBot_Action_ResetSkin()
|
||||||
HealBot_Action_PartyChanged()
|
HealBot_Action_PartyChanged()
|
||||||
|
local skin = HealBot_Config.Current_Skin
|
||||||
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local btextheight = (HealBot_Config.btextheight and HealBot_Config.btextheight[skin]) or 10
|
||||||
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[skin]) or 0
|
||||||
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
|
||||||
|
if HealBot_Action_OptionsButton and HealBot_Action_OptionsButton:GetFontString() then
|
||||||
|
HealBot_Action_OptionsButton:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
|
if HealBot_Action_AbortButton and HealBot_Action_AbortButton:GetFontString() then
|
||||||
|
HealBot_Action_AbortButton:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
|
for j = 1, 20 do
|
||||||
|
local headerobj = getglobal("HealBot_Action_Header" .. j)
|
||||||
|
if headerobj and headerobj:GetFontString() then
|
||||||
|
headerobj:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if HealBot_Options:IsVisible() then
|
if HealBot_Options:IsVisible() then
|
||||||
HealBot_Action_SetTexture(HealBot_DiseaseColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_DiseaseColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_MagicColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_MagicColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_PoisonColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_PoisonColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_CurseColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_CurseColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_EnTextColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_EnTextColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_EnTextColorpickin, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_EnTextColorpickin, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_DisTextColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_DisTextColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_Action_SetTexture(HealBot_DebTextColorpick, HealBot_Config.btexture[HealBot_Config.Current_Skin])
|
HealBot_Action_SetTexture(HealBot_DebTextColorpick, HealBot_Config.btexture[skin])
|
||||||
HealBot_SetSkinColours()
|
HealBot_SetSkinColours()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -347,6 +460,13 @@ function HealBot_Action_PositionButton(button, OsetX, OsetY, bwidth, bheight, ch
|
|||||||
headerno = headerno + 1;
|
headerno = headerno + 1;
|
||||||
local headerobj = getglobal("HealBot_Action_Header" .. headerno);
|
local headerobj = getglobal("HealBot_Action_Header" .. headerno);
|
||||||
headerobj:SetText(header)
|
headerobj:SetText(header)
|
||||||
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local btextheight = (HealBot_Config.btextheight and HealBot_Config.btextheight[HealBot_Config.Current_Skin]) or 10
|
||||||
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[HealBot_Config.Current_Skin]) or 0
|
||||||
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
if headerobj:GetFontString() then
|
||||||
|
headerobj:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
headerobj:Show();
|
headerobj:Show();
|
||||||
headerobj:ClearAllPoints();
|
headerobj:ClearAllPoints();
|
||||||
headerobj:SetHeight(bheight);
|
headerobj:SetHeight(bheight);
|
||||||
@@ -383,6 +503,13 @@ function HealBot_Action_PositionButtonHorizontal(button, OsetX, OsetY, bwidth, b
|
|||||||
headerno = headerno + 1;
|
headerno = headerno + 1;
|
||||||
local headerobj = getglobal("HealBot_Action_Header" .. headerno);
|
local headerobj = getglobal("HealBot_Action_Header" .. headerno);
|
||||||
headerobj:SetText(header)
|
headerobj:SetText(header)
|
||||||
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local btextheight = (HealBot_Config.btextheight and HealBot_Config.btextheight[HealBot_Config.Current_Skin]) or 10
|
||||||
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[HealBot_Config.Current_Skin]) or 0
|
||||||
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
if headerobj:GetFontString() then
|
||||||
|
headerobj:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
headerobj:Show();
|
headerobj:Show();
|
||||||
headerobj:ClearAllPoints();
|
headerobj:ClearAllPoints();
|
||||||
headerobj:SetHeight(bheight);
|
headerobj:SetHeight(bheight);
|
||||||
@@ -441,8 +568,10 @@ end
|
|||||||
-- HealBot_Action_SetHealButton: Assigns a unit string to a grid button slot.
|
-- HealBot_Action_SetHealButton: Assigns a unit string to a grid button slot.
|
||||||
function HealBot_Action_SetHealButton(index, unit)
|
function HealBot_Action_SetHealButton(index, unit)
|
||||||
if not index then
|
if not index then
|
||||||
HealBot_Action_HealButtons = {};
|
for k in pairs(HealBot_Action_HealButtons) do HealBot_Action_HealButtons[k] = nil end
|
||||||
HealBot_Action_UnitButtons = {};
|
for k in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
HealBot_Action_UnitButtons[k] = nil
|
||||||
|
end
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
local button = getglobal("HealBot_Action_HealUnit" .. index);
|
local button = getglobal("HealBot_Action_HealUnit" .. index);
|
||||||
@@ -495,11 +624,13 @@ function HealBot_Action_PartyChanged()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for j = 1, 15 do
|
for j = 1, 20 do
|
||||||
local headerobj = getglobal("HealBot_Action_Header" .. j);
|
local headerobj = getglobal("HealBot_Action_Header" .. j);
|
||||||
|
if headerobj then
|
||||||
headerobj:SetText(" ")
|
headerobj:SetText(" ")
|
||||||
headerobj:Hide();
|
headerobj:Hide();
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local bwidth = HealBot_Config.bwidth[HealBot_Config.Current_Skin] or 85;
|
local bwidth = HealBot_Config.bwidth[HealBot_Config.Current_Skin] or 85;
|
||||||
local sr = HealBot_Config.btextdisbledcolr[HealBot_Config.Current_Skin] or 0.4;
|
local sr = HealBot_Config.btextdisbledcolr[HealBot_Config.Current_Skin] or 0.4;
|
||||||
@@ -524,6 +655,51 @@ function HealBot_Action_PartyChanged()
|
|||||||
local i = 0;
|
local i = 0;
|
||||||
local last = 0;
|
local last = 0;
|
||||||
local GroupValid = numBars;
|
local GroupValid = numBars;
|
||||||
|
if HealBot_Config.TestBarsOn then
|
||||||
|
local testBars = HealBot_Config.numTestBars or 25
|
||||||
|
if HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
||||||
|
HeaderPos[i + 1] = HEALBOT_OPTIONS_TESTBARS or "Test Bars"
|
||||||
|
end
|
||||||
|
local testClasses = {"PRIEST", "DRUID", "SHAMAN", "PALADIN", "WARRIOR", "MAGE", "WARLOCK", "HUNTER", "ROGUE"}
|
||||||
|
local testNames = {"Arthas", "Illidan", "Sylvanas", "Thrall", "Jaina", "Uther", "Grommash", "Malfurion", "Tyrande", "Guldan", "Kael", "Rexxar", "Varian", "Voljin", "Baine"}
|
||||||
|
for j = 1, testBars do
|
||||||
|
i = i + 1
|
||||||
|
local unit = "Test" .. j
|
||||||
|
HealBot_Action_SetHealButton(i, unit)
|
||||||
|
if not HealBot_Model.units[unit] then
|
||||||
|
local rClass = testClasses[math.random(1, #testClasses)]
|
||||||
|
local rName = testNames[math.random(1, #testNames)] .. j
|
||||||
|
local mHealth = math.random(4000, 8000)
|
||||||
|
local cHealth = math.random(1, mHealth)
|
||||||
|
local pt = 0
|
||||||
|
if rClass == "WARRIOR" then pt = 1 elseif rClass == "ROGUE" then pt = 3 end
|
||||||
|
HealBot_Model.units[unit] = { name = rName, guid = "TestGuid"..j, class = rClass, englishClass = rClass, health = cHealth, maxHealth = mHealth, mana = 2000, maxMana = 4000, powerType = pt, incomingHeal = 0, hasAggro = false, range = 1 }
|
||||||
|
if not HealBot_UnitIcons then HealBot_UnitIcons = {} end
|
||||||
|
HealBot_UnitIcons[unit] = {}
|
||||||
|
local testIcons = {
|
||||||
|
"Interface\\Icons\\Spell_Holy_Renew",
|
||||||
|
"Interface\\Icons\\Spell_Nature_Rejuvenation",
|
||||||
|
"Interface\\Icons\\Spell_Nature_ResistNature", -- Regrowth
|
||||||
|
"Interface\\Icons\\Spell_Holy_PowerWordShield",
|
||||||
|
"Interface\\Icons\\Spell_Holy_Excorcism" -- Fear Ward
|
||||||
|
}
|
||||||
|
-- Shuffle icons
|
||||||
|
for k = #testIcons, 2, -1 do
|
||||||
|
local j = math.random(k)
|
||||||
|
testIcons[k], testIcons[j] = testIcons[j], testIcons[k]
|
||||||
|
end
|
||||||
|
local numIcons = math.random(0, 3)
|
||||||
|
for k = 1, numIcons do
|
||||||
|
HealBot_UnitIcons[unit][k] = testIcons[k]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
numBars = numBars + 1
|
||||||
|
end
|
||||||
|
if HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
||||||
|
numBars = numBars + 1
|
||||||
|
numHeaders = numHeaders + 1
|
||||||
|
end
|
||||||
|
else
|
||||||
last = last + 6
|
last = last + 6
|
||||||
if HealBot_Config.GroupHeals == 1 then
|
if HealBot_Config.GroupHeals == 1 then
|
||||||
if HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
if HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
||||||
@@ -724,14 +900,15 @@ function HealBot_Action_PartyChanged()
|
|||||||
if GetNumRaidMembers() > 0 then
|
if GetNumRaidMembers() > 0 then
|
||||||
for j = 1, 40 do
|
for j = 1, 40 do
|
||||||
local unit = "raid" .. j;
|
local unit = "raid" .. j;
|
||||||
local Class = UnitClass(unit);
|
|
||||||
local ProcessUnit = 0;
|
|
||||||
local PossibleEmerg = 1;
|
|
||||||
local name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(j);
|
local name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(j);
|
||||||
if not name then name = "not known" end
|
if not name then name = "not known" end
|
||||||
if not class then class = "not known" end
|
if not class then class = "not known" end
|
||||||
if not subgroup then subgroup = "not known" end
|
if not subgroup then subgroup = "not known" end
|
||||||
|
|
||||||
|
local Class = UnitClass(unit) or class;
|
||||||
|
local ProcessUnit = 0;
|
||||||
|
local PossibleEmerg = 1;
|
||||||
|
|
||||||
if HealBot_EmergInc[Class] == 1 then
|
if HealBot_EmergInc[Class] == 1 then
|
||||||
ProcessUnit = 1;
|
ProcessUnit = 1;
|
||||||
end
|
end
|
||||||
@@ -837,6 +1014,9 @@ function HealBot_Action_PartyChanged()
|
|||||||
HeaderPos[i + 1] = nil;
|
HeaderPos[i + 1] = nil;
|
||||||
numBars = numBars - 1;
|
numBars = numBars - 1;
|
||||||
end
|
end
|
||||||
|
HealBot_ReleaseTable(order);
|
||||||
|
HealBot_ReleaseTable(units);
|
||||||
|
end
|
||||||
|
|
||||||
last = last + 40
|
last = last + 40
|
||||||
local PetsValid = numBars;
|
local PetsValid = numBars;
|
||||||
@@ -869,8 +1049,6 @@ function HealBot_Action_PartyChanged()
|
|||||||
if i == last then break end
|
if i == last then break end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HealBot_ReleaseTable(order);
|
|
||||||
HealBot_ReleaseTable(units);
|
|
||||||
end
|
end
|
||||||
if numBars == PetsValid + 1 and HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
if numBars == PetsValid + 1 and HealBot_Config.ShowHeader[HealBot_Config.Current_Skin] == 1 then
|
||||||
HeaderPos[PetsValid + 1] = nil;
|
HeaderPos[PetsValid + 1] = nil;
|
||||||
@@ -990,10 +1168,17 @@ function HealBot_Action_PartyChanged()
|
|||||||
HealBot_Grid_Limit = limit;
|
HealBot_Grid_Limit = limit;
|
||||||
HealBot_Grid_NumBars = numBars;
|
HealBot_Grid_NumBars = numBars;
|
||||||
|
|
||||||
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[HealBot_Config.Current_Skin]) or 0
|
||||||
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
|
||||||
if HealBot_Config.HideOptions == 1 then
|
if HealBot_Config.HideOptions == 1 then
|
||||||
HealBot_Action_OptionsButton:Hide();
|
HealBot_Action_OptionsButton:Hide();
|
||||||
else
|
else
|
||||||
HealBot_Action_OptionsButton:SetPoint("BOTTOM", "HealBot_Action", "BOTTOM", 0, bpadding);
|
HealBot_Action_OptionsButton:SetPoint("BOTTOM", "HealBot_Action", "BOTTOM", 0, bpadding);
|
||||||
|
if HealBot_Action_OptionsButton:GetFontString() then
|
||||||
|
HealBot_Action_OptionsButton:GetFontString():SetFont(bfont, btextheight, expectedFlags)
|
||||||
|
end
|
||||||
HealBot_Action_OptionsButton:Show();
|
HealBot_Action_OptionsButton:Show();
|
||||||
MaxOffsetY = MaxOffsetY + 30;
|
MaxOffsetY = MaxOffsetY + 30;
|
||||||
end
|
end
|
||||||
@@ -1009,6 +1194,7 @@ function HealBot_Action_PartyChanged()
|
|||||||
bar.txt = getglobal(bar:GetName() .. "_text");
|
bar.txt = getglobal(bar:GetName() .. "_text");
|
||||||
bar.txt:SetTextColor(sr, sg, sb, sa);
|
bar.txt:SetTextColor(sr, sg, sb, sa);
|
||||||
bar.txt:SetText(HEALBOT_ACTION_ABORT);
|
bar.txt:SetText(HEALBOT_ACTION_ABORT);
|
||||||
|
bar.txt:SetFont(bfont, btextheight, expectedFlags);
|
||||||
HealBot_Action_SetTexture(bar, btexture);
|
HealBot_Action_SetTexture(bar, btexture);
|
||||||
bar:SetMinMaxValues(0, 100);
|
bar:SetMinMaxValues(0, 100);
|
||||||
bar:SetValue(100);
|
bar:SetValue(100);
|
||||||
@@ -1056,8 +1242,8 @@ end
|
|||||||
function HealBot_Action_Reset()
|
function HealBot_Action_Reset()
|
||||||
HealBot_Action:ClearAllPoints();
|
HealBot_Action:ClearAllPoints();
|
||||||
HealBot_Action:SetPoint("TOP", "MinimapCluster", "BOTTOM", 7, 10);
|
HealBot_Action:SetPoint("TOP", "MinimapCluster", "BOTTOM", 7, 10);
|
||||||
HealBot_Action_HealTarget = {};
|
for k in pairs(HealBot_Action_HealTarget) do HealBot_Action_HealTarget[k] = nil end
|
||||||
HealBot_Action_HealFocus = {};
|
for k in pairs(HealBot_Action_HealFocus) do HealBot_Action_HealFocus[k] = nil end
|
||||||
HealBot_Action_PartyChanged();
|
HealBot_Action_PartyChanged();
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1134,7 +1320,10 @@ function HealBot_Action_AppendUnit(unit)
|
|||||||
local btexture = (HealBot_Config.btexture and HealBot_Config.btexture[HealBot_Config.Current_Skin]) or 5
|
local btexture = (HealBot_Config.btexture and HealBot_Config.btexture[HealBot_Config.Current_Skin]) or 5
|
||||||
HealBot_Action_SetTexture(bar, btexture)
|
HealBot_Action_SetTexture(bar, btexture)
|
||||||
local btextheight = (HealBot_Config.btextheight and HealBot_Config.btextheight[HealBot_Config.Current_Skin]) or 10
|
local btextheight = (HealBot_Config.btextheight and HealBot_Config.btextheight[HealBot_Config.Current_Skin]) or 10
|
||||||
bar.txt:SetTextHeight(btextheight)
|
local bfont = (HealBot_Config.bfont and HealBot_Config.bfont[HealBot_Config.Current_Skin]) or "Fonts\\FRIZQT__.TTF"
|
||||||
|
local fontOutline = (HealBot_Config.bfontoutline and HealBot_Config.bfontoutline[HealBot_Config.Current_Skin]) or 0
|
||||||
|
local expectedFlags = fontOutline == 1 and "OUTLINE" or ""
|
||||||
|
bar.txt:SetFont(bfont, btextheight, expectedFlags)
|
||||||
bar2:SetHeight(bheight)
|
bar2:SetHeight(bheight)
|
||||||
HealBot_Action_SetTexture(bar2, btexture)
|
HealBot_Action_SetTexture(bar2, btexture)
|
||||||
|
|
||||||
@@ -1224,3 +1413,273 @@ function HealBot_Action_AppendNewUnits()
|
|||||||
end
|
end
|
||||||
HealBot_ReleaseTable(unitsToCheck)
|
HealBot_ReleaseTable(unitsToCheck)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local HealBot_PlayerHoTsListFrame = nil
|
||||||
|
local HealBot_PlayerHoTFrames = {}
|
||||||
|
local HealBot_PlayerHoTs_ListCache = {}
|
||||||
|
HealBot_ActiveHoTUnitMap = {} -- unitID -> { [texture] = timeLeft }
|
||||||
|
|
||||||
|
local function HealBot_PlayerHoTs_SortComparator(a, b)
|
||||||
|
return (a.expires or 0) < (b.expires or 0)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Reposition the HoT timer list frame based on config
|
||||||
|
local function HealBot_HoTTimerList_Reanchor()
|
||||||
|
if not HealBot_PlayerHoTsListFrame then return end
|
||||||
|
local pos = HealBot_Config.HealBot_Integrations_HoTTimerPosition or "BELOW"
|
||||||
|
HealBot_PlayerHoTsListFrame:ClearAllPoints()
|
||||||
|
if pos == "ABOVE" then
|
||||||
|
HealBot_PlayerHoTsListFrame:SetPoint("BOTTOMLEFT", HealBot_Action, "TOPLEFT", 0, 2)
|
||||||
|
elseif pos == "RIGHT" then
|
||||||
|
HealBot_PlayerHoTsListFrame:SetPoint("TOPLEFT", HealBot_Action, "TOPRIGHT", 2, 0)
|
||||||
|
elseif pos == "LEFT" then
|
||||||
|
HealBot_PlayerHoTsListFrame:SetPoint("TOPRIGHT", HealBot_Action, "TOPLEFT", -2, 0)
|
||||||
|
else -- BELOW (default)
|
||||||
|
HealBot_PlayerHoTsListFrame:SetPoint("TOPLEFT", HealBot_Action, "BOTTOMLEFT", 0, -2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Reposition child HoT frames for stacking direction
|
||||||
|
local function HealBot_HoTTimerList_StackChild(frame, index)
|
||||||
|
local pos = HealBot_Config.HealBot_Integrations_HoTTimerPosition or "BELOW"
|
||||||
|
frame:ClearAllPoints()
|
||||||
|
if pos == "ABOVE" then
|
||||||
|
if index == 1 then
|
||||||
|
frame:SetPoint("BOTTOMLEFT", HealBot_PlayerHoTsListFrame, "BOTTOMLEFT", 0, 0)
|
||||||
|
else
|
||||||
|
frame:SetPoint("BOTTOMLEFT", HealBot_PlayerHoTFrames[index-1], "TOPLEFT", 0, 2)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if index == 1 then
|
||||||
|
frame:SetPoint("TOPLEFT", HealBot_PlayerHoTsListFrame, "TOPLEFT", 0, 0)
|
||||||
|
else
|
||||||
|
frame:SetPoint("TOPLEFT", HealBot_PlayerHoTFrames[index-1], "BOTTOMLEFT", 0, -2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Clear all icon overlay timer texts
|
||||||
|
function HealBot_ClearHoTOverlays()
|
||||||
|
if not HealBot_Action_UnitButtons then return end
|
||||||
|
for unit, btnList in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
for _, button in pairs(btnList) do
|
||||||
|
local bar = button.bar or getglobal(button:GetName() .. "Bar")
|
||||||
|
if bar then
|
||||||
|
for i = 1, 10 do
|
||||||
|
local iconText = bar["iconText"..i]
|
||||||
|
if iconText and iconText:IsVisible() then
|
||||||
|
iconText:SetText("")
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Render countdown numbers directly on unit bar icons
|
||||||
|
function HealBot_RenderHoTOverlays()
|
||||||
|
if not HealBot_Action_UnitButtons then return end
|
||||||
|
local iconSize = HealBot_Config.biconsize[HealBot_Config.Current_Skin] or 12
|
||||||
|
local fontSize = math.min(11, math.max(8, iconSize - 2))
|
||||||
|
|
||||||
|
for unit, btnList in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
local unitMap = HealBot_ActiveHoTUnitMap[unit]
|
||||||
|
for _, button in pairs(btnList) do
|
||||||
|
local bar = HealBot_Action_HealthBar(button)
|
||||||
|
if bar and bar:IsVisible() then
|
||||||
|
for i = 1, 10 do
|
||||||
|
local icon = button["icon"..i] or getglobal(button:GetName() .. "BarIcon" .. i)
|
||||||
|
local iconText = bar["iconText"..i]
|
||||||
|
if icon and icon:IsVisible() then
|
||||||
|
local tex = icon:GetTexture()
|
||||||
|
local timeLeft = unitMap and (unitMap[tex] or (tex and unitMap[string.lower(tex)]))
|
||||||
|
if timeLeft then
|
||||||
|
if not iconText then
|
||||||
|
local overlayFrame = bar.overlayFrame
|
||||||
|
if not overlayFrame then
|
||||||
|
overlayFrame = CreateFrame("Frame", nil, bar)
|
||||||
|
overlayFrame:SetAllPoints(bar)
|
||||||
|
overlayFrame:SetFrameLevel(bar:GetFrameLevel() + 5)
|
||||||
|
bar.overlayFrame = overlayFrame
|
||||||
|
end
|
||||||
|
iconText = overlayFrame:CreateFontString(nil, "OVERLAY")
|
||||||
|
iconText:SetFont("Fonts\\ARIALN.TTF", fontSize, "OUTLINE")
|
||||||
|
iconText:SetPoint("CENTER", icon, "CENTER", 0, 0)
|
||||||
|
iconText:SetTextColor(1, 1, 1, 1)
|
||||||
|
bar["iconText"..i] = iconText
|
||||||
|
end
|
||||||
|
iconText:SetText(timeLeft)
|
||||||
|
iconText:Show()
|
||||||
|
else
|
||||||
|
if iconText and iconText:IsVisible() then
|
||||||
|
iconText:SetText("")
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if iconText and iconText:IsVisible() then
|
||||||
|
iconText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Render HoT timer list
|
||||||
|
local function HealBot_RenderHoTList(numHoTs, currentTime)
|
||||||
|
if not HealBot_PlayerHoTsListFrame then
|
||||||
|
HealBot_PlayerHoTsListFrame = CreateFrame("Frame", "HealBot_PlayerHoTsListFrame", HealBot_Action)
|
||||||
|
HealBot_PlayerHoTsListFrame:SetWidth(128)
|
||||||
|
HealBot_PlayerHoTsListFrame:SetHeight(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
HealBot_HoTTimerList_Reanchor()
|
||||||
|
HealBot_PlayerHoTsListFrame:Show()
|
||||||
|
|
||||||
|
-- Sort active HoTs by expiration
|
||||||
|
table.sort(HealBot_PlayerHoTs_ListCache, HealBot_PlayerHoTs_SortComparator)
|
||||||
|
|
||||||
|
for i = 1, math.max(numHoTs, table.getn(HealBot_PlayerHoTFrames)) do
|
||||||
|
local frame = HealBot_PlayerHoTFrames[i]
|
||||||
|
if i <= numHoTs then
|
||||||
|
if not frame then
|
||||||
|
frame = CreateFrame("Frame", "HealBot_PlayerHoT" .. i, HealBot_PlayerHoTsListFrame)
|
||||||
|
frame:SetWidth(128)
|
||||||
|
frame:SetHeight(16)
|
||||||
|
|
||||||
|
local icon = frame:CreateTexture(nil, "ARTWORK")
|
||||||
|
icon:SetWidth(14)
|
||||||
|
icon:SetHeight(14)
|
||||||
|
icon:SetPoint("LEFT", frame, "LEFT", 2, 0)
|
||||||
|
frame.icon = icon
|
||||||
|
|
||||||
|
local text = frame:CreateFontString(nil, "OVERLAY", "GameFontNormalSmall")
|
||||||
|
text:SetPoint("LEFT", icon, "RIGHT", 4, 0)
|
||||||
|
text:SetJustifyH("LEFT")
|
||||||
|
frame.text = text
|
||||||
|
|
||||||
|
HealBot_PlayerHoTFrames[i] = frame
|
||||||
|
end
|
||||||
|
|
||||||
|
HealBot_HoTTimerList_StackChild(frame, i)
|
||||||
|
|
||||||
|
local hot = HealBot_PlayerHoTs_ListCache[i]
|
||||||
|
local timeLeft = hot.timeLeft or math.floor(hot.expires - currentTime)
|
||||||
|
|
||||||
|
frame.icon:SetTexture(hot.texture)
|
||||||
|
frame.text:SetText(hot.name .. ": " .. timeLeft .. "s")
|
||||||
|
frame.text:SetTextColor(0.8, 1, 0.8)
|
||||||
|
frame:Show()
|
||||||
|
else
|
||||||
|
if frame then
|
||||||
|
frame:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
HealBot_PlayerHoTsListFrame:SetHeight(math.max(1, numHoTs * 18))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Unified HoT Timer Pipeline
|
||||||
|
function HealBot_UpdateActiveHoTTimers()
|
||||||
|
if HealBot_Config.HealBot_Integrations_ShowHoTTimers ~= 1 then
|
||||||
|
if HealBot_PlayerHoTsListFrame and HealBot_PlayerHoTsListFrame:IsVisible() then
|
||||||
|
HealBot_PlayerHoTsListFrame:Hide()
|
||||||
|
end
|
||||||
|
HealBot_ClearHoTOverlays()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local currentTime = GetTime()
|
||||||
|
local numHoTs = 0
|
||||||
|
|
||||||
|
-- Clear unit map (recycle)
|
||||||
|
for _, sub in pairs(HealBot_ActiveHoTUnitMap) do
|
||||||
|
for k in pairs(sub) do sub[k] = nil end
|
||||||
|
end
|
||||||
|
|
||||||
|
if HealBot_Integrations_Nampower_Active and HealBot_Nampower_Auras then
|
||||||
|
for targetKey, auras in pairs(HealBot_Nampower_Auras) do
|
||||||
|
local unitID = HealBot_Model and HealBot_Model:GetUnitByGUID(targetKey)
|
||||||
|
if not unitID and HealBot_PlayerGUID and (targetKey == HealBot_PlayerGUID or string.lower(targetKey) == string.lower(HealBot_PlayerGUID)) then
|
||||||
|
unitID = "player"
|
||||||
|
end
|
||||||
|
if not unitID and UnitName("player") and (targetKey == UnitName("player") or string.lower(targetKey) == string.lower(UnitName("player"))) then
|
||||||
|
unitID = "player"
|
||||||
|
end
|
||||||
|
local displayName = nil
|
||||||
|
if unitID and unitID ~= "target" then
|
||||||
|
if HealBot_Model and HealBot_Model.units[unitID] and HealBot_Model.units[unitID].name then
|
||||||
|
displayName = HealBot_Model.units[unitID].name
|
||||||
|
end
|
||||||
|
if not displayName then
|
||||||
|
displayName = UnitName(unitID)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not displayName and HealBot_Nampower_NameCache then
|
||||||
|
displayName = HealBot_Nampower_NameCache[targetKey]
|
||||||
|
end
|
||||||
|
if displayName and HealBot_Nampower_NameCache then
|
||||||
|
HealBot_Nampower_NameCache[targetKey] = displayName
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Exclude pets
|
||||||
|
if not (unitID and string.find(unitID, "pet")) then
|
||||||
|
for spellName, expiration in pairs(auras) do
|
||||||
|
local auraInfo = HealBot_TrackedAura_Spells and HealBot_TrackedAura_Spells[spellName]
|
||||||
|
if auraInfo and auraInfo.showTimer and expiration > currentTime then
|
||||||
|
local timeLeft = math.floor(expiration - currentTime)
|
||||||
|
local tex = auraInfo.texture or "Interface\\Icons\\INV_Misc_QuestionMark"
|
||||||
|
|
||||||
|
numHoTs = numHoTs + 1
|
||||||
|
if not HealBot_PlayerHoTs_ListCache[numHoTs] then
|
||||||
|
HealBot_PlayerHoTs_ListCache[numHoTs] = {}
|
||||||
|
end
|
||||||
|
local hot = HealBot_PlayerHoTs_ListCache[numHoTs]
|
||||||
|
hot.unit = unitID
|
||||||
|
hot.name = displayName or targetKey
|
||||||
|
hot.spell = spellName
|
||||||
|
hot.texture = tex
|
||||||
|
hot.expires = expiration
|
||||||
|
hot.timeLeft = timeLeft
|
||||||
|
|
||||||
|
if unitID then
|
||||||
|
if not HealBot_ActiveHoTUnitMap[unitID] then
|
||||||
|
HealBot_ActiveHoTUnitMap[unitID] = {}
|
||||||
|
end
|
||||||
|
HealBot_ActiveHoTUnitMap[unitID][tex] = timeLeft
|
||||||
|
HealBot_ActiveHoTUnitMap[unitID][string.lower(tex)] = timeLeft
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Blank out remaining cache entries so sort doesn't read them
|
||||||
|
for i = numHoTs + 1, table.getn(HealBot_PlayerHoTs_ListCache) do
|
||||||
|
HealBot_PlayerHoTs_ListCache[i].expires = 9999999999
|
||||||
|
end
|
||||||
|
|
||||||
|
local displayMode = HealBot_Config.HealBot_Integrations_HoTTimerDisplayMode or 0
|
||||||
|
if displayMode == 0 then
|
||||||
|
-- List Mode
|
||||||
|
HealBot_ClearHoTOverlays()
|
||||||
|
HealBot_RenderHoTList(numHoTs, currentTime)
|
||||||
|
elseif displayMode == 1 then
|
||||||
|
-- Overlay Mode
|
||||||
|
if HealBot_PlayerHoTsListFrame and HealBot_PlayerHoTsListFrame:IsVisible() then
|
||||||
|
HealBot_PlayerHoTsListFrame:Hide()
|
||||||
|
end
|
||||||
|
HealBot_RenderHoTOverlays()
|
||||||
|
else
|
||||||
|
-- Both Mode (2)
|
||||||
|
HealBot_RenderHoTList(numHoTs, currentTime)
|
||||||
|
HealBot_RenderHoTOverlays()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
HealBot_Action_UpdatePlayerHoTs = HealBot_UpdateActiveHoTTimers
|
||||||
|
|||||||
@@ -20,8 +20,15 @@ function HealBot_Action_RefreshTooltip(unit)
|
|||||||
if not unit then unit = HealBot_Action_TooltipUnit end
|
if not unit then unit = HealBot_Action_TooltipUnit end
|
||||||
if not unit then return end;
|
if not unit then return end;
|
||||||
|
|
||||||
local hlth=UnitHealth(unit);
|
local hlth=0;
|
||||||
local maxhlth=UnitHealthMax(unit);
|
local maxhlth=100;
|
||||||
|
if string.find(unit, "^Test") then
|
||||||
|
hlth = HealBot_Model.units[unit] and HealBot_Model.units[unit].health or 5000;
|
||||||
|
maxhlth = HealBot_Model.units[unit] and HealBot_Model.units[unit].maxHealth or 10000;
|
||||||
|
else
|
||||||
|
hlth=UnitHealth(unit);
|
||||||
|
maxhlth=UnitHealthMax(unit);
|
||||||
|
end
|
||||||
|
|
||||||
local spellLeft = HealBot_GetHealSpell(unit,HealBot_Action_SpellPattern("Left"));
|
local spellLeft = HealBot_GetHealSpell(unit,HealBot_Action_SpellPattern("Left"));
|
||||||
local spellMiddle = HealBot_GetHealSpell(unit,HealBot_Action_SpellPattern("Middle"));
|
local spellMiddle = HealBot_GetHealSpell(unit,HealBot_Action_SpellPattern("Middle"));
|
||||||
@@ -33,8 +40,9 @@ function HealBot_Action_RefreshTooltip(unit)
|
|||||||
HealBot_Action_Tooltip_ClearLines();
|
HealBot_Action_Tooltip_ClearLines();
|
||||||
|
|
||||||
if HealBot_Config.Tooltip_ShowTarget==1 then
|
if HealBot_Config.Tooltip_ShowTarget==1 then
|
||||||
if UnitName(unit) then
|
local uname = HealBot_Model.units[unit] and HealBot_Model.units[unit].name or UnitName(unit)
|
||||||
HealBot_Action_Tooltip_SetLineLeft(UnitName(unit),0,1,0,linenum)
|
if uname then
|
||||||
|
HealBot_Action_Tooltip_SetLineLeft(uname,0,1,0,linenum)
|
||||||
if hlth and maxhlth then
|
if hlth and maxhlth then
|
||||||
local r,g,b,a=HealBot_HealthColor(unit,hlth,maxhlth);
|
local r,g,b,a=HealBot_HealthColor(unit,hlth,maxhlth);
|
||||||
HealBot_Action_Tooltip_SetLineRight(hlth.."/"..maxhlth.." (-"..maxhlth-hlth..")",r,g,b,linenum)
|
HealBot_Action_Tooltip_SetLineRight(hlth.."/"..maxhlth.." (-"..maxhlth-hlth..")",r,g,b,linenum)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* `/hb` - Toggles the main HealBot panel on and off
|
* `/hb` - Toggles the main HealBot panel on and off
|
||||||
* `/hb options` - Toggles the HealBot options panel on and off
|
* `/hb options` - Toggles the HealBot options panel on and off
|
||||||
* `/hb reset` - Resets the contents of the main HealBot panel
|
* `/hb reset` - Resets the contents of the main HealBot panel
|
||||||
|
* `/hb debug` - Toggles in-game debug message output to the main chat frame
|
||||||
|
|
||||||
### Key Features & Current Functionality
|
### Key Features & Current Functionality
|
||||||
* **MVC & Observer Architecture:** High-performance, reactive engine that updates frames dynamically on state changes, drastically reducing CPU and memory overhead. Features memory recycling pool and event loop decoupling for zero-stutter combat.
|
* **MVC & Observer Architecture:** High-performance, reactive engine that updates frames dynamically on state changes, drastically reducing CPU and memory overhead. Features memory recycling pool and event loop decoupling for zero-stutter combat.
|
||||||
@@ -30,7 +31,7 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **Talent-Based Calculations & Equipment Bonus:** Dynamic spell healing calculations for Druid, Priest, and Paladin based on talents, and automatically scans equipped gear to scale healing predictions.
|
* **Talent-Based Calculations & Equipment Bonus:** Dynamic spell healing calculations for Druid, Priest, and Paladin based on talents, and automatically scans equipped gear to scale healing predictions.
|
||||||
* **Modifier-Aware Tooltips:** Tooltips dynamically update to show exact bound actions (Shift/Ctrl/Alt) and required mana costs (turns red if insufficient mana).
|
* **Modifier-Aware Tooltips:** Tooltips dynamically update to show exact bound actions (Shift/Ctrl/Alt) and required mana costs (turns red if insufficient mana).
|
||||||
* **Blizzard Party Frame Toggle:** Toggle to automatically hide Blizzard's default party frames when in a group in favor of HealBot's layouts.
|
* **Blizzard Party Frame Toggle:** Toggle to automatically hide Blizzard's default party frames when in a group in favor of HealBot's layouts.
|
||||||
* **HoT & Buff Tracking:** Intelligently track active HoTs and buffs directly on the grid frames with custom icons (e.g., Renew, Rejuvenation, Regrowth, Fear Ward).
|
* **HoT & Buff Tracking:** Intelligently track active HoTs and buffs directly on the grid frames with custom icons (e.g., Renew, Rejuvenation, Regrowth, Fear Ward). Optional extended HoT timer tracker togglable below frames.
|
||||||
* **Mana Bars for Healers:** Enable and position mini-mana status bars next to unit frames, toggleable to display for healer classes only or all classes.
|
* **Mana Bars for Healers:** Enable and position mini-mana status bars next to unit frames, toggleable to display for healer classes only or all classes.
|
||||||
* **Curse & Debuff Warning (CDC):** Dynamic visual and audio alerts for cleanable debuffs. Customizable colors based on debuff type (Curse, Poison, Disease, Magic).
|
* **Curse & Debuff Warning (CDC):** Dynamic visual and audio alerts for cleanable debuffs. Customizable colors based on debuff type (Curse, Poison, Disease, Magic).
|
||||||
* **Pet & Familiar Frames:** Dedicated, toggleable frames for tracking and healing player pets.
|
* **Pet & Familiar Frames:** Dedicated, toggleable frames for tracking and healing player pets.
|
||||||
@@ -49,6 +50,35 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
|
|
||||||
### Change Log
|
### Change Log
|
||||||
|
|
||||||
|
**v1.7.6**
|
||||||
|
* **Feature - All-Class Support & Raid Frame Replacement:** Removed legacy restriction that disabled HealBot event listeners and UI frames for classes without native healing spells. HealBot now initializes and functions as a full party/raid frame replacement for all classes (Warrior, Mage, Rogue, Hunter, Warlock).
|
||||||
|
* **Targeting & Binding Defaults:** Added default `Left` click `"Target"` binding for non-healer classes, recognized `"target"` in spell resolution, and prevented non-healer buttons from disabling on full-health allies.
|
||||||
|
* **Mage Decurse Support:** Integrated `Remove Lesser Curse` into Mage debuff tables and Cure/Dispel (CDC) options.
|
||||||
|
* **Bug Fix - Spellbook Scan Lua Error:** Initialized `RealHealing` in spell scanner, resolving `attempt to concatenate global 'RealHealing' (a nil value)` when opening the spellbook on non-healer classes.
|
||||||
|
* **UI Fix - Cure Dropdown Stale Text:** Unconditionally added "None" entry and disabled curing button dropdowns for classes without decurse/cleanse abilities, fixing stale dropdown text ("Melee") displaying on Warrior and other non-dispelling classes.
|
||||||
|
* **Feature - Class Buff Tracking:** Added buff tracking lists, bidirectional group/rank equivalents (Greater Blessings, armors, etc.), and self-only auto-filtering for all classes. Added Water Shield for Shaman and refreshed buff dropdown labels to eliminate stale UI cache text.
|
||||||
|
|
||||||
|
**v1.7.5**
|
||||||
|
* **Feature - Test Bars** - Implemented a "Test Bars" button and slider in the Skins options tab, allowing you to spawn and adjust a dummy raid group of up to 40 members without being in a real raid. This allows for easy layout and appearance customization out of combat.
|
||||||
|
* **UI - Skins Options & Custom Health Gradients** - Added configurable Max HP and Min HP colour pickers with descriptive labels for custom gradient support. Fixed colour picker button click interceptors and hooked ColorPickerFrame callbacks. Integrated global font selector across raid frame text, headers, Options button, and preview bars. Reorganized Skins tab layout to anchor Test Bars cleanly in Column 2.
|
||||||
|
* **UI - Cleanup** - While adding new funcionalities the way menus look was ignored, new functions were added to each tab where there was free space, so attempt was made to clean up this convoluted mess I made. Menu Tabs are now aligned and grouped in a manner that makes more sense.
|
||||||
|
* **UI - Options Tabs Relative Anchoring Fix** - Fixed layout skewing and margin drift across Spells, Buffs, Chat, Extras (Integrations), and Auto options tabs. Replaced arbitrary hardcoded coordinate shifts with clean relative-anchoring hierarchies centered across the dialog width.
|
||||||
|
* **Performance Fix - Table Pooling & GC Leaks** - Resolved critical table leaks in emergency heals where pooled tables (`order` and `units`) failed to release when pet heals were disabled, un-nested pet healing from emergency heals, eliminated high-frequency (4 Hz) anonymous closure allocations in `HealBot_Action_UpdatePlayerHoTs`, and implemented in-place key recycling for equipment scanning and grid button tables.
|
||||||
|
|
||||||
|
**v1.7.4**
|
||||||
|
* **Performance Fix - CPU Spikes** - Fixed massive FPS drops during raid combat. The `HealBot_CheckBuffs` function previously forced the client to generate hidden UI tooltips for up to 32 buffs per player on every single `UNIT_AURA` event. Tooltip parsing is now cached per texture, bypassing thousands of redundant API calls per second.
|
||||||
|
* **Performance Fix - Frame Rendering** - Eliminated redundant UI layout recalculations in `HealBot_Action_EnableButton`. The UI no longer forces `SetFont`, `SetWidth`, `SetHeight`, and `GetGlobal` lookups on every single combat tick (which previously caused 4,000+ layout updates per second in 40-man raids).
|
||||||
|
* **Performance Fix - Range Checking** - Greatly reduced CPU stutter caused by range calculations. `HealBot_Range_Check` now caches map positioning math and API calls per-frame, preventing the addon from calculating the exact same `math.sqrt` distance up to 5 times per unit during heavy combat.
|
||||||
|
* **Performance Fix - Unit ID Lookup** - Optimized `HealBot_FindUnitID` by pre-allocating raid unit tokens, preventing massive string concatenation and garbage collection spam during high-frequency combat events like `CHAT_MSG_ADDON` (HealComm).
|
||||||
|
* **Performance Fix - String GC Leak** - Fixed garbage collection hitches caused by `string.gfind` closures in the HealComm parsing loop by rewriting it to use closure-free `string.find` native loops.
|
||||||
|
* **Debug Output Command** - Added `/hb debug` (or `/hb dbg`) slash command to toggle real-time debug message printing directly into the standard chat frame without requiring custom chat channels.
|
||||||
|
* **Performance Fix - Spell Lookup** - Fixed a massive CPU drain and garbage generation issue where the entire spellbook was linearly scanned every frame per unit. Spell IDs are now cached via O(1) dictionary lookup on login and talent/spell changes.
|
||||||
|
* **Performance Fix - Unit Hash Lookup** - Eliminated heavy C-API calls to `UnitName()` during incoming heals by caching raid and party unit tokens in a fast O(1) hash table that updates on roster changes.
|
||||||
|
* **Performance Fix - Range Cache GC Leak** - Fixed a continuous memory leak in the range checker caused by string concatenation (`unit .. "_" .. range`) running every frame. Range states are now stored in a nested numeric table cache.
|
||||||
|
* **Performance Fix - Talent Rank Scan** - Fixed severe CPU stutter when gaining or losing auras that affect stats. Previously, inventory updates forced a full equipment and spell recalculation which linearly scanned the entire talent tree multiple times per rank. Talent ranks are now cached natively.
|
||||||
|
* **Feature - HoT Tracking** - Added an option in the Integrations tab to track Player-cast HoT timers in a dedicated list below the main HealBot frame. Requires Nampower to fetch exact durations. Added support for tracking Power Word: Shield. Implemented with a pre-allocated static cache array for zero GC leaks, and precise GUID trapping for instant name resolution on self and non-party members.
|
||||||
|
|
||||||
|
|
||||||
**v1.7.3**
|
**v1.7.3**
|
||||||
* **Performance Fix - Table Pooling Part 2** - Fixed remaining un-pooled table allocations in layout updates, macro parsing, nampower integration, and aura tracking by utilizing HealBot_GetTable().
|
* **Performance Fix - Table Pooling Part 2** - Fixed remaining un-pooled table allocations in layout updates, macro parsing, nampower integration, and aura tracking by utilizing HealBot_GetTable().
|
||||||
* **Performance Fix - HealComm Networking** - Fixed issue where incoming `HealComm` messages triggered synchronous UI redraws, causing massive lag in 40-man raids during combat. `HealBot_RecalcHeals` is now decoupled and deferred through the `HealBot_OnUpdate` dirty queue, allowing multiple network events to collapse into a single frame redraw.
|
* **Performance Fix - HealComm Networking** - Fixed issue where incoming `HealComm` messages triggered synchronous UI redraws, causing massive lag in 40-man raids during combat. `HealBot_RecalcHeals` is now decoupled and deferred through the `HealBot_OnUpdate` dirty queue, allowing multiple network events to collapse into a single frame redraw.
|
||||||
@@ -80,6 +110,8 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **Feature - Shapeshift Spell Queue** - Built a native spell queue system for Druid auto-unshifting. Bypasses the "Cannot cast while shapeshifted" error and server lag when AutoUnshift is enabled, firing the heal seamlessly the exact millisecond the form is dropped. Now completely unified to use the standard casting API for maximum reliability across all client setups.
|
* **Feature - Shapeshift Spell Queue** - Built a native spell queue system for Druid auto-unshifting. Bypasses the "Cannot cast while shapeshifted" error and server lag when AutoUnshift is enabled, firing the heal seamlessly the exact millisecond the form is dropped. Now completely unified to use the standard casting API for maximum reliability across all client setups.
|
||||||
* **Bug Fix - CDC Config List** - Fixed an uninitialized dropdown list array that prevented the CDC class monitor configuration from saving correctly.
|
* **Bug Fix - CDC Config List** - Fixed an uninitialized dropdown list array that prevented the CDC class monitor configuration from saving correctly.
|
||||||
* **Bug Fix - Color Picker Accuracy** - Removed an undocumented multiplier hack on default textures that was artificially brightening debuff bar colors and overriding the user's selected colors from the color picker.
|
* **Bug Fix - Color Picker Accuracy** - Removed an undocumented multiplier hack on default textures that was artificially brightening debuff bar colors and overriding the user's selected colors from the color picker.
|
||||||
|
* **Bug Fix - Raid Self-Range & Transparency** - Fixed player health bar appearing transparent in raid instances by checking `UnitIsUnit(unit, "player")` in range detection, preventing false out-of-range failures when player is represented by a `raidX` token.
|
||||||
|
* **Bug Fix - Raid Class Coloring & Identity Cache** - Fixed missing and delayed raid class colors by querying authoritative server data (`GetRaidRosterInfo`) for raid members, preventing model identity cache wipes, adding a throttled resolution retry in `OnUpdate`, and providing on-demand class color fallbacks in `HealBot_HealthColor`.
|
||||||
|
|
||||||
**v1.6.5**
|
**v1.6.5**
|
||||||
* **Performance Update - Mana Tracking** - Added a fast-path redraw pipeline for unit power changes. This optimization prevents full frame redraws when players naturally regenerate or consume mana, resolving severe FPS drops in 40-man raids while tracking mana.
|
* **Performance Update - Mana Tracking** - Added a fast-path redraw pipeline for unit power changes. This optimization prevents full frame redraws when players naturally regenerate or consume mana, resolving severe FPS drops in 40-man raids while tracking mana.
|
||||||
@@ -95,6 +127,7 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **UI Update - Customizable icon size** - Added an option to change size of HoT icons (default to 12px).
|
* **UI Update - Customizable icon size** - Added an option to change size of HoT icons (default to 12px).
|
||||||
* **Cleanup** - Removed dead code `HealBot_Groups` table.
|
* **Cleanup** - Removed dead code `HealBot_Groups` table.
|
||||||
* **Bug Fix - Buff Watch Self** - Fixed an issue where the "Self Only" toggle for watched buffs failed to load visually across sessions.
|
* **Bug Fix - Buff Watch Self** - Fixed an issue where the "Self Only" toggle for watched buffs failed to load visually across sessions.
|
||||||
|
* **Bug Fix - Pet Coloring** - Fixed an issue where custom server integrations giving pets a class could override the mint pet color when class color override is toggled.
|
||||||
|
|
||||||
**v1.6.2**
|
**v1.6.2**
|
||||||
* **Hotfix - raid and party frames** - if getNumRaidMembers() > 0 wrapper around extra bars stopped from displaying all frames blocked from displaying Extras\Raid.
|
* **Hotfix - raid and party frames** - if getNumRaidMembers() > 0 wrapper around extra bars stopped from displaying all frames blocked from displaying Extras\Raid.
|
||||||
@@ -128,6 +161,8 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **Memory Optimization:** Fixed a significant memory leak where tracking tables were being repeatedly allocated every tick during aura scanning, and replaced `table.foreach` with pairs loops to avoid GC spikes during combat.
|
* **Memory Optimization:** Fixed a significant memory leak where tracking tables were being repeatedly allocated every tick during aura scanning, and replaced `table.foreach` with pairs loops to avoid GC spikes during combat.
|
||||||
|
|
||||||
**v1.4.1**
|
**v1.4.1**
|
||||||
|
* **Frame Disappearing Fix:** Fixed a layout rendering bug where frames would flash for a split second and disappear on login due to improper table clearing of unit buttons, leaving empty arrays that incorrectly failed the layout check.
|
||||||
|
* **Ranked Spell Parsing Fix:** Fixed a Lua crash during addon initialization when discovering ranked spells without an explicit target property. Ranked spells now dynamically inherit the target table from their base spells.
|
||||||
* **Talent-based Healing Calculations:** Implemented dynamic spell healing calculations for Druid, Priest, and Paladin classes based on talents.
|
* **Talent-based Healing Calculations:** Implemented dynamic spell healing calculations for Druid, Priest, and Paladin classes based on talents.
|
||||||
* **Modifier Key Polling:** Replaced MODIFIER_STATE_CHANGED event with polling in HealBot_OnUpdate to track modifier keys reliably.
|
* **Modifier Key Polling:** Replaced MODIFIER_STATE_CHANGED event with polling in HealBot_OnUpdate to track modifier keys reliably.
|
||||||
* **Incoming Heals Fix:** Fixed a bug where incoming heals failed to broadcast or show on the UI due to synchronous GCD fails and `CheckInteractDistance` limitations in the 1.12 API.
|
* **Incoming Heals Fix:** Fixed a bug where incoming heals failed to broadcast or show on the UI due to synchronous GCD fails and `CheckInteractDistance` limitations in the 1.12 API.
|
||||||
@@ -144,7 +179,6 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **Chat Announcements & Mouseover Casts:** Chat announcements are now correctly fired when using native Hovercasting (Mouseover). Additionally, added safety checks to prevent spamming chat announcements when accidentally clicking on a dead player (unless casting a resurrection spell).
|
* **Chat Announcements & Mouseover Casts:** Chat announcements are now correctly fired when using native Hovercasting (Mouseover). Additionally, added safety checks to prevent spamming chat announcements when accidentally clicking on a dead player (unless casting a resurrection spell).
|
||||||
* **New Priest Buff (Enlighten):** Added the custom "Enlighten" buff to Priest trackable buffs, complete with the `btnholyscriptures` icon on unit frames.
|
* **New Priest Buff (Enlighten):** Added the custom "Enlighten" buff to Priest trackable buffs, complete with the `btnholyscriptures` icon on unit frames.
|
||||||
|
|
||||||
|
|
||||||
**1.3.3**
|
**1.3.3**
|
||||||
* **Chat Panel Refactor:** Completely replaced the spell selection dropdowns in the Chat tab with manual text input boxes, allowing users to type exact spell names (with or without ranks) directly, matching the behavior of the key-bindings configuration. Fixed a string matching bug caused by Vanilla WoW's hidden trailing spaces when comparing spell names, ensuring that both rankless (e.g. `Flash Heal`) and ranked inputs trigger correctly.
|
* **Chat Panel Refactor:** Completely replaced the spell selection dropdowns in the Chat tab with manual text input boxes, allowing users to type exact spell names (with or without ranks) directly, matching the behavior of the key-bindings configuration. Fixed a string matching bug caused by Vanilla WoW's hidden trailing spaces when comparing spell names, ensuring that both rankless (e.g. `Flash Heal`) and ranked inputs trigger correctly.
|
||||||
* **Chat Layout Stack:** Restructured the Chat Options XML layout to correctly stack the inputs into neat rows, preventing horizontal overlap and providing more space for typing long announce messages.
|
* **Chat Layout Stack:** Restructured the Chat Options XML layout to correctly stack the inputs into neat rows, preventing horizontal overlap and providing more space for typing long announce messages.
|
||||||
|
|||||||
Reference in New Issue
Block a user