Well, if we're allowed unlimited unit recruitment lines, in principle we could just give each province an arbitrary eight-bit code and specify each unit-province requirement on its own line with eight hidden resource references. So if a province's code was 00011011 (or 027 in decimal), the line would just be
recruit "unit" 0 requires factions { bartix, } and not hidden_resource A and not hidden_resource B and not hidden_resource C and hidden_resource D and hidden_resource E and not hidden_resource F and hidden_resource H and hidden_resource I ;recruitable in cityx
The only thing is, if there's any limitation on recruitment lines, this will probably hit it—depending on how many units [you']ll generally have per building, and how many provinces an average unit will be trainable in, you could be talking thousands of lines for a single building easily. I know RTR 6.0 manages fine with 400, however, which makes me suspect there might not be a limit.
And if there isn't a limit, frankly, it would be easiest to just get [anyone who knows basic programming] to spend an hour making a simple program to do the lines automatically. In the simplest form, that would need to reference no external data, you would assign each province an arbitrary number and give it the appropriate resources by hand, then just feed the program a line with a list of unit names and faction requirements, each followed by a list of province numbers. So for instance, you'd stick in:
recruit "unit1" 0 requires factions { thrace, greek_cities } and not hidden_resource A and not hidden_resource B and not hidden_resource C and hidden_resource D and hidden_resource E and not hidden_resource F and hidden_resource H and hidden_resource I ;recruitable in city 27
recruit "unit1" 0 requires factions { thrace, greek_cities } and not hidden_resource A and not hidden_resource B and not hidden_resource C and hidden_resource D and hidden_resource E and hidden_resource F and not hidden_resource H and not hidden_resource I ;recruitable in city 28
recruit "unit1" 0 requires factions { thrace, greek_cities } and not hidden_resource A and not hidden_resource B and not hidden_resource C and hidden_resource D and hidden_resource E and hidden_resource F and not hidden_resource H and hidden_resource I ;recruitable in city 29
and so on for all sixteen lines. This could be made easier to read if the program were also given a list of city-number correspondences, so that you could input the names instead of the numbers and the output comments would be understandable without having to reference a chart. But basically, if you have the program it could be easily edited by the non-technical.
Bookmarks