Walt It'd be a bit arbitrary, but missile range could potentially be limited only when auto-fired.
Yeah, maybe that's the best way to do it - it's definitely the simplest. It would be a little odd, but no more so than cannon shells vanishing.
Walt FWIW, factories have twice the priority as weapons. (Meaning, a half-powered factory has the same priority as an empty weapon.)
This doesn't seem to be working properly. On the prototype, testing a module with 1 small cannon, 1 ammo factory, 1 reactor, and 2 crew shows that the crew continues to bring ammo to the cannon even after the factory is completely out of power.
Walt And now, as of the 0.14.5 prototypes, there's a 10% priority penalty per tile of distance that the crew would have to walk to get to the new job. So if the missile launchers were far enough apart, the crew would usually only switch when they had literally nothing else to do.
This doesn't seem to work very well for missiles, which I think might be because missiles demand wildly variable number of crew as they fill up (a launcher could have 9 parts inside and only demand 3 crew). So crew often don't have jobs and start walking to a far-away launcher, except seconds after they leave a missile fires and a new job opens up.
At least I think that's what's happening, based on the test ship below. You can also see crew behaving badly when the ship starts empty.

Walt Yes for sure, that's how crew will self-balance when there are fewer crew than there are jobs. Without the scaling priorities, you could have 8 crew get assigned to one part and 0 to the other.
If one part is full (or nearly full), wouldn't it only be able to demand 1 or 2 crew at most? That would leave the other crew free to go and work on the other part - AFAIK the only way one part could get 8 crew and the other gets 0 is if they're both empty and all the crew are closest to the same part.
Scaling priorities can also cause (very minor) problems with parts that have charge-up time, like engines. If an engine module doesn't have enough power, all the engines flicker on and off instead of one engine staying on permanently (and having time to ramp up).
And another thought on crew: How do crew decide which factory/storage to go to? Currently, they often go to a farther-away factory even if the closer one is full of ammo (this is especially impactful for missiles). If it's too performance-intensive to always find the nearest non-empty factory, maybe crew could remember their last factory and prefer to go there?