ai.c
changeset 1926 68d60188a22f
parent 1901 fb05044cf5c3
child 1927 4126e0e3e884
equal deleted inserted replaced
1925:e4bbd7fc2353 1926:68d60188a22f
   102 				return;
   102 				return;
   103 			}
   103 			}
   104 
   104 
   105 			/* not reliable? */
   105 			/* not reliable? */
   106 			if ((v->age != 0 &&
   106 			if ((v->age != 0 &&
   107 					_engines[v->engine_type].reliability < 35389) ||
   107 					GetEngine(v->engine_type)->reliability < 35389) ||
   108 					v->age >= v->max_age) {
   108 					v->age >= v->max_age) {
   109 				p->ai.state = AIS_VEH_CHECK_REPLACE_VEHICLE;
   109 				p->ai.state = AIS_VEH_CHECK_REPLACE_VEHICLE;
   110 				p->ai.cur_veh = v;
   110 				p->ai.cur_veh = v;
   111 				return;
   111 				return;
   112 			}
   112 			}
   124 	int32 ret;
   124 	int32 ret;
   125 	int i;
   125 	int i;
   126 
   126 
   127 	for (i = 0; i < NUM_TRAIN_ENGINES; i++) {
   127 	for (i = 0; i < NUM_TRAIN_ENGINES; i++) {
   128 		const RailVehicleInfo *rvi = RailVehInfo(i);
   128 		const RailVehicleInfo *rvi = RailVehInfo(i);
   129 		Engine *e = DEREF_ENGINE(i);
   129 		const Engine* e = GetEngine(i);
   130 
   130 
   131 		if (e->railtype != railtype || rvi->flags & RVI_WAGON
   131 		if (e->railtype != railtype || rvi->flags & RVI_WAGON
   132 		    || !HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   132 		    || !HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   133 			continue;
   133 			continue;
   134 
   134 
   149 	int32 best_veh_cost = 0;
   149 	int32 best_veh_cost = 0;
   150 	int32 ret;
   150 	int32 ret;
   151 
   151 
   152 	int i = _cargoc.ai_roadveh_start[cargo];
   152 	int i = _cargoc.ai_roadveh_start[cargo];
   153 	int end = i + _cargoc.ai_roadveh_count[cargo];
   153 	int end = i + _cargoc.ai_roadveh_count[cargo];
   154 	Engine *e = &_engines[i];
   154 	const Engine* e = GetEngine(i);
       
   155 
   155 	do {
   156 	do {
   156 		if (!HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   157 		if (!HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   157 			continue;
   158 			continue;
   158 
   159 
   159 		ret = DoCommandByTile(tile, i, 0, 0, CMD_BUILD_ROAD_VEH);
   160 		ret = DoCommandByTile(tile, i, 0, 0, CMD_BUILD_ROAD_VEH);
   172 	int32 best_veh_cost = 0;
   173 	int32 best_veh_cost = 0;
   173 	int32 ret;
   174 	int32 ret;
   174 
   175 
   175 	int i = AIRCRAFT_ENGINES_INDEX;
   176 	int i = AIRCRAFT_ENGINES_INDEX;
   176 	int end = i + NUM_AIRCRAFT_ENGINES;
   177 	int end = i + NUM_AIRCRAFT_ENGINES;
   177 	Engine *e = &_engines[i];
   178 	const Engine* e = GetEngine(i);
       
   179 
   178 	do {
   180 	do {
   179 		if (!HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   181 		if (!HASBIT(e->player_avail, _current_player) || e->reliability < 0x8A3D)
   180 			continue;
   182 			continue;
   181 
   183 
   182 		if (flag&1) {
   184 		if (flag&1) {