Hmm... The main problem I have seen with "spacing" or waiting periods, is with ships.
I have two "continents" each with a main port, and a single passenger ship line between these two points ("A" and "B").
If I build ten ships and set the Waiting time to, let's say 1/2 month, and start all those ships at "A", then all the ships will wait the "same" 1/2 month, and sail in one massive fleet to "B"; meanwhile "A" stacks up unhappy passengers. No amount of fiddling with waiting times will prevent this situation from starting, nor is there a way to break it up once started.
Inkelyad, I looked at the code; is your patch designed to resolve that situation?
It seems, instead, what I want is neither the current, standard, "Each vehicle [convoi?] wait until load-factor, or until fraction of month after arriving, whichever comes first, regardless of other vehicles" nor exactly what this patch does, but rather that a vehicle should:
- When arriving at a station, its departure timeout should be zeroed, and starts to count up.
- Always depart when load-factor, if given, is filled.
- Always depart when its timeout value increases to the set value.
- When departing the station, zero the timeout of all other vehicles in the same Line, waiting at the same station.
Indeed, for bus stations with a single halt square, and for train stations where trains in a line do not use a choose signal, i.e., where vehicles "queue," the behavior of such a patch would be identical to the current codebase. For ships, and where choose signals are used, such a patch would result in a far more intuitive behavior.
Thus, such a patch would not require any additional interface items, just a change of algorithm.