First of all, thanks :)
You are right, the spy's conditions are generated randomly. I couldn't find a swift way to make them more omogeneous