From 076ddb74f2ac8ccfb1e7812534bdf90754001bad Mon Sep 17 00:00:00 2001 From: ineveraskedforthis Date: Sat, 3 Oct 2026 14:08:44 +0300 Subject: [PATCH] remove trade adjacency over big lake provinces --- src/nations/nations.cpp | 6 ++++++ src/provinces/province.cpp | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/nations/nations.cpp b/src/nations/nations.cpp index 5e351b643..8d5b17202 100644 --- a/src/nations/nations.cpp +++ b/src/nations/nations.cpp @@ -658,6 +658,12 @@ void generate_initial_trade_routes(sys::state& state) { ? adj.get_connected_provinces(0) : adj.get_connected_provinces(1); + auto area = state.map_state.map_data.province_area_km2[province::to_map_id(through)]; + // larger than the caspian sea + if(area > 500'000.f) { + continue; + } + for(auto adj2 : state.world.province_get_province_adjacency(through)) { auto bits2 = adj2.get_type(); if((bits2 & province::border::impassible_bit) == 0) { diff --git a/src/provinces/province.cpp b/src/provinces/province.cpp index 1cd30e087..429fbf0c0 100644 --- a/src/provinces/province.cpp +++ b/src/provinces/province.cpp @@ -1131,6 +1131,12 @@ void change_province_owner(sys::state& state, dcon::province_id id, dcon::nation ? adj.get_connected_provinces(0) : adj.get_connected_provinces(1); + auto area = state.map_state.map_data.province_area_km2[province::to_map_id(through)]; + // larger than the caspian sea + if(area > 500'000.f) { + continue; + } + for(auto adj2 : state.world.province_get_province_adjacency(through)) { auto bits2 = adj2.get_type(); if((bits2 & province::border::impassible_bit) == 0) { @@ -1245,6 +1251,12 @@ void change_province_owner(sys::state& state, dcon::province_id id, dcon::nation ? adj.get_connected_provinces(0) : adj.get_connected_provinces(1); + auto area = state.map_state.map_data.province_area_km2[province::to_map_id(through)]; + // larger than the caspian sea + if(area > 500'000.f) { + continue; + } + for(auto adj2 : state.world.province_get_province_adjacency(through)) { auto bits2 = adj2.get_type(); if((bits2 & province::border::impassible_bit) == 0) {