Depends how it's parsed. If it's simple left-to-right parsing, what you'd want is "requires buildingalpha or buildingbeta and factions { x, y, }", because it would get parsed "requires ((buildingalpha or buildingbeta) and factions { x, y, })". It could also be right-to-left, in which case you'd want "requires factions { x, y, } and buildingalpha or buildingbeta" = "requires (factions { x, y, } and (buildingalpha or buildingbeta))". If it's using some other kind of parsing, God only knows.
You'll have to try it out for yourself, really. And post the results here.
Bookmarks