rework choosing first available robot into it's own function
rework of type, rework of getting available robots, etc
* cleanup to use type properly
merge shawn's mods