87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
--COMBAT_LOG_EVENT_UNFILTERED
 | 
						|
function(e, ...)
 | 
						|
    local se = select(2, ...)
 | 
						|
    if se == "SPELL_AURA_APPLIED" then
 | 
						|
        local caster, target, buff = select(5, ...), select(9, ...), select(13, ...)
 | 
						|
        if caster == UnitName("player") and target == UnitName("player") and buff == "Bulwark of Flame" then
 | 
						|
            WeakAuras.ScanEvents("FUCKAGE_BEGIN")
 | 
						|
            C_Timer.After(3, function() WeakAuras.ScanEvents("FUCKAGE_STOP") end)
 | 
						|
        end
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
--FUCKAGE_BEGIN FUCKAGE_STOP
 | 
						|
function(e)
 | 
						|
    if e == "FUCKAGE_BEGIN" then
 | 
						|
        aura_env.fuckage = 1
 | 
						|
        if UnitBuff("player", "Bulwark of Flame") then
 | 
						|
            local absorb = select(17, UnitBuff("player", "Bulwark of Flame"))
 | 
						|
            absorb = tonumber(absorb)
 | 
						|
            aura_env.maxAbsorb = absorb
 | 
						|
        end
 | 
						|
    elseif e == "FUCKAGE_STOP" then
 | 
						|
        aura_env.fuckage = 0
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
--EVERY FRAME TRIGGER
 | 
						|
function()
 | 
						|
    if aura_env.fuckage == 1 then
 | 
						|
        return true
 | 
						|
    else
 | 
						|
        return false
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
--EVERY FRAME DURATION
 | 
						|
function()
 | 
						|
    if aura_env.fuckage == 1 then
 | 
						|
        if UnitBuff("player", "Bulwark of Flame") then
 | 
						|
            local absorb = select(17, UnitBuff("player", "Bulwark of Flame"))
 | 
						|
            absorb = tonumber(absorb)
 | 
						|
            if absorb > aura_env.maxAbsorb then
 | 
						|
                aura_env.maxAbsorb = absorb
 | 
						|
            end
 | 
						|
            aura_env.absorb = absorb
 | 
						|
            return absorb, aura_env.maxAbsorb, 1
 | 
						|
        end
 | 
						|
    else
 | 
						|
        return 0, 0, 0
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
--NAME INFO
 | 
						|
function()
 | 
						|
    return aura_env.shorten(aura_env.maxAbsorb)
 | 
						|
end
 | 
						|
 | 
						|
--STACKS
 | 
						|
function()
 | 
						|
    return aura_env.shorten(aura_env.absorb)
 | 
						|
end
 | 
						|
 | 
						|
--INIT
 | 
						|
aura_env.maxAbsorb = 0
 | 
						|
aura_env.fuckage = 0
 | 
						|
aura_env.absorb = 0
 | 
						|
aura_env.shorten = function(val)
 | 
						|
    local function round(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
 | 
						|
    local n = 2
 | 
						|
    if val < 1e3 then
 | 
						|
        return round(val, n)
 | 
						|
    elseif val > 1e3 and val < 1e6 then
 | 
						|
        return round(val / 1e3, n) .. "k"
 | 
						|
    elseif val > 1e6 and val < 1e9 then
 | 
						|
        return round(val / 1e6, n) .. "M"
 | 
						|
    elseif val > 1e9 then
 | 
						|
        return round(val / 1e9, n) .. "G"
 | 
						|
    end
 | 
						|
end
 |