1) What a booster pack pulls from
Each pack has a card set setting: either one specific set, or "All sets". You can create as many packs as you like, so your example works as is:
- four packs, one per set, each pulling only from its own 25 cards;
- plus a "surprise me" pack set to All sets, pulling from the whole pool of 100.
The one thing a pack cannot do today is pull from a custom mix of sets (two out of four, say). It is one set or all of them.
Two related details: a card flagged as Special never drops from packs (it is unlocked by a criterion or granted by an admin), and a card can have a print-run limit, after which it leaves every pack for good.
2) Pack contents
Yes, all of this is set per pack:
- Number of cards: any value from 1 to 50.
- Drop rates: each pack has its own weight per rarity, decimals allowed, and the shop shows members the resulting odds. A rarity set to 0 never drops from that pack.
- Guaranteed rarity: a pack can guarantee at least one card of a given rarity or better.
Rarities themselves are configurable. The defaults are Common, Rare, Epic and Legendary, and you can add your own, an Uncommon for instance. So "5 cards, all Uncommon or lower" is simply a pack where everything above Uncommon is set to 0.
What is not possible today is fixed slots, such as "3 cards, exactly one of each rarity". Every card is an independent roll against the pack's rates, with that single guarantee on top.
Each pack also has its own price, and can be a limited edition with an end date, a limited stock, or both.