--COMBAT_LOG_EVENT_UNFILTERED GROUP_ROSTER_UPDATE
function(event, _, subevent)
    if (event == "COMBAT_LOG_EVENT_UNFILTERED" and subevent == "UNIT_DIED") or event == "GROUP_ROSTER_UPDATE" then
        aura_env.dps = 0
        aura_env.heal = 0
        aura_env.tank = 0
        
        aura_env.dpsDead = 0
        aura_env.healDead = 0
        aura_env.tankDead = 0
        if IsInRaid("player") == true then
            for i = 1, GetNumGroupMembers() do
                if UnitGroupRolesAssigned("raid"..i) == "TANK" then
                    if UnitIsDeadOrGhost("raid"..i) then
                        aura_env.tankDead = aura_env.tankDead + 1
                    else
                        aura_env.tank = aura_env.tank + 1
                    end
                end
                if UnitGroupRolesAssigned("raid"..i) == "DAMAGER" then
                    if UnitIsDeadOrGhost("raid"..i) then
                        aura_env.dpsDead = aura_env.dpsDead + 1
                    else
                        aura_env.dps = aura_env.dps + 1
                    end
                end
                if UnitGroupRolesAssigned("raid"..i) == "HEALER" then
                    if UnitIsDeadOrGhost("raid"..i) then
                        aura_env.healDead = aura_env.healDead + 1
                    else
                        aura_env.heal = aura_env.heal + 1
                    end
                end
            end
        else
            for i = 1, GetNumGroupMembers() do
                if UnitGroupRolesAssigned("party"..i) == "TANK" then
                    if UnitIsDeadOrGhost("party"..i) then
                        aura_env.tankDead = aura_env.tankDead + 1
                    else
                        aura_env.tank = aura_env.tank + 1
                    end
                end
                if UnitGroupRolesAssigned("party"..i) == "DAMAGER" then
                    if UnitIsDeadOrGhost("party"..i) then
                        aura_env.dpsDead = aura_env.dpsDead + 1
                    else
                        aura_env.dps = aura_env.dps + 1
                    end
                end
                if UnitGroupRolesAssigned("party"..i) == "HEALER" then
                    if UnitIsDeadOrGhost("party"..i) then
                        aura_env.healDead = aura_env.healDead + 1
                    else
                        aura_env.heal = aura_env.heal + 1
                    end
                end
            end
            if UnitIsDeadOrGhost("player") then
                if UnitGroupRolesAssigned("player") == "TANK" then
                    aura_env.tankDead = aura_env.tankDead + 1
                end
                if UnitGroupRolesAssigned("player") == "DAMAGER" then
                    aura_env.dpsDead = aura_env.dpsDead + 1
                end
                if UnitGroupRolesAssigned("player") == "HEALER" then
                    aura_env.healDead = aura_env.healDead + 1
                end
            else
                if UnitGroupRolesAssigned("player") == "TANK" then
                    aura_env.tank = aura_env.tank + 1
                end
                if UnitGroupRolesAssigned("player") == "DAMAGER" then
                    aura_env.dps = aura_env.dps + 1
                end
                if UnitGroupRolesAssigned("player") == "HEALER" then
                    aura_env.heal = aura_env.heal + 1
                end
            end
        end
    end
end

--DISPLAY
function()
    return "TANKS: " .. aura_env.tank - aura_env.tankDead .. "\n" .. "HEALS: " .. aura_env.heal - aura_env.healDead .. "\n" .. "DPS:" .. aura_env.dps - aura_env.dpsDead
end

--INIT
aura_env.dps = 0
aura_env.heal = 0
aura_env.tank = 0

aura_env.dpsDead = 0
aura_env.healDead = 0
aura_env.tankDead = 0
