Files
wow-weakauras/Complete Projects/Legion/HoTP heal bars/3.0/HP1 3.0.lua
2024-08-24 22:43:07 +02:00

78 lines
3.1 KiB
Lua

--WeakAurasSaved.HoTP 3.0
--TRIGGER
function()
return true
end
--ICON --Trigger for scripts
function()
WeakAurasSaved.HoTP.percentageHealth = aura_env.round((UnitHealth("player") / UnitHealthMax("player")) * 100, 0)
WeakAurasSaved.HoTP.currentHealth = UnitHealth("player")
WeakAurasSaved.HoTP.missingHealthPercentage = aura_env.round(((UnitHealthMax("player") - UnitHealth("player")) / UnitHealthMax("player")) * 100, 2)
WeakAurasSaved.HoTP.missingHealth = UnitHealthMax("player") - UnitHealth("player")
local healingMultiplier = 1.
local versa = GetCombatRatingBonus(CR_VERSATILITY_DAMAGE_DONE)
healingMultiplier = healingMultiplier + (healingMultiplier * (WeakAurasSaved.HoTP.traitLevel * WeakAurasSaved.HoTP.traitEffectiveness))
healingMultiplier = healingMultiplier + (healingMultiplier * (versa / 100))
for k, v in pairs(WeakAurasSaved.HoTP.Buffs) do
if UnitBuff("player", k) ~= nil then
healingMultiplier = healingMultiplier + (healingMultiplier * v)
end
end
local talent = select(10, GetTalentInfoByID(22430))
if talent == true then
healingMultiplier = healingMultiplier + (healingMultiplier * 0.3)
end
WeakAurasSaved.HoTP.hotpRelativeHeal = 0.3 * healingMultiplier --How much % hotp heals disregarding missing health
WeakAurasSaved.HoTP.hotpAbsoluteRelativeHeal = WeakAurasSaved.HoTP.hotpRelativeHeal * WeakAurasSaved.HoTP.missingHealthPercentage --How much % hp hotp will heal regarding missing health
WeakAurasSaved.HoTP.hotpAbsoluteHeal = aura_env.round(WeakAurasSaved.HoTP.hotpRelativeHeal * WeakAurasSaved.HoTP.missingHealth, 0)
WeakAurasSaved.HoTP.newApsoluteHealth = aura_env.round(WeakAurasSaved.HoTP.currentHealth + WeakAurasSaved.HoTP.hotpAbsoluteHeal, 0)
WeakAurasSaved.HoTP.newRelativeHealth = aura_env.round(WeakAurasSaved.HoTP.percentageHealth + WeakAurasSaved.HoTP.hotpAbsoluteRelativeHeal, 0)
end
--DURATION
function()
return WeakAurasSaved.HoTP.percentageHealth, 100, 1
end
--NAME
function()
return WeakAurasSaved.HoTP.percentageHealth .. " " .. WeakAurasSaved.HoTP.newRelativeHealth .. " +" .. aura_env.round(WeakAurasSaved.HoTP.hotpAbsoluteRelativeHeal, 0)
end
--DISPLAY
function()
return ("%.0fk / %.0fk"):format(UnitHealth("player") / 1000, UnitHealthMax("player") / 1000);
end
--INIT
aura_env.round = function(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end
WeakAurasSaved.HoTP =
{
["Buffs"] =
{
["Consecration"] = 0.3,
["Avenging Wrath"] = 0.35,
["Chains of Thrayn"] = 0.5,
["Ilterendi, Crown Jewel of Silvermoon"] = 0.15,
},
["traitLevel"] = 7,
["traitEffectiveness"] = 0.06,
["percentageHealth"] = 0,
["currentHealth"] = 0,
["hotpRelativeHeal"] = 0,
["hotpAbsoluteRelativeHeal"] = 0,
["hotpAbsoluteHeal"] = 0,
["newApsoluteHealth"] = 0,
["newRelativeHealth"] = 0,
["missingHealth"] = 0,
["missingHealthPercentage"] = 0,
}