Bug #2455
openai: civ2civ3 never considers international trade routes
0%
Description
dai_choose_trade_route() finds a destination in two passes: own cities first, then allied cities. But the allied pass only runs when the AI "prefers a different continent", and it decides that by comparing the two NATIONAL route percentages. In civ2civ3 both are 0, so the national pass is skipped, the preference comes out false, the allied pass never runs, and the function returns with no caravan want. International routes there pay 100 to 200 percent and are the only routes that pay at all.
Patch also runs the allied pass when no national destination was found and international routes pay something.
Files
Updated by Marko Lindqvist 1 day ago
Previously prefer_different_cont was ever only set if (can_move_ic || has_boats). After your change that affected block can be entered without prefer_different_cont being set (so (can_move_ic || has_boats) is no longer guaranteed), and within that block prefer_different_cont may get set regardless of (can_move_ic || has_boats).