aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/defines/CountryDefines.hpp
blob: b97f6f3c20da8d7ae4942580478140a6b1c30698 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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();
   };
}