--- 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;