Yes, you can calculate the discount based on specific price options and fields. To do this, open the pricing component of your disount. In the Calculate a discount section pick the option called Of specific items. Then you can set which price options and fields will be used in discount price calculation.
If you do not select any items in the list, the discount will be calculated from the the total amount.