If you expect them to go, you need to pick up the costs of the "requireds" like tickets and food. You can say you won't pay for sweatshirts, snacks, etc. After all, if your teenager refuses to pay, do you really want to leave them behind?
And, if I were buying things for younger kids, I think I'd have to be fair and buy something for the older ones....."I'll buy everyone ONE shirt, and the little kids ONE toy, if you want more stuff (toys, snacks etc), you'll need to bring spending money. Make sure all kids have ability to earn spending money. A teen who babysits or mows lawns could easily bring several hundred dollars, while their five year old sister may need to get paid for taking out the trash and may need a supplement.