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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
#include "MilitaryDefines.hpp"
using namespace OpenVic;
using namespace OpenVic::NodeTools;
MilitaryDefines::MilitaryDefines()
: dig_in_increase_each_days {},
reinforce_speed {},
combat_difficulty_impact {},
base_combat_width {},
min_pop_size_for_regiment {},
pop_size_per_regiment {},
soldier_to_pop_damage {},
land_speed_modifier {},
naval_speed_modifier {},
exp_gain_div {},
leader_recruit_cost {},
supply_range {},
pop_size_per_regiment_protectorate_multiplier {},
pop_size_per_regiment_colony_multiplier {},
pop_size_per_regiment_non_core_multiplier {},
gas_attack_modifier {},
combatloss_war_exhaustion {},
leader_max_random_prestige {},
leader_age_death_factor {},
leader_prestige_to_morale_factor {},
leader_prestige_to_max_org_factor {},
leader_transfer_penalty_on_country_prestige {},
leader_prestige_land_gain {},
leader_prestige_naval_gain {},
naval_combat_seeking_chance {},
naval_combat_seeking_chance_min {},
naval_combat_self_defence_chance {},
naval_combat_shift_back_on_next_target {},
naval_combat_shift_back_duration_scale {},
naval_combat_speed_to_distance_factor {},
naval_combat_change_target_chance {},
naval_combat_damage_org_mult {},
naval_combat_damage_str_mult {},
naval_combat_damage_mult_no_org {},
naval_combat_retreat_chance {},
naval_combat_retreat_str_org_level {},
naval_combat_retreat_speed_mod {},
naval_combat_retreat_min_distance {},
naval_combat_damaged_target_selection {},
naval_combat_stacking_target_change {},
naval_combat_stacking_target_select {},
naval_combat_max_targets {},
ai_bigship_proportion {},
ai_lightship_proportion {},
ai_transport_proportion {},
ai_cavalry_proportion {},
ai_support_proportion {},
ai_special_proportion {},
ai_escort_ratio {},
ai_army_taxbase_fraction {},
ai_navy_taxbase_fraction {},
ai_blockade_range {},
recon_unit_ratio {},
engineer_unit_ratio {},
siege_brigades_min {},
siege_brigades_max {},
siege_brigades_bonus {},
recon_siege_effect {},
siege_attrition {},
base_military_tactics {},
naval_low_supply_damage_supply_status {},
naval_low_supply_damage_days_delay {},
naval_low_supply_damage_min_str {},
naval_low_supply_damage_per_day {} {}
std::string_view MilitaryDefines::get_name() const {
return "military";
}
node_callback_t MilitaryDefines::expect_defines() {
return expect_dictionary_keys(
"DIG_IN_INCREASE_EACH_DAYS", ONE_EXACTLY, expect_days(assign_variable_callback(dig_in_increase_each_days)),
"REINFORCE_SPEED", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(reinforce_speed)),
"COMBAT_DIFFICULTY_IMPACT", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(combat_difficulty_impact)),
"BASE_COMBAT_WIDTH", ONE_EXACTLY, expect_uint(assign_variable_callback(base_combat_width)),
"POP_MIN_SIZE_FOR_REGIMENT", ONE_EXACTLY, expect_uint(assign_variable_callback(min_pop_size_for_regiment)),
"POP_SIZE_PER_REGIMENT", ONE_EXACTLY, expect_uint(assign_variable_callback(pop_size_per_regiment)),
"SOLDIER_TO_POP_DAMAGE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(soldier_to_pop_damage)),
"LAND_SPEED_MODIFIER", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(land_speed_modifier)),
"NAVAL_SPEED_MODIFIER", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(naval_speed_modifier)),
"EXP_GAIN_DIV", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(exp_gain_div)),
"LEADER_RECRUIT_COST", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(leader_recruit_cost)),
"SUPPLY_RANGE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(supply_range)),
"POP_MIN_SIZE_FOR_REGIMENT_PROTECTORATE_MULTIPLIER", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(pop_size_per_regiment_protectorate_multiplier)),
"POP_MIN_SIZE_FOR_REGIMENT_COLONY_MULTIPLIER", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(pop_size_per_regiment_colony_multiplier)),
"POP_MIN_SIZE_FOR_REGIMENT_NONCORE_MULTIPLIER", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(pop_size_per_regiment_non_core_multiplier)),
"GAS_ATTACK_MODIFIER", ONE_EXACTLY, expect_uint(assign_variable_callback(gas_attack_modifier)),
"COMBATLOSS_WAR_EXHAUSTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(combatloss_war_exhaustion)),
"LEADER_MAX_RANDOM_PRESTIGE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(leader_max_random_prestige)),
"LEADER_AGE_DEATH_FACTOR", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(leader_age_death_factor)),
"LEADER_PRESTIGE_TO_MORALE_FACTOR", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(leader_prestige_to_morale_factor)),
"LEADER_PRESTIGE_TO_MAX_ORG_FACTOR", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(leader_prestige_to_max_org_factor)),
"LEADER_TRANSFER_PENALTY_ON_COUNTRY_PRESTIGE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(leader_transfer_penalty_on_country_prestige)),
"LEADER_PRESTIGE_LAND_GAIN", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(leader_prestige_land_gain)),
"LEADER_PRESTIGE_NAVAL_GAIN", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(leader_prestige_naval_gain)),
"NAVAL_COMBAT_SEEKING_CHANCE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(naval_combat_seeking_chance)),
"NAVAL_COMBAT_SEEKING_CHANCE_MIN", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_seeking_chance_min)),
"NAVAL_COMBAT_SELF_DEFENCE_CHANCE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_self_defence_chance)),
"NAVAL_COMBAT_SHIFT_BACK_ON_NEXT_TARGET", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_shift_back_on_next_target)),
"NAVAL_COMBAT_SHIFT_BACK_DURATION_SCALE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_shift_back_duration_scale)),
"NAVAL_COMBAT_SPEED_TO_DISTANCE_FACTOR", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_speed_to_distance_factor)),
"NAVAL_COMBAT_CHANGE_TARGET_CHANCE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_change_target_chance)),
"NAVAL_COMBAT_DAMAGE_ORG_MULT", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_damage_org_mult)),
"NAVAL_COMBAT_DAMAGE_STR_MULT", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_damage_str_mult)),
"NAVAL_COMBAT_DAMAGE_MULT_NO_ORG", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_damage_mult_no_org)),
"NAVAL_COMBAT_RETREAT_CHANCE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(naval_combat_retreat_chance)),
"NAVAL_COMBAT_RETREAT_STR_ORG_LEVEL", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_retreat_str_org_level)),
"NAVAL_COMBAT_RETREAT_SPEED_MOD", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_retreat_speed_mod)),
"NAVAL_COMBAT_RETREAT_MIN_DISTANCE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_retreat_min_distance)),
"NAVAL_COMBAT_DAMAGED_TARGET_SELECTION", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_damaged_target_selection)),
"NAVAL_COMBAT_STACKING_TARGET_CHANGE", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_stacking_target_change)),
"NAVAL_COMBAT_STACKING_TARGET_SELECT", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_combat_stacking_target_select)),
"NAVAL_COMBAT_MAX_TARGETS", ONE_EXACTLY, expect_uint(assign_variable_callback(naval_combat_max_targets)),
"AI_BIGSHIP_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_bigship_proportion)),
"AI_LIGHTSHIP_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_lightship_proportion)),
"AI_TRANSPORT_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_transport_proportion)),
"AI_CAVALRY_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_cavalry_proportion)),
"AI_SUPPORT_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_support_proportion)),
"AI_SPECIAL_PROPORTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_special_proportion)),
"AI_ESCORT_RATIO", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_escort_ratio)),
"AI_ARMY_TAXBASE_FRACTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_army_taxbase_fraction)),
"AI_NAVY_TAXBASE_FRACTION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_navy_taxbase_fraction)),
"AI_BLOCKADE_RANGE", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(ai_blockade_range)),
"RECON_UNIT_RATIO", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(recon_unit_ratio)),
"ENGINEER_UNIT_RATIO", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(engineer_unit_ratio)),
"SIEGE_BRIGADES_MIN", ONE_EXACTLY, expect_uint(assign_variable_callback(siege_brigades_min)),
"SIEGE_BRIGADES_MAX", ONE_EXACTLY, expect_uint(assign_variable_callback(siege_brigades_max)),
"SIEGE_BRIGADES_BONUS", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(siege_brigades_bonus)),
"RECON_SIEGE_EFFECT", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(recon_siege_effect)),
"SIEGE_ATTRITION", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(siege_attrition)),
"BASE_MILITARY_TACTICS", ONE_EXACTLY, expect_fixed_point(assign_variable_callback(base_military_tactics)),
"NAVAL_LOW_SUPPLY_DAMAGE_SUPPLY_STATUS", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_low_supply_damage_supply_status)),
"NAVAL_LOW_SUPPLY_DAMAGE_DAYS_DELAY", ONE_EXACTLY,
expect_days(assign_variable_callback(naval_low_supply_damage_days_delay)),
"NAVAL_LOW_SUPPLY_DAMAGE_MIN_STR", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_low_supply_damage_min_str)),
"NAVAL_LOW_SUPPLY_DAMAGE_PER_DAY", ONE_EXACTLY,
expect_fixed_point(assign_variable_callback(naval_low_supply_damage_per_day))
);
}
|