@@ -1782,7 +1782,7 @@ static constexpr Modifier const& get_country_status_static_effect(
17821782 }
17831783}
17841784
1785- void CountryInstance::update_modifier_sum (Date today, StaticModifierCache const & static_modifier_cache) {
1785+ void CountryInstance::update_modifier_sum_before_map (Date today, StaticModifierCache const & static_modifier_cache) {
17861786 // Update sum of national modifiers
17871787 modifier_sum.clear ();
17881788
@@ -1856,19 +1856,23 @@ void CountryInstance::update_modifier_sum(Date today, StaticModifierCache const&
18561856 // TODO - calculate stats for each unit type (locked and unlocked)
18571857}
18581858
1859- void CountryInstance::make_room_for_province_modifier_sum (ModifierSum const & province_modifier_sum) {
1860- modifier_sum.make_room_for (province_modifier_sum);
1859+ void CountryInstance::update_modifier_sum_after_map (Date today) {
1860+ for (ProvinceInstance const * const province_ptr : controlled_provinces) {
1861+ if (OV_likely (province_ptr != nullptr )) {
1862+ modifier_sum.add_modifier_sum (province_ptr->get_modifier_sum ());
1863+ }
1864+ }
18611865}
18621866
1863- void CountryInstance::contribute_province_modifier_sum (ModifierSum const & province_modifier_sum) {
1864- modifier_sum.add_modifier_sum (province_modifier_sum);
1867+ void CountryInstance::make_room_for_province_modifier_sum (ModifierSum const & province_modifier_sum) {
1868+ modifier_sum.make_room_for (province_modifier_sum);
18651869}
18661870
18671871fixed_point_t CountryInstance::get_modifier_effect_value (ModifierEffect const & effect) const {
18681872 return modifier_sum.get_modifier_effect_value (effect);
18691873}
18701874
1871- void CountryInstance::update_gamestate (const Date today, MapInstance& map_instance ) {
1875+ void CountryInstance::update_gamestate_after_map (const Date today) {
18721876 if (is_civilised ()) {
18731877 civilisation_progress = 0 ;
18741878 } else {
@@ -1932,14 +1936,14 @@ void CountryInstance::update_gamestate(const Date today, MapInstance& map_instan
19321936 province->set_connected_to_capital (false );
19331937 province->set_is_overseas (province_definition.get_continent () != capital_continent);
19341938
1935- for (ProvinceDefinition::adjacency_t const & adjacency : province_definition.get_adjacencies ()) {
1936- // TODO - should we limit based on adjacency type? Straits and impassable still work in game,
1937- // and water provinces don't have an owner so they'll get caught by the later checks anyway.
1938- CountryInstance* neighbour = map_instance.get_province_instance_by_definition (adjacency.get_to ()).get_owner ();
1939- if (neighbour != nullptr && neighbour != this ) {
1940- neighbouring_countries.insert (neighbour);
1941- }
1942- }
1939+ // for (ProvinceDefinition::adjacency_t const& adjacency : province_definition.get_adjacencies()) {
1940+ // // TODO - should we limit based on adjacency type? Straits and impassable still work in game,
1941+ // // and water provinces don't have an owner so they'll get caught by the later checks anyway.
1942+ // CountryInstance* neighbour = map_instance.get_province_instance_by_definition(adjacency.get_to()).get_owner();
1943+ // if (neighbour != nullptr && neighbour != this) {
1944+ // neighbouring_countries.insert(neighbour);
1945+ // }
1946+ // }
19431947 }
19441948
19451949 if (occupied_provinces_proportion != 0 ) {
@@ -1949,21 +1953,21 @@ void CountryInstance::update_gamestate(const Date today, MapInstance& map_instan
19491953
19501954 if (capital != nullptr ) {
19511955 capital->set_connected_to_capital (true );
1952- memory::vector<std::reference_wrapper<const ProvinceInstance>> province_checklist { *capital };
1956+ // memory::vector<std::reference_wrapper<const ProvinceInstance>> province_checklist { *capital };
19531957
1954- for (size_t index = 0 ; index < province_checklist.size (); ++index) {
1955- ProvinceInstance const & province = province_checklist[index];
1958+ // for (size_t index = 0; index < province_checklist.size(); ++index) {
1959+ // ProvinceInstance const& province = province_checklist[index];
19561960
1957- for (ProvinceDefinition::adjacency_t const & adjacency : province.province_definition .get_adjacencies ()) {
1958- ProvinceInstance& adjacent_province = map_instance.get_province_instance_by_definition (adjacency.get_to ());
1961+ // for (ProvinceDefinition::adjacency_t const& adjacency : province.province_definition.get_adjacencies()) {
1962+ // ProvinceInstance& adjacent_province = map_instance.get_province_instance_by_definition(adjacency.get_to());
19591963
1960- if (adjacent_province.get_owner () == this && !adjacent_province.get_connected_to_capital ()) {
1961- adjacent_province.set_connected_to_capital (true );
1962- adjacent_province.set_is_overseas (false );
1963- province_checklist.emplace_back (adjacent_province);
1964- }
1965- }
1966- }
1964+ // if (adjacent_province.get_owner() == this && !adjacent_province.get_connected_to_capital()) {
1965+ // adjacent_province.set_connected_to_capital(true);
1966+ // adjacent_province.set_is_overseas(false);
1967+ // province_checklist.emplace_back(adjacent_province);
1968+ // }
1969+ // }
1970+ // }
19671971 }
19681972
19691973 // Order of updates might need to be changed/functions split up to account for dependencies
0 commit comments