diff options
author | zaaarf <me@zaaarf.foo> | 2023-12-05 10:16:27 +0100 |
---|---|---|
committer | zaaarf <me@zaaarf.foo> | 2023-12-05 10:16:27 +0100 |
commit | fa2ca50905f327713207069cf9a2e66cf6c00076 (patch) | |
tree | a6c82c543d5fc52183ca1363e171dbd4cc161943 /src/openvic-simulation/politics | |
parent | 444a27726695478e44e0166e75df1f354b6432d5 (diff) |
feat: implemented invention dataloading
Diffstat (limited to 'src/openvic-simulation/politics')
-rw-r--r-- | src/openvic-simulation/politics/Rebel.cpp | 14 | ||||
-rw-r--r-- | src/openvic-simulation/politics/Rebel.hpp | 6 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/openvic-simulation/politics/Rebel.cpp b/src/openvic-simulation/politics/Rebel.cpp index e58b3de..ec39c9e 100644 --- a/src/openvic-simulation/politics/Rebel.cpp +++ b/src/openvic-simulation/politics/Rebel.cpp @@ -142,4 +142,18 @@ bool RebelManager::load_rebels_file( lock_rebel_types(); return ret; +} + +bool RebelManager::generate_modifiers(ModifierManager& modifier_manager) { + bool ret = true; + + modifier_manager.register_complex_modifier("rebel_org_gain"); + + ret &= modifier_manager.add_modifier_effect("rebel_org_gain_all", false); + + for (RebelType const& rebel_type : get_rebel_types()) { + std::string modifier_name = StringUtils::append_string_views("rebel_org_gain_", rebel_type.get_identifier()); + ret &= modifier_manager.add_modifier_effect(modifier_name, false); + } + return ret; }
\ No newline at end of file diff --git a/src/openvic-simulation/politics/Rebel.hpp b/src/openvic-simulation/politics/Rebel.hpp index f012829..ba7b33f 100644 --- a/src/openvic-simulation/politics/Rebel.hpp +++ b/src/openvic-simulation/politics/Rebel.hpp @@ -1,5 +1,6 @@ #pragma once +#include "openvic-simulation/misc/Modifier.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" #include "openvic-simulation/politics/Government.hpp" #include "openvic-simulation/politics/Ideology.hpp" @@ -78,8 +79,7 @@ namespace OpenVic { bool reinforcing, bool general, bool smart, bool unit_transfer, fixed_point_t occupation_mult ); - bool load_rebels_file( - IdeologyManager const& ideology_manager, GovernmentTypeManager const& government_type_manager, ast::NodeCPtr root - ); + bool load_rebels_file(IdeologyManager const& ideology_manager, GovernmentTypeManager const& government_type_manager, ast::NodeCPtr root); + bool generate_modifiers(ModifierManager& modifier_manager); }; }
\ No newline at end of file |