private FinalDPS GetFinalDPS(AbstractPlayer player, int phaseIndex, Boss target)
        {
            PhaseData phase         = _statistics.Phases[phaseIndex];
            double    phaseDuration = (phase.GetDuration()) / 1000.0;
            double    damage;
            double    dps   = 0.0;
            FinalDPS  final = new FinalDPS();

            //DPS
            damage = player.GetDamageLogs(target, _log,
                                          phase.Start, phase.End).Sum(x => x.Damage);

            if (phaseDuration > 0)
            {
                dps = damage / phaseDuration;
            }
            final.Dps    = (int)dps;
            final.Damage = (int)damage;
            //Condi DPS
            damage = player.GetDamageLogs(target, _log,
                                          phase.Start, phase.End).Where(x => x.IsCondi > 0).Sum(x => x.Damage);

            if (phaseDuration > 0)
            {
                dps = damage / phaseDuration;
            }
            final.CondiDps    = (int)dps;
            final.CondiDamage = (int)damage;
            //Power DPS
            damage = final.Damage - final.CondiDamage;
            if (phaseDuration > 0)
            {
                dps = damage / phaseDuration;
            }
            final.PowerDps          = (int)dps;
            final.PowerDamage       = (int)damage;
            final.PlayerPowerDamage = player.GetJustPlayerDamageLogs(target, _log,
                                                                     phase.Start, phase.End).Where(x => x.IsCondi == 0).Sum(x => x.Damage);
            return(final);
        }