diff options
Diffstat (limited to 'src/openvic-simulation/modifier')
-rw-r--r-- | src/openvic-simulation/modifier/ModifierEffectCache.cpp | 2 | ||||
-rw-r--r-- | src/openvic-simulation/modifier/ModifierEffectCache.hpp | 2 | ||||
-rw-r--r-- | src/openvic-simulation/modifier/ModifierManager.cpp | 16 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/openvic-simulation/modifier/ModifierEffectCache.cpp b/src/openvic-simulation/modifier/ModifierEffectCache.cpp index afb733a..a02dcb6 100644 --- a/src/openvic-simulation/modifier/ModifierEffectCache.cpp +++ b/src/openvic-simulation/modifier/ModifierEffectCache.cpp @@ -181,6 +181,7 @@ ModifierEffectCache::ModifierEffectCache() farm_rgo_throughput_global { nullptr }, farm_rgo_output_global { nullptr }, farm_rgo_output_local { nullptr }, + farm_rgo_size_fake { nullptr }, farm_rgo_size_global { nullptr }, farm_rgo_size_local { nullptr }, immigrant_attract { nullptr }, @@ -202,6 +203,7 @@ ModifierEffectCache::ModifierEffectCache() mine_rgo_throughput_global { nullptr }, mine_rgo_output_global { nullptr }, mine_rgo_output_local { nullptr }, + mine_rgo_size_fake { nullptr }, mine_rgo_size_global { nullptr }, mine_rgo_size_local { nullptr }, movement_cost_base { nullptr }, diff --git a/src/openvic-simulation/modifier/ModifierEffectCache.hpp b/src/openvic-simulation/modifier/ModifierEffectCache.hpp index 757eca0..7d08d29 100644 --- a/src/openvic-simulation/modifier/ModifierEffectCache.hpp +++ b/src/openvic-simulation/modifier/ModifierEffectCache.hpp @@ -151,6 +151,7 @@ namespace OpenVic { ModifierEffect const* PROPERTY(farm_rgo_throughput_global); ModifierEffect const* PROPERTY(farm_rgo_output_global); ModifierEffect const* PROPERTY(farm_rgo_output_local); + ModifierEffect const* PROPERTY(farm_rgo_size_fake); ModifierEffect const* PROPERTY(farm_rgo_size_global); ModifierEffect const* PROPERTY(farm_rgo_size_local); ModifierEffect const* PROPERTY(immigrant_attract); @@ -172,6 +173,7 @@ namespace OpenVic { ModifierEffect const* PROPERTY(mine_rgo_throughput_global); ModifierEffect const* PROPERTY(mine_rgo_output_global); ModifierEffect const* PROPERTY(mine_rgo_output_local); + ModifierEffect const* PROPERTY(mine_rgo_size_fake); ModifierEffect const* PROPERTY(mine_rgo_size_global); ModifierEffect const* PROPERTY(mine_rgo_size_local); ModifierEffect const* PROPERTY(movement_cost_base); diff --git a/src/openvic-simulation/modifier/ModifierManager.cpp b/src/openvic-simulation/modifier/ModifierManager.cpp index a5ef8a8..3bc0c97 100644 --- a/src/openvic-simulation/modifier/ModifierManager.cpp +++ b/src/openvic-simulation/modifier/ModifierManager.cpp @@ -428,7 +428,11 @@ bool ModifierManager::setup_modifier_effects() { ret &= register_base_province_modifier_effect( modifier_effect_cache.farm_rgo_output_local, "farm_rgo_eff", true, PROPORTION_DECIMAL, "TECH_FARM_OUTPUT" ); - ret &= register_shared_tech_country_modifier_effect( + ret &= register_base_country_modifier_effect( + modifier_effect_cache.farm_rgo_size_fake, "farm_rgo_size", true, PROPORTION_DECIMAL, + ModifierEffect::make_default_modifier_effect_localisation_key("farm_size"), has_no_effect + ); + ret &= register_technology_modifier_effect( modifier_effect_cache.farm_rgo_size_global, "farm_rgo_size", true, PROPORTION_DECIMAL, ModifierEffect::make_default_modifier_effect_localisation_key("farm_size") ); @@ -499,7 +503,11 @@ bool ModifierManager::setup_modifier_effects() { ret &= register_base_province_modifier_effect( modifier_effect_cache.mine_rgo_output_local, "mine_rgo_eff", true, PROPORTION_DECIMAL, "TECH_MINE_OUTPUT" ); - ret &= register_shared_tech_country_modifier_effect( + ret &= register_base_country_modifier_effect( + modifier_effect_cache.mine_rgo_size_fake, "mine_rgo_size", true, PROPORTION_DECIMAL, + ModifierEffect::make_default_modifier_effect_localisation_key("mine_size"), has_no_effect + ); + ret &= register_technology_modifier_effect( modifier_effect_cache.mine_rgo_size_global, "mine_rgo_size", true, PROPORTION_DECIMAL, ModifierEffect::make_default_modifier_effect_localisation_key("mine_size") ); @@ -630,9 +638,11 @@ bool ModifierManager::load_triggered_modifiers(const ast::NodeCPtr root) { const bool ret = expect_dictionary_reserve_length( triggered_modifiers, [this](const std::string_view key, const ast::NodeCPtr value) -> bool { + using enum scope_type_t; + ModifierValue modifier_value {}; IconModifier::icon_t icon = 0; - ConditionScript trigger { scope_t::COUNTRY, scope_t::COUNTRY, scope_t::NO_SCOPE }; + ConditionScript trigger { COUNTRY, COUNTRY, NO_SCOPE }; bool ret = expect_dictionary_keys_and_default( expect_base_country_modifier(modifier_value), |