public static void Main()
var attritionChance = 20;
for (var i = 0; i < battles; i++)
if (rand.Next(0,99) < attritionChance)
attritionStreak = Math.Max(streak, attritionStreak);
cleanStreak = Math.Max(streak, cleanStreak);
Console.WriteLine($"Simulated {battles} battles.");
var expectedAttrition = Math.Round((decimal) battles * attritionChance / 100);
Console.WriteLine($"Expected Attrition: {expectedAttrition}");
Console.WriteLine($"Actual Attrition: {attrition}");
var variance = attrition - expectedAttrition;
var variancePct = Math.Round((decimal) attrition * 100 / expectedAttrition);
Console.WriteLine($"Variance: {variance} ({variancePct}%)");
Console.WriteLine($"Clean streak: {cleanStreak}");
Console.WriteLine($"Attrition streak: {attritionStreak}");