Currently the code only checks base storage limits at the one-hour mark (as part of production updates). Not sure if moving such a check to every 5s-mark is something that is wanted (performance wise).
I mean transfer time, if zero created some problems.
The check should be forced when space reservation for the transfer is done, either way.
While I'm looking at it though, is there any special reason why soldiers, scientists, and engineers are all given a 24 hour arrival time from events (whereas everything else was 1 hour)? I don't really care much about the 24 hour arrival time for people. It's not relevant to the thing I'm trying to fix; but it just seems a bit odd to me, so I wondered if there was a reason for it.
IMO a single mechanism is always preferable, to minimize spaghetti code and chance of hard-to-catch intermittent bugs.
It looks like the most universal and least-contorted way to do this would be to treat
all transactions where anything or anyone moves to the base as Transfers from a temporary “storage place”. Also applicable to vanilla style purchases/hires/etc — so the items or personnel could move from the current mission site, nearest large city, randomly generated site within given range of an existing site, whatever.
So if the people you hire are supposed to come from the present (i.e. large) city nearest to the base hiring them, transfer time would be not arbitrary and constant, but derived from range and “transfer speed”. Speed is set for each terrain; perhaps somewhat randomized around the average value, so mean speed and maximal deviation.
…I’m starting to see why
Apocalypse developers chose to do things the way they did.
They also had dynamic background, however, so just pass the route to transport activity tracker and boom, it’s a fully modeled process.