In that case, you would add a column to your cart called: BreakQty
and add another column called: BreakAmt
Then for each item you will be able to specify the amount you need to buy to trigger the discount and the amount of the discount.
Then your calculation becomes:
TotalPrice = ([Price] * [Quantity]) - (([BreakQty] != "0")?floor([Quantity]/[BreakQty])*[BreakAmt]:0)
And your DiscountAmount = (([BreakQty] != "0")?floor([Quantity]/[BreakQty])*[BreakAmt]:0)
Then you will have complete flexability over each items discount threshold and discount amount on an item by item basis.
Floor is a mathematical term to round down to the nearest whole number. So floor(1.99) is 1. This is what handles not giving partial discounts for each item and only giving the discount for every third or sixth... since floor(7/6) is still 1 and the floor of (13/6) is still 2, this gives you the number of times the discount should be applied according to your description.