--TSU
--SPELL_UPDATE_COOLDOWN RESET_COOLDOWN_MANAGER_SPELLS COOLDOWN_MANAGER_SWITCH_MODES
function(allstates, e)
	if e == "RESET_COOLDOWN_MANAGER_SPELLS" then 
		for _, state in pairs(allstates) do
		    state.show = false;
		    state.changed = true;
		end
	end
	if not aura_env.mode then aura_env.mode = 1 end 
	if e == "COOLDOWN_MANAGER_SWITCH_MODES" then
		if aura_env.mode == 0 then
			aura_env.mode = 1
			print(aura_env.mode)
		else
			aura_env.mode = 0
			print(aura_env.mode)
		end
	end
	if not aura_env.spells then WeakAuras.ScanEvents("PLAYER_SPELLBOOK_UPDATE") end
	for k,v in pairs(aura_env.spells) do
		local start, duration = GetSpellCooldown(v)
		local icon = GetSpellTexture(k)
		local totalcd = GetSpellBaseCooldown(v)
		allstates[v] = {
            changed = true,
            show = true,
            resort = true,
			progressType = "timed",
            icon = icon,
		}
		if aura_env.mode == 0 then allstates[v].index = totalcd end
		if start > 0 and duration > 1.5 then
			allstates[v].expirationTime = start + duration
			allstates[v].duration = duration
			if not allstates[v].timer and aura_env.mode == 1 then allstates[v].timer = C_Timer.NewTimer(duration, function() WeakAuras.ScanEvents("SPELL_UPDATE_COOLDOWN") end) end
			if aura_env.mode == 1 then allstates[v].index = start + duration end
		else
			if aura_env.mode == 1 then allstates[v].index = 0 end
		end
	end
	return true
end