Follow-up Comment #25, bug #16383 (project freeciv): The application of patch #4609 encourages an entirely different approach to this issue, as reflected in the attached patch (applies over r24741). By separating the nativity check logic from everything else, it properly handles cases where nativity continuity is not provided by the same road used for movement bonus (as suggested in comment #24). I presume that all bases that provide nativity automatically interface with all possible roads for the purpose of nativity: changing this should be done in future, rather than here (as there are lots of places that need changing, and much of the underlying work exists in other open patches).
The test for transport capacity is not included in the function in large part because of bug #21871: in the event this is applied first, that should be extended to use potentiality for transport tests for this new use in pathfinding, and if that is applied first, this should use potential rather than current capacity in the pathfinding test. The test for being a city also isn't included because we do it so many other places anyway that it ends up being a duplicate call in both places. In the event that patch #3829 lands, is_native_move() should probably be updated to use the integrators cache. Similarly, if patch #3901 lands this needs to be adjusted to apply is_native_move() to the new inline test functions, rather than single_move_cost. (file #20450) _______________________________________________________ Additional Item Attachment: File name: enforce-move-nativity.patch Size:7 KB _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?16383> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freecivfirstname.lastname@example.org https://mail.gna.org/listinfo/freeciv-dev