I’ve been very interested in commoners lately. Is there any way I can cycle them out to test out what can be done with different races, variables, etc., but I’m having trouble getting them to cycle out. Is there any way I can do this?
The engine calls system/world_next_hour.tpl hourly to update the status of hooked schedules - by default, it only calls in the kau village scheduler at schedulers/kau_village.tpl. This is a pretty good primer for understanding how the commoner system is implemented.
Basically, if the desired list of commoners doesn’t exist, or is underfilled, the system creates new commoners to fill it. If a commoner hasn’t been interacted with for a long enough period (by default, more than 3600 hours, or 150 days), the system removes them, and a new one will be generated after the next update.
If all you want to do is update how frequently they’re removed and replaced, just change that 3600-hour maximum to a lower value. The stat in question is generic.last_meet; you can see it towards the bottom of the kau village scheduler.