Hello.
Thank you for your feedback. I didn't realise the construction reader would easily put players in such situation.
Ipl doesn't track the pods in flight, this is too performance heavy. It was like this before, and was changed for a more performant system that achieves the same result. But the actual pod entity isn't tracked.
About hatches : You are assuming wrong.
A hatch doesn't become busy, nor reserved, right when a pod targetting the platform is sent.
So checking if the hatches are busy would not prevent queuing pods, it would just prevent sending more pods in an already existing queue.
That would also deteriorate performance significantly (how significantly remains to be tested), as it would mean checking the state of the receiving hatches, with a time complexity of O(N), that would potentially run very often while the hatch keep being busy.
However that wouldn't prevent sending several volley of pods that could end up being queued.
What you want is a cooldown, that would be tied to the receiving platform. It would be clunky. There is no way to know for sure how much time a pod will take to arrive, because the pods might be queues by other platforms sending pods, or even planets. Using a fixed cooldown is not an option either. The goal of IPL is to offer a very flexible solution to players, where you can leverage your circuit skills to get the maximum throughput. I will not implement something that limits the players who are achieving high throughput by using circuits and thresholds properly.
You can build your own clock with circuits, or other circuit latches that will prevent being spammed by the fact the construction reader updates often.
I consider it is the player's responsability to avoid being stuck in this situation.
Every solution I can think of would only be a bandaid and would have side effects.
I could maybe consider try to implement a cooldown in a fair and parametrable way, but for now that's about it.