aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/defines/AIDefines.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/defines/AIDefines.hpp')
-rw-r--r--src/openvic-simulation/defines/AIDefines.hpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/openvic-simulation/defines/AIDefines.hpp b/src/openvic-simulation/defines/AIDefines.hpp
new file mode 100644
index 0000000..c69e9af
--- /dev/null
+++ b/src/openvic-simulation/defines/AIDefines.hpp
@@ -0,0 +1,60 @@
+#pragma once
+
+#include "openvic-simulation/dataloader/NodeTools.hpp"
+#include "openvic-simulation/types/Date.hpp"
+#include "openvic-simulation/types/fixed_point/FixedPoint.hpp"
+#include "openvic-simulation/utility/Getters.hpp"
+
+namespace OpenVic {
+ struct DefineManager;
+
+ struct AIDefines {
+ friend struct DefineManager;
+
+ private:
+ fixed_point_t PROPERTY(colony_weight);
+ fixed_point_t PROPERTY(administrator_weight);
+ fixed_point_t PROPERTY(industryworker_weight);
+ fixed_point_t PROPERTY(educator_weight);
+ fixed_point_t PROPERTY(soldier_weight);
+ fixed_point_t PROPERTY(soldier_fraction);
+ fixed_point_t PROPERTY(capitalist_fraction);
+ fixed_point_t PROPERTY(production_weight);
+ fixed_point_t PROPERTY(spam_penalty);
+ fixed_point_t PROPERTY(one_side_max_warscore);
+ fixed_point_t PROPERTY(pop_project_investment_max_budget_factor);
+ fixed_point_t PROPERTY(relation_limit_no_alliance_offer);
+ fixed_point_t PROPERTY(naval_supply_penalty_limit);
+ fixed_point_t PROPERTY(chance_build_railroad);
+ fixed_point_t PROPERTY(chance_build_naval_base);
+ fixed_point_t PROPERTY(chance_build_fort);
+ fixed_point_t PROPERTY(chance_invest_pop_proj);
+ fixed_point_t PROPERTY(chance_foreign_invest);
+ fixed_point_t PROPERTY(tws_awareness_score_low_cap);
+ fixed_point_t PROPERTY(tws_awareness_score_aspect);
+ fixed_point_t PROPERTY(peace_base_reluctance);
+ Timespan PROPERTY(peace_time_duration);
+ fixed_point_t PROPERTY(peace_time_factor);
+ fixed_point_t PROPERTY(peace_time_factor_no_goals);
+ fixed_point_t PROPERTY(peace_war_exhaustion_factor);
+ fixed_point_t PROPERTY(peace_war_direction_factor);
+ fixed_point_t PROPERTY(peace_war_direction_winning_mult);
+ fixed_point_t PROPERTY(peace_force_balance_factor);
+ fixed_point_t PROPERTY(peace_ally_base_reluctance_mult);
+ fixed_point_t PROPERTY(peace_ally_time_mult);
+ fixed_point_t PROPERTY(peace_ally_war_exhaustion_mult);
+ fixed_point_t PROPERTY(peace_ally_war_direction_mult);
+ fixed_point_t PROPERTY(peace_ally_force_balance_mult);
+ fixed_point_t PROPERTY(aggression_base);
+ fixed_point_t PROPERTY(aggression_unciv_bonus);
+ size_t PROPERTY(fleet_size);
+ size_t PROPERTY(min_fleets);
+ size_t PROPERTY(max_fleets);
+ Timespan PROPERTY(time_before_disband);
+
+ AIDefines();
+
+ std::string_view get_name() const;
+ NodeTools::node_callback_t expect_defines();
+ };
+}