Give Multiples Of Coupon - Possible?

Using the demo data as an example:

We have a white t-shirt and we have setup a 2 part promotion on it. When purchased the a automatic coupon code is generated, this coupon code then gives the customer a full discount on a blue t-shirt at their next shop visit.

All fine to this point.

However, what we were wondering was if it was possible to have the coupon system generate multiple coupon codes? For instance if the customer purchases 2 white t-shirts it generates two coupon codes for free blue t-shirts, if they purchase 3 it generates 3 coupon codes and so on.

We can achieve this behaviour if one white t-shirt is purchased per transaction, but not if the quantity is increased on a single transaction.

I am afraid, code modifications are required to do it.