aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/modifier/StaticModifierCache.hpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2024-10-20 20:44:51 +0200
committer GitHub <noreply@github.com>2024-10-20 20:44:51 +0200
commit6527f832a5e14a28fc1f5b85628541038eb90141 (patch)
treeaca829171be7b1144cb3ca29510593fa8a84af24 /src/openvic-simulation/modifier/StaticModifierCache.hpp
parent9a84e7af70f2528578b00879e568bca285563e9b (diff)
parent5194a3d043db66b81470111a94f3b1cdf8d42176 (diff)
Merge pull request #198 from OpenVicProject/resultant-modifier
Calculate country and province modifier sums
Diffstat (limited to 'src/openvic-simulation/modifier/StaticModifierCache.hpp')
-rw-r--r--src/openvic-simulation/modifier/StaticModifierCache.hpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/openvic-simulation/modifier/StaticModifierCache.hpp b/src/openvic-simulation/modifier/StaticModifierCache.hpp
new file mode 100644
index 0000000..4b17b82
--- /dev/null
+++ b/src/openvic-simulation/modifier/StaticModifierCache.hpp
@@ -0,0 +1,64 @@
+#pragma once
+
+#include "openvic-simulation/utility/Getters.hpp"
+
+namespace OpenVic {
+ struct Modifier;
+ struct ModifierManager;
+
+ struct StaticModifierCache {
+ friend struct ModifierManager;
+
+ private:
+ // Country modifiers
+ Modifier const* PROPERTY(very_easy_player);
+ Modifier const* PROPERTY(easy_player);
+ Modifier const* PROPERTY(hard_player);
+ Modifier const* PROPERTY(very_hard_player);
+ Modifier const* PROPERTY(very_easy_ai);
+ Modifier const* PROPERTY(easy_ai);
+ Modifier const* PROPERTY(hard_ai);
+ Modifier const* PROPERTY(very_hard_ai);
+
+ Modifier const* PROPERTY(base_modifier);
+ Modifier const* PROPERTY(war);
+ Modifier const* PROPERTY(peace);
+ Modifier const* PROPERTY(disarming);
+ Modifier const* PROPERTY(war_exhaustion);
+ Modifier const* PROPERTY(infamy);
+ Modifier const* PROPERTY(debt_default_to);
+ Modifier const* PROPERTY(bad_debter);
+ Modifier const* PROPERTY(great_power);
+ Modifier const* PROPERTY(secondary_power);
+ Modifier const* PROPERTY(civilised);
+ Modifier const* PROPERTY(uncivilised);
+ Modifier const* PROPERTY(literacy);
+ Modifier const* PROPERTY(plurality);
+ Modifier const* PROPERTY(generalised_debt_default);
+ Modifier const* PROPERTY(total_occupation);
+ Modifier const* PROPERTY(total_blockaded);
+ Modifier const* PROPERTY(in_bankruptcy);
+
+ // Province modifiers
+ Modifier const* PROPERTY(overseas);
+ Modifier const* PROPERTY(coastal);
+ Modifier const* PROPERTY(non_coastal);
+ Modifier const* PROPERTY(coastal_sea);
+ Modifier const* PROPERTY(sea_zone);
+ Modifier const* PROPERTY(land_province);
+ Modifier const* PROPERTY(blockaded);
+ Modifier const* PROPERTY(no_adjacent_controlled);
+ Modifier const* PROPERTY(core);
+ Modifier const* PROPERTY(has_siege);
+ Modifier const* PROPERTY(occupied);
+ Modifier const* PROPERTY(nationalism);
+ Modifier const* PROPERTY(infrastructure);
+
+ StaticModifierCache();
+
+ bool load_static_modifiers(ModifierManager& registry);
+
+ public:
+ StaticModifierCache(StaticModifierCache&&) = default;
+ };
+}