diff -r 8e2f6a5df288 -r 63281a3e8548 ai/default/default.c --- a/ai/default/default.c Fri Nov 03 01:18:40 2006 +0000 +++ b/ai/default/default.c Fri Nov 03 23:06:54 2006 +0000 @@ -163,8 +163,8 @@ { EngineID best_veh_index = INVALID_ENGINE; int32 best_veh_cost = 0; - EngineID i = _cargoc.ai_roadveh_start[cargo]; - EngineID end = i + _cargoc.ai_roadveh_count[cargo]; + EngineID i = ROAD_ENGINES_INDEX; + EngineID end = i + NUM_ROAD_ENGINES; for (; i != end; i++) { const Engine* e = GetEngine(i); @@ -174,6 +174,9 @@ continue; } + /* Skip vehicles which can't take our cargo type */ + if (RoadVehInfo(i)->cargo_type != cargo) continue; + ret = DoCommand(tile, i, 0, 0, CMD_BUILD_ROAD_VEH); if (!CmdFailed(ret) && ret <= money && ret >= best_veh_cost) { best_veh_cost = ret;