internal override void Evaluate() { base.Evaluate(); // Total up deaths/fighters in a war from the battle foreach (var battle in EventCol.Where(x => x is EC_Battle).Cast <EC_Battle>()) { battle.battleTotaled = false; } TotalWar(); }
public void TotalWar() { foreach (EC_Battle battle in EventCol.Where(x => Types[x.Type] == "battle")) { if (!battle.battleTotaled) { battle.TotalBattle(); } WarData.AttackingDeaths += battle.BattleData.AttackingDeaths; WarData.AttackingNumber += battle.BattleData.AttackingNumber; WarData.AttackingSquads += battle.BattleData.AttackingSquads; WarData.AttackingHFs += battle.BattleData.AttackingHFs; WarData.AttackingHFDeaths += battle.BattleData.AttackingHFDeaths; WarData.DefendingDeaths += battle.BattleData.DefendingDeaths; WarData.DefendingNumber += battle.BattleData.DefendingNumber; WarData.DefendingSquads += battle.BattleData.DefendingSquads; WarData.DefendingHFs += battle.BattleData.DefendingHFs; WarData.DefendingHFDeaths += battle.BattleData.DefendingHFDeaths; WarData.NonCombatHFs += battle.BattleData.NonCombatHFs; if (battle.Outcome == "attacker won") { WarData.AttackingWins++; } else if (battle.Outcome == "defender won") { WarData.DefendingWins++; } else { break; } } }