If I remember correctly speed and range is in pixels so while
20 pixels may not seem like a lot it could make a big difference
on how quickly a unit gets into a fight with its target.
Ehhh....
*Sets the location to a fixed spot*
That did it, amazingly enough. Huh.
BTW, target-seek range is 200 pixels, fixed.* Its not based on range, as I was having units with excessively low ranges (say, 40 pixels) sitting in the middle of the stage while 100 range units killed them all one by one. Tweaked targetting logic a little to try and order them a little better (in range and not already targetted, then within range, then within 200, each chunk only happening if the previous chunk had no targets) and then picking one of those targets at random.
So if there are 4 targets in range and three of them are being fired on already, it picks the fourth all the time. If all of them are being fired on, then it picks one of them. If there are no units in range, it checks out to 200 pixels for any target.
This should cause them to spread their fire which is
less efficient than focus-fire, but should help avoid the issue of all the units ganging up on one (which can lead to one unit beating another even though the other is stronger).
*I should note that it would push units that were in range before units not in range, but within 200 pixels first, so a "pick first target" seek would pick the first target
inside range, as opposed to the target with the lowest index in the array within 200.
Edit:
This might not be a good solution, just trying it out.