Open GoogleFrog opened 3 years ago
Maybe there could be a modifier (a new one, given that all the conventional ones are already taken ― something like the Q for starting nanoframes, maybe even actually the Q if that is to be a modifier for weird things) that places a series of concrete single-target commands in place of an area command. For mexes this would allow your style of Solar addition. For repair it would allow saying "repair these units, but don't bother with anybody else who comes around afterwards". It sounds fairly cumbersome though.
Each constructor could calculate their own route for area mex. The solution may as well still be greedy. The route should start from the end of their current queue (only if shift is held, of course) to allow for a line-move and an area mex to queue parallel mex production, in the same way that line move and area reclaim spreads reclaiming constructors.
A more involved solution could be to rewrite area mex, bringing it to LuaRules. Area mex would then be a persistent circle that tells constructors to make the closest missing mex (missing Solar) until there are no targets left. I am against this though as my workflow is to area mex and area then shift+space a bunch of Solars and LLT before or after the mexes depending on what I feel is good at the time. This method of using area mex requires the construction queues to exist more concretely than a repair/reclaim-like area command.