By leveraging custom fields to create whatever checkbox opt-in fields you like, you can now also create a discount that uses them as criteria.
For example you can create a custom checkbox field called "First time curler?". Then you can create a discount called "First time curler" and select that custom field from the criteria dropdown.
As long as both the custom field and the discount are associated to one or more leagues, than any member who checks the box will receive the discount.
* Keep in mind we can't police this for you (it's not technically possible to automate). It's possible that members may abuse *opt-in* discounts by opting in when they shouldn't, so if you are going to use them, it's your responsibility to ensure than they aren't being abused.