diff options
author | hop311 <hop3114@gmail.com> | 2024-10-31 20:29:34 +0100 |
---|---|---|
committer | hop311 <hop3114@gmail.com> | 2024-10-31 20:54:50 +0100 |
commit | dbf58b1b1d318b4a82cf22b5b8e720c753388f4b (patch) | |
tree | d6d2be10697d6fa320f7f8da14eda45111bd9399 /src/openvic-simulation/defines/AIDefines.hpp | |
parent | c763a0aedd834432b54b6e49c6bc7e1936be1131 (diff) |
Load defines directly into named and typed variables rather than using an IdentifierRegistrydefines-variables
Diffstat (limited to 'src/openvic-simulation/defines/AIDefines.hpp')
-rw-r--r-- | src/openvic-simulation/defines/AIDefines.hpp | 60 |
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(); + }; +} |