public void TestTurretStats() { var ship = _service.CreateShip("Republic Fleet Firetail"); var items = _service.CreateItems( "150mm Light AutoCannon II", "Gyrostabilizer II" ); var context = new Context { Ship = ship, Target = _service.CreateItem("Rifter"), Char = _service.GetAllVCharacter(), Area = new Item() }; context.Char.InstalledItems.Add(ship); ship.InstalledItems.AddRange(items); context.Char.Activate(context); var damageOutput = context.GetDamageOutput(); Assert.AreEqual(73.753, damageOutput.Entries.Sum(x => x.AmmoEntries.First().Damage.DamagePerSecond), 0.001); }
private void InitDamage(Context context) { var damageOutput = context.GetDamageOutput(); MaxAlpha = damageOutput.Entries.Sum(entry => entry.WeaponCount * entry.AmmoEntries.Max(x => x.Damage.AlphaDamage)); MaxDps = damageOutput.Entries.Sum(entry => entry.WeaponCount * entry.AmmoEntries.Max(x => x.Damage.DamagePerSecond)); AmmoAnalysis = damageOutput.Entries.SelectMany(x => x.AmmoEntries.Select(a => CreateAmmoAnalysisViewModel(x, a))) .ToArray(); }