src/ai/trolly/trolly.cpp
changeset 8798 eea3a465bd86
parent 8760 ce0891c412ce
child 9052 392f5995d323
equal deleted inserted replaced
8797:e5a05b5700fe 8798:eea3a465bd86
  1185 
  1185 
  1186 	// Very handy for AI, goto depot.. but yeah, it needs to be activated ;)
  1186 	// Very handy for AI, goto depot.. but yeah, it needs to be activated ;)
  1187 	if (_patches.gotodepot) {
  1187 	if (_patches.gotodepot) {
  1188 		idx = 0;
  1188 		idx = 0;
  1189 		order.type = OT_GOTO_DEPOT;
  1189 		order.type = OT_GOTO_DEPOT;
  1190 		order.flags = OF_UNLOAD;
  1190 		order.flags = OFB_UNLOAD;
  1191 		order.dest = GetDepotByTile(_players_ainew[p->index].depot_tile)->index;
  1191 		order.dest = GetDepotByTile(_players_ainew[p->index].depot_tile)->index;
  1192 		AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1192 		AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1193 	}
  1193 	}
  1194 
  1194 
  1195 	idx = 0;
  1195 	idx = 0;
  1196 	order.type = OT_GOTO_STATION;
  1196 	order.type = OT_GOTO_STATION;
  1197 	order.flags = 0;
  1197 	order.flags = 0;
  1198 	order.dest = GetStationIndex(_players_ainew[p->index].to_tile);
  1198 	order.dest = GetStationIndex(_players_ainew[p->index].to_tile);
  1199 	if (_players_ainew[p->index].tbt == AI_TRUCK && _players_ainew[p->index].to_deliver)
  1199 	if (_players_ainew[p->index].tbt == AI_TRUCK && _players_ainew[p->index].to_deliver)
  1200 		order.flags |= OF_FULL_LOAD;
  1200 		order.flags |= OFB_FULL_LOAD;
  1201 	AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1201 	AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1202 
  1202 
  1203 	idx = 0;
  1203 	idx = 0;
  1204 	order.type = OT_GOTO_STATION;
  1204 	order.type = OT_GOTO_STATION;
  1205 	order.flags = 0;
  1205 	order.flags = 0;
  1206 	order.dest = GetStationIndex(_players_ainew[p->index].from_tile);
  1206 	order.dest = GetStationIndex(_players_ainew[p->index].from_tile);
  1207 	if (_players_ainew[p->index].tbt == AI_TRUCK && _players_ainew[p->index].from_deliver)
  1207 	if (_players_ainew[p->index].tbt == AI_TRUCK && _players_ainew[p->index].from_deliver)
  1208 		order.flags |= OF_FULL_LOAD;
  1208 		order.flags |= OFB_FULL_LOAD;
  1209 	AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1209 	AI_DoCommand(0, _players_ainew[p->index].veh_id + (idx << 16), PackOrder(&order), DC_EXEC, CMD_INSERT_ORDER);
  1210 
  1210 
  1211 	// Start the engines!
  1211 	// Start the engines!
  1212 	_players_ainew[p->index].state = AI_STATE_START_VEHICLE;
  1212 	_players_ainew[p->index].state = AI_STATE_START_VEHICLE;
  1213 }
  1213 }