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/CountryDefines.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/CountryDefines.hpp')
-rw-r--r-- | src/openvic-simulation/defines/CountryDefines.hpp | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/src/openvic-simulation/defines/CountryDefines.hpp b/src/openvic-simulation/defines/CountryDefines.hpp new file mode 100644 index 0000000..b97f6f3 --- /dev/null +++ b/src/openvic-simulation/defines/CountryDefines.hpp @@ -0,0 +1,109 @@ +#pragma once + +#include "openvic-simulation/dataloader/NodeTools.hpp" +#include "openvic-simulation/map/ProvinceInstance.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 CountryDefines { + friend struct DefineManager; + + private: + Timespan PROPERTY(nationalism_duration); + Timespan PROPERTY(rebels_hold_capital_success_duration); // NOT USED + Timespan PROPERTY(rebel_success_duration); + fixed_point_t PROPERTY(base_country_tax_efficiency); + fixed_point_t PROPERTY(base_country_admin_efficiency); + fixed_point_t PROPERTY(gold_to_cash_rate); + fixed_point_t PROPERTY(gold_to_worker_pay_rate); + size_t PROPERTY(great_power_rank); + Timespan PROPERTY(lose_great_power_grace_days); + fixed_point_t PROPERTY(infamy_containment_limit); + fixed_point_t PROPERTY(max_bureaucracy_percentage); + fixed_point_t PROPERTY(bureaucracy_percentage_increment); + fixed_point_t PROPERTY(min_crimefight_percent); + fixed_point_t PROPERTY(max_crimefight_percent); + fixed_point_t PROPERTY(admin_efficiency_crimefight_percent); + fixed_point_t PROPERTY(conservative_increase_after_reform); + Timespan PROPERTY(campaign_event_base_duration); + Timespan PROPERTY(campaign_event_min_duration); // NOT USED + Timespan PROPERTY(campaign_event_state_duration_modifier); // NOT USED + Timespan PROPERTY(campaign_duration); + size_t PROPERTY(secondary_power_rank); + fixed_point_t PROPERTY(colony_to_state_prestige_gain); + ProvinceInstance::life_rating_t PROPERTY(colonial_liferating); + fixed_point_t PROPERTY(base_greatpower_daily_influence); + fixed_point_t PROPERTY(ai_support_reform); + fixed_point_t PROPERTY(base_monthly_diplopoints); + Timespan PROPERTY(diplomat_travel_duration); + fixed_point_t PROPERTY(province_overseas_penalty); + fixed_point_t PROPERTY(noncore_tax_penalty); + fixed_point_t PROPERTY(base_tariff_efficiency); + fixed_point_t PROPERTY(colony_formed_prestige); + Timespan PROPERTY(created_cb_valid_time); + fixed_point_t PROPERTY(loyalty_boost_on_party_win); + fixed_point_t PROPERTY(movement_radicalism_base); + fixed_point_t PROPERTY(movement_radicalism_passed_reform_effect); + fixed_point_t PROPERTY(movement_radicalism_nationalism_factor); + fixed_point_t PROPERTY(suppression_points_gain_base); + fixed_point_t PROPERTY(suppress_bureaucrat_factor); + fixed_point_t PROPERTY(wrong_reform_militancy_impact); + fixed_point_t PROPERTY(suppression_radicalisation_hit); + fixed_point_t PROPERTY(country_investment_industrial_score_factor); + fixed_point_t PROPERTY(unciv_tech_spread_max); + fixed_point_t PROPERTY(unciv_tech_spread_min); + Timespan PROPERTY(min_delay_duration_between_reforms); + fixed_point_t PROPERTY(economic_reform_uh_factor); + fixed_point_t PROPERTY(military_reform_uh_factor); + fixed_point_t PROPERTY(wrong_reform_radical_impact); + fixed_point_t PROPERTY(tech_year_span); + fixed_point_t PROPERTY(tech_factor_vassal); + fixed_point_t PROPERTY(max_suppression); + fixed_point_t PROPERTY(prestige_hit_on_break_country); + fixed_point_t PROPERTY(min_mobilize_limit); + Timespan PROPERTY(pop_growth_country_cache_days); + Timespan PROPERTY(newspaper_printing_frequency); + Timespan PROPERTY(newspaper_timeout_period); + fixed_point_t PROPERTY(newspaper_max_tension); + fixed_point_t PROPERTY(naval_base_supply_score_base); + fixed_point_t PROPERTY(naval_base_supply_score_empty); + fixed_point_t PROPERTY(naval_base_non_core_supply_score); + fixed_point_t PROPERTY(colonial_points_from_supply_factor); + fixed_point_t PROPERTY(colonial_points_for_non_core_base); + fixed_point_t PROPERTY(mobilization_speed_base); + fixed_point_t PROPERTY(mobilization_speed_rails_mult); + fixed_point_t PROPERTY(colonization_interest_lead); + fixed_point_t PROPERTY(colonization_influence_lead); + Timespan PROPERTY(colonization_duration); + Timespan PROPERTY(colonization_days_between_investment); + Timespan PROPERTY(colonization_days_for_initial_investment); + fixed_point_t PROPERTY(colonization_protectorate_province_maintainance); + fixed_point_t PROPERTY(colonization_colony_province_maintainance); + fixed_point_t PROPERTY(colonization_colony_industry_maintainance); + fixed_point_t PROPERTY(colonization_colony_railway_maintainance); + fixed_point_t PROPERTY(colonization_interest_cost_initial); + fixed_point_t PROPERTY(colonization_interest_cost_neighbor_modifier); + fixed_point_t PROPERTY(colonization_interest_cost); + fixed_point_t PROPERTY(colonization_influence_cost); + fixed_point_t PROPERTY(colonization_extra_guard_cost); + fixed_point_t PROPERTY(colonization_release_dominion_cost); + fixed_point_t PROPERTY(colonization_create_state_cost); + fixed_point_t PROPERTY(colonization_create_protectorate_cost); + fixed_point_t PROPERTY(colonization_create_colony_cost); + fixed_point_t PROPERTY(colonization_colony_state_distance); + fixed_point_t PROPERTY(colonization_influence_temperature_per_day); + fixed_point_t PROPERTY(colonization_influence_temperature_per_level); + fixed_point_t PROPERTY(party_loyalty_hit_on_war_loss); + fixed_point_t PROPERTY(research_points_on_conquer_mult); + fixed_point_t PROPERTY(max_research_points); + + CountryDefines(); + + std::string_view get_name() const; + NodeTools::node_callback_t expect_defines(); + }; +} |