Check gold in evaluate()
Use unit_map::iterator instead of unit