Page 1 of 1

Space platform hub: Add "Request item" waiting condition

Posted: Tue Nov 19, 2024 5:05 pm
by mrvn
TL;DR
Add a waiting condition to the space platform hubs schedule to request an item.
What?
The wait condition would have the form of "Request <N> amount of item <X> with minimum <M>". This is not to be confused with "Request satisfied".

When arriving on the planet this then dynamically adds a request to the space platform hubs request list to import item <X> from the planet with the minimum to send a rocket set to M'. Where M' is computed as follows:

NEEDED = N - current cargo count
PREFERRED = min(rocket stack size, max(M, available on planet))
M' = max(M, min(NEEDED, PREFERRED))

The reason for M' is so that the rocket does not launch half full when enough items are available on planet. This remains important when loading a rocket via inserters even when the bug that the silo launches rockets too early is fixed.

Note: Calling it a wait condition is a bit misleading as this should NOT wait for the request to be satisfied. The "Request satisfied" wait condition or item count can be used on top of this to actually make the space platform wait for the request, not just make the request.
Why?
Currently one can only set requests manually and then wait for requests to be fulfilled in the schedule. This does not allow any way to prioritize one item over the other and more often then not the game decides to send a rocket for unimportant things.

But some items are more important than others, like sending Bioflux from Gleba to Nauvis. So it should be possible to set an interrupt in the space platform hub to trigger when Bioflux runs low to fly to Gleba, load Bioflux and return to Nauvis without having the spaceship get stuck because it first loads 20 rockets filled with other stuff. This is only possible if requests can be made dynamically. Interrupts allow the schedule to be dynamic and the schedule should allow the requests to be dynamic.

Note: it would also be possible to use a fixed schedule and alternate trips for Bioflux and science packs. Or set a schedule that goes to Gleba for Bioflux, then go to Gleba again for science packs and again go to Gleba a third time to pick up other stuff. This then loads as much as rockets and items are available in the order specified by the 3 stops.