aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/defines/EconomyDefines.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/EconomyDefines.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/EconomyDefines.hpp')
-rw-r--r--src/openvic-simulation/defines/EconomyDefines.hpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/openvic-simulation/defines/EconomyDefines.hpp b/src/openvic-simulation/defines/EconomyDefines.hpp
new file mode 100644
index 0000000..122475f
--- /dev/null
+++ b/src/openvic-simulation/defines/EconomyDefines.hpp
@@ -0,0 +1,53 @@
+#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 EconomyDefines {
+ friend struct DefineManager;
+
+ private:
+ fixed_point_t PROPERTY(max_daily_research);
+ fixed_point_t PROPERTY(loan_base_interest);
+ Timespan PROPERTY(bankruptcy_external_loan_duration);
+ fixed_point_t PROPERTY(bankruptcy_factor);
+ fixed_point_t PROPERTY(shadowy_financiers_max_loan_amount);
+ fixed_point_t PROPERTY(max_loan_cap_from_banks);
+ fixed_point_t PROPERTY(gunboat_low_tax_cap);
+ fixed_point_t PROPERTY(gunboat_high_tax_cap);
+ fixed_point_t PROPERTY(gunboat_fleet_size_factor);
+ fixed_point_t PROPERTY(province_size_divider);
+ fixed_point_t PROPERTY(capitalist_build_factory_state_employment_percent);
+ fixed_point_t PROPERTY(goods_focus_swap_chance);
+ size_t PROPERTY(num_closed_factories_per_state_lassiez_faire);
+ size_t PROPERTY(min_num_factories_per_state_before_deleting_lassiez_faire);
+ Timespan PROPERTY(bankrupcy_duration);
+ fixed_point_t PROPERTY(second_rank_base_share_factor);
+ fixed_point_t PROPERTY(civ_base_share_factor);
+ fixed_point_t PROPERTY(unciv_base_share_factor);
+ fixed_point_t PROPERTY(factory_paychecks_leftover_factor);
+ fixed_point_t PROPERTY(max_factory_money_save);
+ fixed_point_t PROPERTY(small_debt_limit);
+ fixed_point_t PROPERTY(factory_upgrade_employee_factor);
+ fixed_point_t PROPERTY(rgo_supply_demand_factor_hire_hi);
+ fixed_point_t PROPERTY(rgo_supply_demand_factor_hire_lo);
+ fixed_point_t PROPERTY(rgo_supply_demand_factor_fire);
+ fixed_point_t PROPERTY(employment_hire_lowest);
+ fixed_point_t PROPERTY(employment_fire_lowest);
+ fixed_point_t PROPERTY(trade_cap_low_limit_land);
+ fixed_point_t PROPERTY(trade_cap_low_limit_naval);
+ fixed_point_t PROPERTY(trade_cap_low_limit_constructions);
+ fixed_point_t PROPERTY(factory_purchase_min_factor);
+ fixed_point_t PROPERTY(factory_purchase_drawdown_factor);
+
+ EconomyDefines();
+
+ std::string_view get_name() const;
+ NodeTools::node_callback_t expect_defines();
+ };
+}