I sell a collection of treats and want Buy 2 or more and save 10%. I have created the discount, and tested in my store.
Nick here from Shopify.
Shopify does have a 'buy X get Y discount' feature but it doesn't seem like it has all of the different features you are looking for from what you described in your post. You can see the help guide Shopify has for this here.
Due to Shopify's native 'buy X get Y discount' not being too extensive, it might be worth looking into some of the discount apps on the Shopify app store. I took a quick look and found some of the more popular ones which you can see below:
Hopefully one of these apps can do what you need. Are there any other features you had in mind or are looking into also?
All the best, Nick