Merge pull request #25 from Bluewhale1337/main

Merging patch 1.7.6 into dev branch
This commit is contained in:
Bluewhale1337
2026-11-05 10:52:11 +01:00
committed by GitHub
13 changed files with 531 additions and 128 deletions
+12
View File
@@ -2,6 +2,10 @@
-- HealBot_AlwaysHeal: Returns true if healthy units should be shown.
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
end
@@ -60,6 +64,14 @@ end
-- HealBot_CanHeal: Internal utility: HealBot_CanHeal
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
local rezSpell = HealBot_GetRezSpellForClass();
if rezSpell and HealBot_GetHealSpell(unit, rezSpell) then
+55 -12
View File
@@ -1,3 +1,4 @@
local HealBot_Buff_Equivalents = nil
-- HealBot_Controller_Aura.lua
-- Handles tracking buffs/debuffs (auras) on group/raid units
@@ -94,14 +95,52 @@ function HealBot_CheckBuffs(unit)
return
end
-- Group Buff Equivalents
local HealBot_Buff_Equivalents = {
[HEALBOT_POWER_WORD_FORTITUDE] = HEALBOT_PRAYER_OF_FORTITUDE,
[HEALBOT_DIVINE_SPIRIT] = HEALBOT_PRAYER_OF_SPIRIT,
[HEALBOT_SHADOW_PROTECTION] = HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
[HEALBOT_ARCANE_INTELLECT] = HEALBOT_ARCANE_BRILLIANCE,
[HEALBOT_MARK_OF_THE_WILD] = HEALBOT_GIFT_OF_THE_WILD,
}
if not HealBot_Buff_Equivalents then
HealBot_Buff_Equivalents = {
-- Priest Fortitude
[HEALBOT_POWER_WORD_FORTITUDE] = { HEALBOT_PRAYER_OF_FORTITUDE },
[HEALBOT_PRAYER_OF_FORTITUDE] = { HEALBOT_POWER_WORD_FORTITUDE },
-- Priest Spirit
[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
local hasBuff = StaticHasBuff
@@ -141,13 +180,17 @@ function HealBot_CheckBuffs(unit)
for j = 1, 8 do
local val = HealBot_Config.BuffDropDowns[myClass][j]
if val and val > 0 then
local isSelfOnly = (HealBot_Config.BuffWatchSelf and HealBot_Config.BuffWatchSelf[j] == 1)
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 spellName = HealBot_Buff_Spells[myClass][val]
local hasIt = hasBuff[spellName]
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
if not hasIt then
+34 -33
View File
@@ -376,8 +376,6 @@ end
-- HealBot_OnEvent_VariablesLoaded: Applies config defaults and initializes state.
function HealBot_OnEvent_VariablesLoaded(this)
local class = HealBot_UnitClass("player")
local function DeepCopyMissing(src, dest)
for k, v in pairs(src) do
if type(v) == "table" then
@@ -391,6 +389,11 @@ function HealBot_OnEvent_VariablesLoaded(this)
end
end
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
if HealBot_Config.Skins then
@@ -420,39 +423,37 @@ function HealBot_OnEvent_VariablesLoaded(this)
HidePartyFrame();
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();
this:RegisterEvent("ZONE_CHANGED_NEW_AREA");
this:RegisterEvent("PLAYER_REGEN_DISABLED");
this:RegisterEvent("PLAYER_REGEN_ENABLED");
this:RegisterEvent("PLAYER_TARGET_CHANGED");
this:RegisterEvent("PARTY_MEMBERS_CHANGED");
this:RegisterEvent("RAID_ROSTER_UPDATE");
this:RegisterEvent("RAID_TARGET_UPDATE");
this:RegisterEvent("PARTY_MEMBER_DISABLE");
this:RegisterEvent("PARTY_MEMBER_ENABLE");
this:RegisterEvent("UNIT_PET");
this:RegisterEvent("UNIT_HEALTH");
this:RegisterEvent("UNIT_MANA");
this:RegisterEvent("UNIT_RAGE");
this:RegisterEvent("UNIT_ENERGY");
this:RegisterEvent("UNIT_DISPLAYPOWER");
this:RegisterEvent("SPELLS_CHANGED");
this:RegisterEvent("SPELLCAST_START");
this:RegisterEvent("SPELLCAST_STOP");
this:RegisterEvent("SPELLCAST_INTERRUPTED");
this:RegisterEvent("SPELLCAST_FAILED");
this:RegisterEvent("UNIT_AURA");
this:RegisterEvent("UPDATE_INVENTORY_ALERTS");
this:RegisterEvent("UNIT_INVENTORY_CHANGED");
this:RegisterEvent("CHAT_MSG_ADDON");
this:RegisterEvent("CHAT_MSG_SYSTEM");
this:RegisterEvent("PLAYER_ENTERING_WORLD");
HealBot_SpellsInitFlag = 2;
end
this:RegisterEvent("ZONE_CHANGED_NEW_AREA");
this:RegisterEvent("PLAYER_REGEN_DISABLED");
this:RegisterEvent("PLAYER_REGEN_ENABLED");
this:RegisterEvent("PLAYER_TARGET_CHANGED");
this:RegisterEvent("PARTY_MEMBERS_CHANGED");
this:RegisterEvent("RAID_ROSTER_UPDATE");
this:RegisterEvent("RAID_TARGET_UPDATE");
this:RegisterEvent("PARTY_MEMBER_DISABLE");
this:RegisterEvent("PARTY_MEMBER_ENABLE");
this:RegisterEvent("UNIT_PET");
this:RegisterEvent("UNIT_HEALTH");
this:RegisterEvent("UNIT_MANA");
this:RegisterEvent("UNIT_RAGE");
this:RegisterEvent("UNIT_ENERGY");
this:RegisterEvent("UNIT_DISPLAYPOWER");
this:RegisterEvent("SPELLS_CHANGED");
this:RegisterEvent("SPELLCAST_START");
this:RegisterEvent("SPELLCAST_STOP");
this:RegisterEvent("SPELLCAST_INTERRUPTED");
this:RegisterEvent("SPELLCAST_FAILED");
this:RegisterEvent("UNIT_AURA");
this:RegisterEvent("UPDATE_INVENTORY_ALERTS");
this:RegisterEvent("UNIT_INVENTORY_CHANGED");
this:RegisterEvent("CHAT_MSG_ADDON");
this:RegisterEvent("CHAT_MSG_SYSTEM");
this:RegisterEvent("PLAYER_ENTERING_WORLD");
HealBot_SpellsInitFlag = 2;
end
-- HealBot_OnEvent_UnitHealth: Internal utility: HealBot_OnEvent_UnitHealth
+8 -6
View File
@@ -491,6 +491,7 @@ function HealBot_FindHealSpells()
if HealBot_SpellsInitFlag > 0 then NeedEquipUpdate = 1; return; end
HealBot_Heals = { player = {}, pet = {}, party = {} };
RealHealing = 0;
table.foreach(HealBot_CurrentSpells, function (index, spell)
if (HealBot_Spells[spell]) then
@@ -534,12 +535,8 @@ function HealBot_FindHealSpells()
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.focus = HealBot_Heals.party;
for i = 1, 4 do
HealBot_Heals["party" .. i] = HealBot_Heals.party;
HealBot_Heals["partypet" .. i] = HealBot_Heals.party;
@@ -551,7 +548,7 @@ function HealBot_FindHealSpells()
HealBot_ReleaseTable(items);
if HealBot_CalcEquipBonus then
HealBot_AddDebug("...Done Equip Bonus:" .. RealHealing);
HealBot_AddDebug("...Done Equip Bonus:" .. tostring(RealHealing or 0));
end
HealBot_CalcEquipBonus = false;
end
@@ -590,6 +587,11 @@ function HealBot_GetHealSpell(unit, pattern)
return pattern;
end
-- Handle Special Targeting Pattern
if string.lower(pattern) == "target" then
return pattern;
end
-- Handle Spells
if HealBot_Spells[pattern] or HealBot_GetSpellId(pattern) then
local spell = HealBot_GetSpellName(HealBot_GetSpellId(pattern)) or pattern
+127 -40
View File
@@ -66,12 +66,22 @@ HealBot_ConfigDefaults = {
[HEALBOT_PALADIN] = 1,
[HEALBOT_PRIEST] = 1,
[HEALBOT_SHAMAN] = 1,
[HEALBOT_MAGE] = 1,
[HEALBOT_WARRIOR] = 1,
[HEALBOT_ROGUE] = 1,
[HEALBOT_HUNTER] = 1,
[HEALBOT_WARLOCK] = 1,
},
Debuff_Right = {
[HEALBOT_DRUID] = 1,
[HEALBOT_PALADIN] = 1,
[HEALBOT_PRIEST] = 1,
[HEALBOT_SHAMAN] = 1,
[HEALBOT_MAGE] = 1,
[HEALBOT_WARRIOR] = 1,
[HEALBOT_ROGUE] = 1,
[HEALBOT_HUNTER] = 1,
[HEALBOT_WARLOCK] = 1,
},
BuffWatch = 1,
BuffWatchInCombat = 0,
@@ -187,13 +197,28 @@ HealBot_ConfigDefaults = {
["ShiftCtrlRight"] = HEALBOT_HEALING_WAVE .. HEALBOT_RANK_4,
["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,
ShowNonManaBars = 0,
ActionVisible = 0,
ActionMouseover = 1,
CDCLeftText = {[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",},
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", [HEALBOT_MAGE]="None", [HEALBOT_WARRIOR]="None", [HEALBOT_ROGUE]="None", [HEALBOT_HUNTER]="None", [HEALBOT_WARLOCK]="None",},
Current_Skin = "Modern Flat",
Skin_ID = 1,
Skins = {"Modern Flat", HEALBOT_SKINS_STD, "HealBot Party", "HealBot Raid", "Alteric Valley"},
@@ -512,48 +537,109 @@ HealBot_Debuff_Spells = {
HEALBOT_CURE_POISON,
HEALBOT_CURE_DISEASE,
},
}
HealBot_Buff_Spells = {
[HEALBOT_PALADIN] = {
HEALBOT_BLESSING_OF_KINGS,
HEALBOT_BLESSING_OF_MIGHT,
HEALBOT_BLESSING_OF_WISDOM,
HEALBOT_BLESSING_OF_SALVATION,
HEALBOT_BLESSING_OF_LIGHT,
HEALBOT_BLESSING_OF_SANCTUARY,
},
[HEALBOT_DRUID] = {
HEALBOT_MARK_OF_THE_WILD,
HEALBOT_GIFT_OF_THE_WILD,
HEALBOT_THORNS,
HEALBOT_OMEN_OF_CLARITY,
},
[HEALBOT_PRIEST] = {
HEALBOT_POWER_WORD_FORTITUDE,
HEALBOT_PRAYER_OF_FORTITUDE,
HEALBOT_DIVINE_SPIRIT,
HEALBOT_PRAYER_OF_SPIRIT,
HEALBOT_SHADOW_PROTECTION,
HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
HEALBOT_INNER_FIRE,
HEALBOT_FEAR_WARD,
HEALBOT_ENLIGHTEN,
},
[HEALBOT_MAGE] = {
HEALBOT_ARCANE_INTELLECT,
HEALBOT_ARCANE_BRILLIANCE,
HEALBOT_DAMPEN_MAGIC,
HEALBOT_AMPLIFY_MAGIC,
},
[HEALBOT_SHAMAN] = {
HEALBOT_ROCKBITER_WEAPON,
HEALBOT_FLAMETONGUE_WEAPON,
HEALBOT_FROSTBRAND_WEAPON,
HEALBOT_WINDFURY_WEAPON,
HEALBOT_REMOVE_LESSER_CURSE,
},
}
HealBot_Buff_Spells = {
[HEALBOT_PALADIN] = {
HEALBOT_BLESSING_OF_KINGS,
HEALBOT_BLESSING_OF_MIGHT,
HEALBOT_BLESSING_OF_WISDOM,
HEALBOT_BLESSING_OF_SALVATION,
HEALBOT_BLESSING_OF_LIGHT,
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_MARK_OF_THE_WILD,
HEALBOT_GIFT_OF_THE_WILD,
HEALBOT_THORNS,
HEALBOT_OMEN_OF_CLARITY,
},
[HEALBOT_PRIEST] = {
HEALBOT_POWER_WORD_FORTITUDE,
HEALBOT_PRAYER_OF_FORTITUDE,
HEALBOT_DIVINE_SPIRIT,
HEALBOT_PRAYER_OF_SPIRIT,
HEALBOT_SHADOW_PROTECTION,
HEALBOT_PRAYER_OF_SHADOW_PROTECTION,
HEALBOT_INNER_FIRE,
HEALBOT_FEAR_WARD,
HEALBOT_SHADOWFORM,
HEALBOT_ENLIGHTEN,
},
[HEALBOT_MAGE] = {
HEALBOT_ARCANE_INTELLECT,
HEALBOT_ARCANE_BRILLIANCE,
HEALBOT_DAMPEN_MAGIC,
HEALBOT_AMPLIFY_MAGIC,
HEALBOT_FROST_ARMOR,
HEALBOT_ICE_ARMOR,
HEALBOT_MAGE_ARMOR,
HEALBOT_ICE_BARRIER,
},
[HEALBOT_SHAMAN] = {
HEALBOT_ROCKBITER_WEAPON,
HEALBOT_FLAMETONGUE_WEAPON,
HEALBOT_FROSTBRAND_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_PURIFY] = {HEALBOT_DISEASE_en, HEALBOT_POISON_en},
[HEALBOT_CLEANSE] = {HEALBOT_DISEASE_en, HEALBOT_POISON_en, HEALBOT_MAGIC_en},
@@ -564,6 +650,7 @@ HealBot_Debuff_Types = {
[HEALBOT_ABOLISH_DISEASE] = {HEALBOT_DISEASE_en},
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_1] = {HEALBOT_MAGIC_en},
[HEALBOT_DISPEL_MAGIC..HEALBOT_RANK_2] = {HEALBOT_MAGIC_en},
[HEALBOT_REMOVE_LESSER_CURSE] = {HEALBOT_CURSE_en},
}
HealBot_IsFighting = false;
+56 -2
View File
@@ -81,7 +81,60 @@ HEALBOT_CHAIN_HEAL = "Kettenheilung";
HEALBOT_POWER_WORD_FORTITUDE = "Machtwort: Seelenst\195\164rke";
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_REDEMPTION = "Erl\195\182sung";
@@ -95,7 +148,8 @@ HEALBOT_CLEANSE = "Reinigung des Glaubens";
HEALBOT_DISPEL_MAGIC = "Magiebannung";
HEALBOT_CURE_POISON = "Vergiftung heilen";
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_MAGIC = "Magie";
HEALBOT_CURSE = "Fluch";
+56 -2
View File
@@ -93,7 +93,60 @@ HEALBOT_THORNS = "Thorns";
HEALBOT_OMEN_OF_CLARITY = "Omen of Clarity";
HEALBOT_INNER_FIRE = "Inner Fire";
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_REDEMPTION = "Redemption";
@@ -103,7 +156,8 @@ HEALBOT_ANCESTRALSPIRIT = "Ancestral Spirit";
HEALBOT_PURIFY = "Purify";
HEALBOT_CLEANSE = "Cleanse";
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_CURE_DISEASE = "Cure Disease";
HEALBOT_ABOLISH_DISEASE = "Abolish Disease";
+56 -2
View File
@@ -81,7 +81,60 @@ HEALBOT_CHAIN_HEAL = "Salve de gu\195\169rison";
HEALBOT_POWER_WORD_FORTITUDE = "Mot de pouvoir : Robustesse";
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_REDEMPTION = "R\195\169demption";
@@ -91,7 +144,8 @@ HEALBOT_ANCESTRALSPIRIT = "Esprit Ancestral";
HEALBOT_PURIFY = "Purification";
HEALBOT_CLEANSE = "Epuration";
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_CURE_DISEASE = "Gu\195\169rison des maladies";
HEALBOT_ABOLISH_DISEASE = "Abolir maladie";
+55 -2
View File
@@ -66,7 +66,59 @@ HEALBOT_INNER_FIRE = "내면의 열정";
HEALBOT_FEAR_WARD = "공포의 결계";
HEALBOT_ENLIGHTEN = "Enlighten";
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_REDEMPTION = "구원";
@@ -76,7 +128,8 @@ HEALBOT_GREATER_BLESSING_OF_SALVATION = "상급 구원의 축복";
HEALBOT_PURIFY = "정화";
HEALBOT_CLEANSE = "정화";
HEALBOT_CURE_POISON = "해독";
HEALBOT_REMOVE_CURSE = "저주 해제";
HEALBOT_REMOVE_CURSE = "저주 해제";
HEALBOT_REMOVE_LESSER_CURSE = "하급 저주 해제";
HEALBOT_ABOLISH_POISON = "독 해제";
HEALBOT_CURE_DISEASE = "질병 치료";
HEALBOT_ABOLISH_DISEASE = "질병 해제";
+5
View File
@@ -111,6 +111,11 @@ function HealBot_Options_SetBuffs()
local val = HealBot_Config.BuffDropDowns[myClass][i] or 0
UIDropDownMenu_Initialize(dropDown, HealBot_Options_Buff_Initialize)
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
local selfCheck = getglobal("HealBot_Options_Buff" .. i .. "Self")
+55 -25
View File
@@ -168,14 +168,13 @@ end
-- HealBot_Options_CDCButLeft_DropDown: UI handler for DropDown options panel.
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 = {};
info.text = "None";
info.func = HealBot_Options_CDCButLeft_OnSelect;
UIDropDownMenu_AddButton(info);
local info = {};
info.text = "None";
info.func = HealBot_Options_CDCButLeft_OnSelect;
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
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
if spell then
@@ -189,14 +188,13 @@ function HealBot_Options_CDCButLeft_DropDown()
end
-- HealBot_Options_CDCButRight_DropDown: UI handler for DropDown options panel.
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 = {};
info.text = "None";
info.func = HealBot_Options_CDCButRight_OnSelect;
UIDropDownMenu_AddButton(info);
local info = {};
info.text = "None";
info.func = HealBot_Options_CDCButRight_OnSelect;
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
local spell=HealBot_GetSpellName(HealBot_GetSpellId(DebuffSpells_List[i]));
if spell then
@@ -218,19 +216,49 @@ function HealBot_Options_CDCButRight_Initialize()
end
-- HealBot_Options_CDCButLeft_Refresh: UI handler for Refresh options panel.
function HealBot_Options_CDCButLeft_Refresh(onselect)
local set_id=1;
local class=UnitClass("Player");
local set_id = 1;
local class = UnitClass("Player");
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
if not onselect then HealBot_Options_CDCButLeft_Initialize() end
set_id = HealBot_Config.Debuff_Left[class];
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButLeft,set_id)
if DebuffSpells_List and getn(DebuffSpells_List) > 0 then
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
-- HealBot_Options_CDCButRight_Refresh: UI handler for Refresh options panel.
function HealBot_Options_CDCButRight_Refresh(onselect)
local set_id;
local class=UnitClass("Player");
local set_id = 1;
local class = UnitClass("Player");
local DebuffSpells_List = HealBot_Options_GetDebuffSpells_List(class);
if not onselect then HealBot_Options_CDCButRight_Initialize() end
set_id = HealBot_Config.Debuff_Right[class];
HealBot_UIDropDownMenu_SetSelectedID(HealBot_Options_CDCButRight,set_id)
if DebuffSpells_List and getn(DebuffSpells_List) > 0 then
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
-- HealBot_Options_CDCButLeft_OnLoad: UI handler for OnLoad options panel.
function HealBot_Options_CDCButLeft_OnLoad()
@@ -275,7 +303,7 @@ end
-- HealBot_Options_Debuff_Reset: Restores default debuff tracking options.
function HealBot_Options_Debuff_Reset()
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 }
-- Automatically track all curable debuffs out of the box
@@ -292,6 +320,8 @@ function HealBot_Options_Debuff_Reset()
elseif classEN == "SHAMAN" then
HealBot_DebuffWatch[HEALBOT_POISON_en] = true
HealBot_DebuffWatch[HEALBOT_DISEASE_en] = true
elseif classEN == "MAGE" then
HealBot_DebuffWatch[HEALBOT_CURSE_en] = true
end
local spell = HealBot_Config.CDCLeftText[UnitClass("player")];
+5
View File
@@ -116,6 +116,11 @@ function HealBot_Options_ComboClass_Text()
HealBot_Options_Shift:SetText(combo["Shift"..button] or "")
HealBot_Options_Ctrl:SetText(combo["Ctrl"..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
+7 -4
View File
@@ -50,10 +50,13 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
### Change Log
**v1.7.7**
* **Feature - HoT Timer Position & Icon Overlay Display Modes** - Added configurable HoT Timer list position dropdown (`Below`, `Above`, `Left`, `Right`) relative to raid frames. Added alternative `Icon Overlay` display mode rendering countdown numbers directly on unit bar HoT icons. Excluded pets from timer lists and overlay numbers. Optimized expiration lookup with O(1) cached texture-to-spell mappings.
* **Bug Fix & Feature - HoT Timer Resolution & "Both" Display Mode** - Resolved issue where HoT timer lists displayed raw GUID strings instead of player names by adding eager roster GUID synchronization on group updates and direct raid/party fallback scanning. Added "Both" display mode option (`List`, `Icon Overlay`, `Both`) allowing simultaneous list timers and on-bar icon countdown overlays. Added case-insensitive texture fallback mapping to ensure overlay numbers render consistently across all tracked auras.
* **Refactor & Feature - Unified Aura & HoT Tracking** - Unified bar icons and HoT timers into a single master dictionary (`HealBot_TrackedAuras`) in `HealBot_Data.lua`. Added Weakened Soul, Fear Ward, Abolish Disease, and Abolish Poison to active timer bars with localized client support and debuff-aware pruning.
**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.