Drupal commerce custom discount
If you're willing to make "products of type X" "products with taxonomy term X" instead, you could probably get away with using Commerce Taxonomy Conditions. With it, you can create a product discount that applies 1) if an order has a certain quantity of a taxonomy and 2) if the current product has a certain taxonomy term.

If that didn't suite you, you could model the correct discount/inline conditions from that code... ripping out the taxonomy bits and replacing them with Drupal Commerce product types.