From ba4fe5d9a8596e1b73a3aa0735d471e25493d54b Mon Sep 17 00:00:00 2001 From: hop311 Date: Mon, 30 Sep 2024 23:23:35 +0100 Subject: Cache modifier effects in dedicated variables --- src/openvic-simulation/research/Technology.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/openvic-simulation/research/Technology.cpp') diff --git a/src/openvic-simulation/research/Technology.cpp b/src/openvic-simulation/research/Technology.cpp index 3284193..27bb4ca 100644 --- a/src/openvic-simulation/research/Technology.cpp +++ b/src/openvic-simulation/research/Technology.cpp @@ -199,13 +199,18 @@ bool TechnologyManager::generate_modifiers(ModifierManager& modifier_manager) co using enum ModifierEffect::format_t; using enum ModifierEffect::target_t; + IndexedMap& research_bonus_effects = + modifier_manager.modifier_effect_cache.research_bonus_effects; + + research_bonus_effects.set_keys(&get_technology_folders()); + bool ret = true; for (TechnologyFolder const& folder : get_technology_folders()) { const std::string modifier_identifier = StringUtils::append_string_views(folder.get_identifier(), "_research_bonus"); ret &= modifier_manager.add_modifier_effect( - modifier_identifier, true, PROPORTION_DECIMAL, COUNTRY, modifier_identifier + research_bonus_effects[folder], modifier_identifier, true, PROPORTION_DECIMAL, COUNTRY, modifier_identifier ); } -- cgit v1.2.3-56-ga3b1