public MainForm() { InitializeComponent(); database = ObjectDatabase.Database; var pw = database.GetUnitByName("Photon Walker"); var force = new Force { Name = "Robots Test", Formation = database.GetFormationByName("Rage Vindicator") }; force.AddUnit(database.GetUnitByName("Field Marshall Riggs")); for (var i = 0; i < force.Formation.AssaultSlots - 1; i++) force.AddUnit(pw); force.AddUnit(database.GetUnitByName("Mammoth Tank")); force.AddUnit(database.GetUnitByName("Beowulf Cluster")); force.AddUnit(database.GetUnitByName("Omega, Machine of War")); force.AddReinforcement(pw, 2); var enemy = new Force { Name = "Dummy", IsEpicBoss = true }; ForceReportTextBox.Text = force.ForceReport(enemy); ForceReportTextBox.SelectionStart = ForceReportTextBox.Text.Length; }
private void RunTests() { var database = ObjectDatabase.Database; var riggs = database.GetUnitByName("Field Marshall Riggs"); var pw = database.GetUnitByName("Photon Walker"); var mt = database.GetUnitByName("Mammoth Tank"); var beowulf = database.GetUnitByName("Beowulf Cluster"); var omega = database.GetUnitByName("Omega, Machine of War"); var rageVindi = database.GetFormationByName("Rage Vindicator"); var force = new Force { Name = "Robots Test", Formation = rageVindi }; var riggsDmg = riggs.CalculateAverageDamage(force, null, null, true); var pwNDmg = pw.CalculateAverageDamage(force, null, null, false); var pwEDmg = pw.CalculateAverageDamage(force, null, null, true); var mtDmg = mt.CalculateAverageDamage(force, null, null, true); var omegaDmg = omega.CalculateAverageDamage(force, null, null, true); var omegaBoost = pw.CalculateBoostBonus(force, null, omega.Abilities[0].Effects[0], true); var mtBoost = mt.CalculateBoostBonus(force, null, rageVindi.Abilities[0].Effects[0], true); force.AddUnit(riggs); force.AddUnit(riggs); for (int i = 0; i < force.Formation.AssaultSlots - 1; i++) force.AddUnit(pw); force.AddUnit(mt); force.AddUnit(beowulf); force.AddUnit(omega); force.AddReinforcement(pw, 2); var boosts = force.GetBoostAbilities(); var poweredPW = pw.CalculateAverageDamage(force, null, boosts, true); // This is counting the vs epic & vs non-epic twice for rallys // These don't count reinforcements from Riggs var beoBonus = beowulf.CalculateBoostToForce(force, null, true); var rvBonus = rageVindi.CalculateBoostToForce(force, null, true); var omegaBonus = omega.CalculateBoostToForce(force, null, true); var riggsReinf = riggs.CalculateReinforcedDamage(force, null, boosts, true); force.ResetCombat(); var riggsTotal = riggs.CalculateTotalDamageContribution(force, null, boosts, true); var pwTotal = pw.CalculateTotalDamageContribution(force, null, boosts, true); var mtTotal = mt.CalculateTotalDamageContribution(force, null, boosts, true); var beowulfTotal = beowulf.CalculateTotalDamageContribution(force, null, boosts, true); var omegaTotal = omega.CalculateTotalDamageContribution(force, null, boosts, true); force.ResetCombat(); var enemy = new Force { Name = "Dummy", IsEpicBoss = true }; var forceDmg = force.CalculateAverageForceDamage(enemy); }