since all of the discountable shirts will cost the same, this is fairly easy.
add a new column to the cart called canDiscount.
for items that the discount can apply to, set the value of this column to 1 and items that the discount foes not apply to, set the value to 0.
set the discount in the caart as:
"Number of Items With a specific column value"
if the number of items where "canDiscount" is ">" a value of "0"
for the flat rate enter the following code:
floor($this->ConditionalTotal("Quantity", "canDiscount", "1") / 2) * 45