In pathfind added structure (shortest_path_calculator_obey_avoid) which is inherited from cost_calculator structure. Shortest_path_calculator_obey_avoid is similar to shortest_path_calculator. But new structure has member of terrain_filter type. And cost_function of shortest_path_calculator_obey_avoid return NoGetPathValue() if necessary location match to the member of terrain_filter.
For ai-context Lua API (src/ai/lua) added find_path_obey_avoid (cfun_find_path_obey_avoid) function which returns cost of the path and shortest path from one location to another. This path represented as lua-table. find_path_obey_avoid take in account avoidable locations from [ai][avoid] tag. This locations represented as varibale of terrain_filter type and this variable transmits to cast_calculator (shortest_path_calculator_obey_avoid) which finds shortest_path(or not) without locations which match to our variable
Added new cost_calculator and find_path function for Lua API
New changes in AI and Pathfind