Shirts and Shorts
Lara started off with just one outfit, similar to the "industry standard" version from her Tomb Raider look-alike. But no woman is ever content with that, so when she learned to swim, she wanted a bikini. Again, the top would be modelled, and the bottom just painted on, but it needed some additions to the skrit, and the templates.
For the single-outfit version, there were four parameters, all of them the names of texture maps. They were for the four combinations of shirt on/off and shorts on/off, and that let me use different UV maps for the two models involved (which only actually modelled the shirt).
If I allowed any combination of top and bottom halves of the outfits, this would have grown out of control, so I made the decision to match the two halves, and then I would only need two more parameters, the template names of the two pieces of the outfit.
The basic logic is now: when a top or bottom half is equipped, a check is made to see if it matches the other half. If there is none, that's OK too. But if there is one, and it doesn't match, the item is dropped with a "That doesn't match" message. If the item is successfully (un)equipped, the code determines if she is now wearing a top, bottom, both or neither, and selects the texture to suit from the list in the item template whose skrit we are running.
When you attempt to swap one item for another, both copies of the skrit get run, as she unequips one item and (tries to) equip the other. The removal should succeed and update her texture, but the unmatched new item will fail and drop.