public void GroupCombatRound(Warrior w1, List <Warrior> group) { roundCounter += 1; int attackValueW1 = w1.CalcAttack(rnd); int defenceValueG1 = group[0].CalcDefence(rnd); if (attackValueW1 > defenceValueG1) { int currentDam = w1.CalcDamage(rnd); group[0].TakeDamage(currentDam); PrintHitAttack(w1, group[0], currentDam); } else { PrintParry(w1, group[0]); } for (int i = 0; i < group.Count; i++) { if (group[0].CalcAttack(rnd) > w1.CalcDefenceMultibleOpponents(rnd, group.Count)) { int currentDam = group[0].CalcDamage(rnd); w1.TakeDamage(currentDam); PrintHitAttack(group[i], w1, currentDam); } else { PrintParry(group[i], w1); } } print("b4 dead members are removed"); RemoveDeadMembers(group); print("dead members removed. " + group.Count + " members left"); GroupCombatOverCheck(w1, group, false); }