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); }