@keldor-sarn, on May 1 2008, 03:05 AM, said in More outfit availability troubles:
I'll go with it really doesn't matter.
Ok, granted, you're probably not going to notice much of a difference. But considering how many things Nova generally has to do, don't you think it'd be a good thing to reduce that load as much as you can? The expression !(A|B|C) requires almost half as many operations to be performed as does (!A&!B&!C), and if your expressions are going to be getting large, you'd want to try keeping it as simple as possible. You can tell how much more computational power it takes just by reading it out loud - the second statement reads "not A and not B and not C", while the first reads "not A or B or C", which is much nicer to say.
And to add more outfits to the mix just keep on adding another set of parenthesis around the previous statement and add the & !Oxxx on to the end.
((!O200 & !O201) & !O202) & !O203
On a similar vein, it'd probably be a good idea, if only for readbility concerns, to continue grouping your terms in pairs rather than endlessly nesting the first pair in more and more brackets. Namely (if you're going to stick with the and-not structure rather than the not-or structure)
(!O200 & !O201) & (!O202 & !O203)
It may seem here that I'm quibbling over nothing with both my points, but when your expressions start getting big and clunky, then you really want to have things as simple as possible. When things start getting big, that's when typing errors start to creep in. I'm sure the game can handle a whole lot more than eight operations per frame, but why make it handle more than it has to when you can easily perform the same expression with only five?