internal FinalDefenses(ParsedEvtcLog log, long start, long end, AbstractSingleActor actor, AbstractSingleActor from) { IReadOnlyList <AbstractHealthDamageEvent> damageLogs = actor.GetDamageTakenEvents(from, log, start, end); DamageTaken = damageLogs.Sum(x => (long)x.HealthDamage); BreakbarDamageTaken = Math.Round(actor.GetBreakbarDamageTakenEvents(from, log, start, end).Sum(x => x.BreakbarDamage), 1); BlockedCount = damageLogs.Count(x => x.IsBlocked); MissedCount = damageLogs.Count(x => x.IsBlind); InvulnedCount = damageLogs.Count(x => x.IsAbsorbed); EvadedCount = damageLogs.Count(x => x.IsEvaded); DodgeCount = actor.GetCastEvents(log, start, end).Count(x => x.SkillId == SkillItem.DodgeId || x.SkillId == SkillItem.MirageCloakDodgeId); DamageBarrier = damageLogs.Sum(x => x.ShieldDamage); InterruptedCount = damageLogs.Count(x => x.HasInterrupted); }