Prerequisites:
1. A common quality robot that gets into a closed network designed for higher-quality robots. For example, you tear down a factory, and they try to find a new place.
2. The robot takes the task to deliver to the requester's chest.
Requester chest:
1. Ask for 16 bioflux. Logic: disable the chest if the machine has more than 16 bioflux.
This happy fellow will end up in the cycle:
1. "Something's changed, I'm going back."
2. Fly 20 meters
3. "Oh, my mission has been restored; we're going back to the bioflux delivery."
2. Fly 20 meters
4. "Something's changed; I'm going back."
It wouldn't be a problem if I could catch these little creatures, but not every robot can be caught by asking it to dock at a specific roboport. Every roboport had a catcher, and a few hours later, there were still robots that refused to calm down even for a second. I had to halt the Gleba to catch them.
I see three solutions:
1. Cancel the task for a specific robot and force a return if the Requester chest (or any request logic) is disabled mid-delivery.
2. Higher-quality robots get priority by default, "robot requests" takes it into account, and replacing the factory with higher-quality robots goes smoothly.
3. (For modded content) If you "robot requests" and there are alternative robots at this same quality to carry out the task, the requested robots will prioritize idling. Some mods add new robots, and I can see how removing vanilla robots would go. The only problem is how to design prioritization, where you request all slots, and they are idling while having work 5m away without introducing a separate feature with forced robot requests.
I wrote this as a bug (not a feature request) because the old logic was written with common quality in mind and is very limiting if you design higher-quality factories or want to migrate robots to higher quality or even a modded one.
[2.0.76] Prioritize higher-quality robots for tasks
Re: [2.0.76] Prioritize higher-quality robots for tasks
Do not make requests in Bug reports.

