I don't particularly want to do any substantial changes to the code for this.
Though I
was thinking of rewriting the function call to get a model for random citizens to have a chance-based switch based on town wealth.
After all, there are groups of citizens that are Poor, Normal and Rich but I'm not at all sure if they're actually used like that.
As far as I could tell, the game just selects a random model out of all relevant groups based on the chances defined at the top of initModels.c .
These "groups" are used for random citizens and I think also for the smugglers in dungeons.
To simplify things, we could also just create a "Smugglers" group which we could use for the actual smugglers too.
Then we can do away with that "weird stuff" at the top of initModels.c altogether and start working with a system that is at least a bit simpler to understand.
Also, we might then be able to do away with most hard-coded use of models, including that for the smugglers and some of the soldier/sailor code.
At the moment we have at least several systems in place for both and it would be quite nice to have it ALL handled by the SAME system.
I don't like this idea for several reasons. One is that if restricted models are rare for any other reason then you'd just end up with fewer random civilians wandering around.
That wouldn't happen. The game decides
how many civilians to put in town
before searching for the models.
So you might get less
variety of models within a certain city, but not actually less citizens.
The code might check if a certain model is already used in a certain location though. In that case, you might start seeing Nathaniel Hawks walking around if there aren't enough models assigned to the group.
But I think that doesn't happen. The game only checks the player and officer models to avoid having twins of the player and his officers walking around.
Another is that you might have more distinction between towns of different nations but you'd have less variety within a town; with a more limited set of models from which to choose, each nation would be populated by numerous clones of a few types.
That is true. Not sure how bad that problem would be. Depends of course on how many models are in each nation group.
If there are enough models, there will still be variety within the town, but it'll also be clearly different from the other nations.
Besides, fashion depends less on location and more on time - what was being worn in 18th century London, for example, probably bore more resemblance to what was being worn in 18th century Paris than to what was being worn in 17th century London. To model that, or for that matter to give a decent variety to specific nations, would require someone to create a lot of civilian models, as has already been done for military models which is why soldiers have period-correct uniforms.
Fair enough. It is actually possible to set any model to appear only within certain periods.
The model.period lines applied to the soldiers should work just as well for civilians. Do you think we have any non-soldier models in the game that don't look like they belong in certain time periods?
Then, of course, there's the matter of what happens when a town changes hands - is the entire population wiped out and replaced by people of the conquering nation, or do the people just continue to wear what they already have and pay their taxes to the new governor? The current system effectively has a few patriots move out and a few new people move in, with most of the population staying where they are, which is probably more realistic than major ethnic cleansing.
The fixed town folk will of course remain themselves and the "Enc_walkers" will switch their nationality to the new "location nation".
Those characters are newly generated upon each location reload.