aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/defines/CountryDefines.hpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2024-10-31 21:50:36 +0100
committer GitHub <noreply@github.com>2024-10-31 21:50:36 +0100
commitb602c10cf890c5973c1efbe8d958bf9b67499efe (patch)
tree3b34e78831ab11d6333ce2822b10244995a69848 /src/openvic-simulation/defines/CountryDefines.hpp
parent968c60580997d26035496cc675138e580354332f (diff)
parentdbf58b1b1d318b4a82cf22b5b8e720c753388f4b (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/CountryDefines.hpp')
-rw-r--r--src/openvic-simulation/defines/CountryDefines.hpp109
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();
+ };
+}