diff options
author | Hop311 <Hop3114@gmail.com> | 2024-10-31 21:50:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-31 21:50:36 +0100 |
commit | b602c10cf890c5973c1efbe8d958bf9b67499efe (patch) | |
tree | 3b34e78831ab11d6333ce2822b10244995a69848 /src/openvic-simulation/defines/AIDefines.hpp | |
parent | 968c60580997d26035496cc675138e580354332f (diff) | |
parent | dbf58b1b1d318b4a82cf22b5b8e720c753388f4b (diff) |
Merge pull request #222 from OpenVicProject/defines-variables
Load defines directly into named and typed variables rather than using an IdentifierRegistry
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(); + }; +} |