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($"Best Clean streak: {cleanStreak}");
Console.WriteLine($"Worst Attrition streak: {attritionStreak}");