69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| TRIGGER
 | |
| function()
 | |
| 	if UnitGroupRolesAssigned("player") == "HEALER" then
 | |
| 		if UnitDebuff("target", "Necrotic Rot") then
 | |
| 			return true
 | |
| 		end
 | |
| 	end
 | |
| 	if UnitGroupRolesAssigned("player") == "TANK" then
 | |
| 		if UnitDebuff("player", "Necrotic Rot") then
 | |
| 			return true
 | |
| 		end
 | |
| 	end
 | |
| end
 | |
| 
 | |
| TRIGGER DURATION
 | |
| function()
 | |
| 	if UnitGroupRolesAssigned("player") == "HEALER" then
 | |
| 		if UnitDebuff("target", "Necrotic Rot") then
 | |
| 			aura_env.stacks = select(4, UnitDebuff("target", "Necrotic Rot"))
 | |
| 			aura_env.exptime = select(7, UnitDebuff("target", "Necrotic Rot"))
 | |
| 			aura_env.maxDur = select(6, UnitDebuff("target", "Necrotic Rot"))
 | |
| 		end
 | |
| 	end
 | |
| 	if UnitGroupRolesAssigned("player") == "TANK" then
 | |
| 		if UnitDebuff("player", "Necrotic Rot") then
 | |
| 			aura_env.stacks = select(4, UnitDebuff("player", "Necrotic Rot"))
 | |
| 			aura_env.exptime = select(7, UnitDebuff("player", "Necrotic Rot"))
 | |
| 			aura_env.maxDur = select(6, UnitDebuff("player", "Necrotic Rot"))
 | |
| 		end
 | |
| 	end
 | |
| 	if aura_env.stacks > 33 then
 | |
| 		aura_env.stacks = 33
 | |
| 	end
 | |
| 	return 33 - aura_env.stacks, 33, 1
 | |
| end
 | |
| 
 | |
| TRIGGER NAME
 | |
| function()
 | |
| 	return - (aura_env.stacks * 3)
 | |
| end
 | |
| 
 | |
| DISPLAY
 | |
| function()
 | |
| 	return aura_env.stacks
 | |
| end
 | |
| 
 | |
| ANIMATION COLOR
 | |
| function()
 | |
|   local function range(val, min, max, max2)
 | |
|     local val = 1 - (((max - val) / (max - min)) * max2)
 | |
|     return val
 | |
|   end
 | |
|   local remtime = aura_env.exptime - GetTime()
 | |
|   local c = range(remtime, 0, aura_env.maxDur, 1)
 | |
|   c = 1 - c
 | |
|   c expected as [0, 1]
 | |
|   if c > 0.5 then
 | |
|     c = 1 - (2 * (c - 0.5))
 | |
|     return c, 1, 0, 1
 | |
|   else
 | |
|     c = c * 2
 | |
|     return 1, c, 0 ,1
 | |
|   end
 | |
| end
 | |
| 
 | |
| INIT
 | |
| aura_env.stacks = 0
 | |
| aura_env.exptime = 0
 | |
| aura_env.maxDur = 0 |