#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 DiplomacyDefines { friend struct DefineManager; private: fixed_point_t PROPERTY(peace_cost_add_to_sphere); fixed_point_t PROPERTY(peace_cost_release_puppet); fixed_point_t PROPERTY(peace_cost_make_puppet); fixed_point_t PROPERTY(peace_cost_disarmament); fixed_point_t PROPERTY(peace_cost_destroy_forts); fixed_point_t PROPERTY(peace_cost_destroy_naval_bases); fixed_point_t PROPERTY(peace_cost_reparations); fixed_point_t PROPERTY(peace_cost_transfer_provinces); fixed_point_t PROPERTY(peace_cost_remove_cores); fixed_point_t PROPERTY(peace_cost_prestige); fixed_point_t PROPERTY(peace_cost_concede); fixed_point_t PROPERTY(peace_cost_status_quo); fixed_point_t PROPERTY(peace_cost_annex); fixed_point_t PROPERTY(peace_cost_demand_state); fixed_point_t PROPERTY(peace_cost_install_communist_gov_type); fixed_point_t PROPERTY(peace_cost_uninstall_communist_gov_type); fixed_point_t PROPERTY(peace_cost_colony); fixed_point_t PROPERTY(infamy_add_to_sphere); fixed_point_t PROPERTY(infamy_release_puppet); fixed_point_t PROPERTY(infamy_make_puppet); fixed_point_t PROPERTY(infamy_disarmament); fixed_point_t PROPERTY(infamy_destroy_forts); fixed_point_t PROPERTY(infamy_destroy_naval_bases); fixed_point_t PROPERTY(infamy_reparations); fixed_point_t PROPERTY(infamy_transfer_provinces); fixed_point_t PROPERTY(infamy_remove_cores); fixed_point_t PROPERTY(infamy_prestige); fixed_point_t PROPERTY(infamy_concede); fixed_point_t PROPERTY(infamy_status_quo); fixed_point_t PROPERTY(infamy_annex); fixed_point_t PROPERTY(infamy_demand_state); fixed_point_t PROPERTY(infamy_install_communist_gov_type); fixed_point_t PROPERTY(infamy_uninstall_communist_gov_type); fixed_point_t PROPERTY(infamy_colony); fixed_point_t PROPERTY(prestige_add_to_sphere_base); fixed_point_t PROPERTY(prestige_release_puppet_base); fixed_point_t PROPERTY(prestige_make_puppet_base); fixed_point_t PROPERTY(prestige_disarmament_base); fixed_point_t PROPERTY(prestige_destroy_forts_base); fixed_point_t PROPERTY(prestige_destroy_naval_bases_base); fixed_point_t PROPERTY(prestige_reparations_base); fixed_point_t PROPERTY(prestige_transfer_provinces_base); fixed_point_t PROPERTY(prestige_remove_cores_base); fixed_point_t PROPERTY(prestige_prestige_base); fixed_point_t PROPERTY(prestige_concede_base); fixed_point_t PROPERTY(prestige_status_quo_base); fixed_point_t PROPERTY(prestige_annex_base); fixed_point_t PROPERTY(prestige_demand_state_base); fixed_point_t PROPERTY(prestige_clear_union_sphere_base); fixed_point_t PROPERTY(prestige_gunboat_base); fixed_point_t PROPERTY(prestige_install_communist_gov_type_base); fixed_point_t PROPERTY(prestige_uninstall_communist_gov_type_base); fixed_point_t PROPERTY(prestige_colony_base); fixed_point_t PROPERTY(prestige_add_to_sphere); fixed_point_t PROPERTY(prestige_release_puppet); fixed_point_t PROPERTY(prestige_make_puppet); fixed_point_t PROPERTY(prestige_disarmament); fixed_point_t PROPERTY(prestige_destroy_forts); fixed_point_t PROPERTY(prestige_destroy_naval_bases); fixed_point_t PROPERTY(prestige_reparations); fixed_point_t PROPERTY(prestige_transfer_provinces); fixed_point_t PROPERTY(prestige_remove_cores); fixed_point_t PROPERTY(prestige_prestige); fixed_point_t PROPERTY(prestige_concede); fixed_point_t PROPERTY(prestige_status_quo); fixed_point_t PROPERTY(prestige_annex); fixed_point_t PROPERTY(prestige_demand_state); fixed_point_t PROPERTY(prestige_clear_union_sphere); fixed_point_t PROPERTY(prestige_gunboat); fixed_point_t PROPERTY(prestige_install_communist_gov_type); fixed_point_t PROPERTY(prestige_uninstall_communist_gov_type); fixed_point_t PROPERTY(prestige_colony); fixed_point_t PROPERTY(breaktruce_infamy_add_to_sphere); fixed_point_t PROPERTY(breaktruce_infamy_release_puppet); fixed_point_t PROPERTY(breaktruce_infamy_make_puppet); fixed_point_t PROPERTY(breaktruce_infamy_disarmament); fixed_point_t PROPERTY(breaktruce_infamy_destroy_forts); fixed_point_t PROPERTY(breaktruce_infamy_destroy_naval_bases); fixed_point_t PROPERTY(breaktruce_infamy_reparations); fixed_point_t PROPERTY(breaktruce_infamy_transfer_provinces); fixed_point_t PROPERTY(breaktruce_infamy_remove_cores); fixed_point_t PROPERTY(breaktruce_infamy_prestige); fixed_point_t PROPERTY(breaktruce_infamy_concede); fixed_point_t PROPERTY(breaktruce_infamy_status_quo); fixed_point_t PROPERTY(breaktruce_infamy_annex); fixed_point_t PROPERTY(breaktruce_infamy_demand_state); fixed_point_t PROPERTY(breaktruce_infamy_install_communist_gov_type); fixed_point_t PROPERTY(breaktruce_infamy_uninstall_communist_gov_type); fixed_point_t PROPERTY(breaktruce_infamy_colony); fixed_point_t PROPERTY(breaktruce_prestige_add_to_sphere); fixed_point_t PROPERTY(breaktruce_prestige_release_puppet); fixed_point_t PROPERTY(breaktruce_prestige_make_puppet); fixed_point_t PROPERTY(breaktruce_prestige_disarmament); fixed_point_t PROPERTY(breaktruce_prestige_destroy_forts); fixed_point_t PROPERTY(breaktruce_prestige_destroy_naval_bases); fixed_point_t PROPERTY(breaktruce_prestige_reparations); fixed_point_t PROPERTY(breaktruce_prestige_transfer_provinces); fixed_point_t PROPERTY(breaktruce_prestige_remove_cores); fixed_point_t PROPERTY(breaktruce_prestige_prestige); fixed_point_t PROPERTY(breaktruce_prestige_concede); fixed_point_t PROPERTY(breaktruce_prestige_status_quo); fixed_point_t PROPERTY(breaktruce_prestige_annex); fixed_point_t PROPERTY(breaktruce_prestige_demand_state); fixed_point_t PROPERTY(breaktruce_prestige_install_communist_gov_type); fixed_point_t PROPERTY(breaktruce_prestige_uninstall_communist_gov_type); fixed_point_t PROPERTY(breaktruce_prestige_colony); fixed_point_t PROPERTY(breaktruce_militancy_add_to_sphere); fixed_point_t PROPERTY(breaktruce_militancy_release_puppet); fixed_point_t PROPERTY(breaktruce_militancy_make_puppet); fixed_point_t PROPERTY(breaktruce_militancy_disarmament); fixed_point_t PROPERTY(breaktruce_militancy_destroy_forts); fixed_point_t PROPERTY(breaktruce_militancy_destroy_naval_bases); fixed_point_t PROPERTY(breaktruce_militancy_reparations); fixed_point_t PROPERTY(breaktruce_militancy_transfer_provinces); fixed_point_t PROPERTY(breaktruce_militancy_remove_cores); fixed_point_t PROPERTY(breaktruce_militancy_prestige); fixed_point_t PROPERTY(breaktruce_militancy_concede); fixed_point_t PROPERTY(breaktruce_militancy_status_quo); fixed_point_t PROPERTY(breaktruce_militancy_annex); fixed_point_t PROPERTY(breaktruce_militancy_demand_state); fixed_point_t PROPERTY(breaktruce_militancy_install_communist_gov_type); fixed_point_t PROPERTY(breaktruce_militancy_uninstall_communist_gov_type); fixed_point_t PROPERTY(breaktruce_militancy_colony); fixed_point_t PROPERTY(goodrelation_infamy_add_to_sphere); fixed_point_t PROPERTY(goodrelation_infamy_release_puppet); fixed_point_t PROPERTY(goodrelation_infamy_make_puppet); fixed_point_t PROPERTY(goodrelation_infamy_disarmament); fixed_point_t PROPERTY(goodrelation_infamy_destroy_forts); fixed_point_t PROPERTY(goodrelation_infamy_destroy_naval_bases); fixed_point_t PROPERTY(goodrelation_infamy_reparations); fixed_point_t PROPERTY(goodrelation_infamy_transfer_provinces); fixed_point_t PROPERTY(goodrelation_infamy_remove_cores); fixed_point_t PROPERTY(goodrelation_infamy_prestige); fixed_point_t PROPERTY(goodrelation_infamy_concede); fixed_point_t PROPERTY(goodrelation_infamy_status_quo); fixed_point_t PROPERTY(goodrelation_infamy_annex); fixed_point_t PROPERTY(goodrelation_infamy_demand_state); fixed_point_t PROPERTY(goodrelation_infamy_install_communist_gov_type); fixed_point_t PROPERTY(goodrelation_infamy_uninstall_communist_gov_type); fixed_point_t PROPERTY(goodrelation_infamy_colony); fixed_point_t PROPERTY(goodrelation_prestige_add_to_sphere); fixed_point_t PROPERTY(goodrelation_prestige_release_puppet); fixed_point_t PROPERTY(goodrelation_prestige_make_puppet); fixed_point_t PROPERTY(goodrelation_prestige_disarmament); fixed_point_t PROPERTY(goodrelation_prestige_destroy_forts); fixed_point_t PROPERTY(goodrelation_prestige_destroy_naval_bases); fixed_point_t PROPERTY(goodrelation_prestige_reparations); fixed_point_t PROPERTY(goodrelation_prestige_transfer_provinces); fixed_point_t PROPERTY(goodrelation_prestige_remove_cores); fixed_point_t PROPERTY(goodrelation_prestige_prestige); fixed_point_t PROPERTY(goodrelation_prestige_concede); fixed_point_t PROPERTY(goodrelation_prestige_status_quo); fixed_point_t PROPERTY(goodrelation_prestige_annex); fixed_point_t PROPERTY(goodrelation_prestige_demand_state); fixed_point_t PROPERTY(goodrelation_prestige_install_communist_gov_type); fixed_point_t PROPERTY(goodrelation_prestige_uninstall_communist_gov_type); fixed_point_t PROPERTY(goodrelation_prestige_colony); fixed_point_t PROPERTY(goodrelation_militancy_add_to_sphere); fixed_point_t PROPERTY(goodrelation_militancy_release_puppet); fixed_point_t PROPERTY(goodrelation_militancy_make_puppet); fixed_point_t PROPERTY(goodrelation_militancy_disarmament); fixed_point_t PROPERTY(goodrelation_militancy_destroy_forts); fixed_point_t PROPERTY(goodrelation_militancy_destroy_naval_bases); fixed_point_t PROPERTY(goodrelation_militancy_reparations); fixed_point_t PROPERTY(goodrelation_militancy_transfer_provinces); fixed_point_t PROPERTY(goodrelation_militancy_remove_cores); fixed_point_t PROPERTY(goodrelation_militancy_prestige); fixed_point_t PROPERTY(goodrelation_militancy_concede); fixed_point_t PROPERTY(goodrelation_militancy_status_quo); fixed_point_t PROPERTY(goodrelation_militancy_annex); fixed_point_t PROPERTY(goodrelation_militancy_demand_state); fixed_point_t PROPERTY(goodrelation_militancy_install_communist_gov_type); fixed_point_t PROPERTY(goodrelation_militancy_uninstall_communist_gov_type); fixed_point_t PROPERTY(goodrelation_militancy_colony); fixed_point_t PROPERTY(war_prestige_cost_base); fixed_point_t PROPERTY(war_prestige_cost_high_prestige); fixed_point_t PROPERTY(war_prestige_cost_neg_prestige); fixed_point_t PROPERTY(war_prestige_cost_truce); fixed_point_t PROPERTY(war_prestige_cost_honor_alliance); fixed_point_t PROPERTY(war_prestige_cost_honor_guarnatee); fixed_point_t PROPERTY(war_prestige_cost_uncivilized); fixed_point_t PROPERTY(war_prestige_cost_core); fixed_point_t PROPERTY(war_failed_goal_militancy); fixed_point_t PROPERTY(war_failed_goal_prestige_base); fixed_point_t PROPERTY(war_failed_goal_prestige); Timespan PROPERTY(discredit_days); fixed_point_t PROPERTY(discredit_influence_cost_factor); fixed_point_t PROPERTY(discredit_influence_gain_factor); Timespan PROPERTY(banembassy_days); fixed_point_t PROPERTY(declarewar_relation_on_accept); fixed_point_t PROPERTY(declarewar_diplomatic_cost); fixed_point_t PROPERTY(addwargoal_relation_on_accept); fixed_point_t PROPERTY(addwargoal_diplomatic_cost); fixed_point_t PROPERTY(add_unjustified_goal_badboy); fixed_point_t PROPERTY(peace_relation_on_accept); fixed_point_t PROPERTY(peace_relation_on_decline); fixed_point_t PROPERTY(peace_diplomatic_cost); fixed_point_t PROPERTY(alliance_relation_on_accept); fixed_point_t PROPERTY(alliance_relation_on_decline); fixed_point_t PROPERTY(alliance_diplomatic_cost); fixed_point_t PROPERTY(cancelalliance_relation_on_accept); fixed_point_t PROPERTY(cancelalliance_diplomatic_cost); fixed_point_t PROPERTY(callally_relation_on_accept); fixed_point_t PROPERTY(callally_relation_on_decline); fixed_point_t PROPERTY(callally_diplomatic_cost); fixed_point_t PROPERTY(askmilaccess_relation_on_accept); fixed_point_t PROPERTY(askmilaccess_relation_on_decline); fixed_point_t PROPERTY(askmilaccess_diplomatic_cost); fixed_point_t PROPERTY(cancelaskmilaccess_relation_on_accept); fixed_point_t PROPERTY(cancelaskmilaccess_diplomatic_cost); fixed_point_t PROPERTY(givemilaccess_relation_on_accept); fixed_point_t PROPERTY(givemilaccess_relation_on_decline); fixed_point_t PROPERTY(givemilaccess_diplomatic_cost); fixed_point_t PROPERTY(cancelgivemilaccess_relation_on_accept); fixed_point_t PROPERTY(cancelgivemilaccess_diplomatic_cost); fixed_point_t PROPERTY(warsubsidy_relation_on_accept); fixed_point_t PROPERTY(warsubsidy_diplomatic_cost); fixed_point_t PROPERTY(cancelwarsubsidy_relation_on_accept); fixed_point_t PROPERTY(cancelwarsubsidy_diplomatic_cost); fixed_point_t PROPERTY(discredit_relation_on_accept); fixed_point_t PROPERTY(discredit_influence_cost); fixed_point_t PROPERTY(expeladvisors_relation_on_accept); fixed_point_t PROPERTY(expeladvisors_influence_cost); fixed_point_t PROPERTY(ceasecolonization_relation_on_accept); fixed_point_t PROPERTY(ceasecolonization_relation_on_decline); fixed_point_t PROPERTY(ceasecolonization_diplomatic_cost); fixed_point_t PROPERTY(banembassy_relation_on_accept); fixed_point_t PROPERTY(banembassy_influence_cost); fixed_point_t PROPERTY(increaserelation_relation_on_accept); fixed_point_t PROPERTY(increaserelation_relation_on_decline); fixed_point_t PROPERTY(increaserelation_diplomatic_cost); fixed_point_t PROPERTY(decreaserelation_relation_on_accept); fixed_point_t PROPERTY(decreaserelation_diplomatic_cost); fixed_point_t PROPERTY(addtosphere_relation_on_accept); fixed_point_t PROPERTY(addtosphere_influence_cost); fixed_point_t PROPERTY(removefromsphere_relation_on_accept); fixed_point_t PROPERTY(removefromsphere_influence_cost); fixed_point_t PROPERTY(removefromsphere_prestige_cost); fixed_point_t PROPERTY(removefromsphere_infamy_cost); fixed_point_t PROPERTY(increaseopinion_relation_on_accept); fixed_point_t PROPERTY(increaseopinion_influence_cost); fixed_point_t PROPERTY(decreaseopinion_relation_on_accept); fixed_point_t PROPERTY(decreaseopinion_influence_cost); fixed_point_t PROPERTY(make_cb_diplomatic_cost); fixed_point_t PROPERTY(make_cb_relation_on_accept); fixed_point_t PROPERTY(disarmed_penalty); fixed_point_t PROPERTY(reparations_tax_hit); fixed_point_t PROPERTY(prestige_reduction_base); fixed_point_t PROPERTY(prestige_reduction); Timespan PROPERTY(reparations_duration); fixed_point_t PROPERTY(min_warscore_to_intervene); Timespan PROPERTY(min_time_to_intervene); fixed_point_t PROPERTY(max_warscore_from_battles); fixed_point_t PROPERTY(gunboat_diplomatic_cost); fixed_point_t PROPERTY(gunboat_relation_on_accept); fixed_point_t PROPERTY(wargoal_jingoism_requirement); fixed_point_t PROPERTY(liberate_state_relation_increase); fixed_point_t PROPERTY(dishonored_callally_prestige_penalty); Timespan PROPERTY(base_truce_duration); fixed_point_t PROPERTY(max_influence); fixed_point_t PROPERTY(warsubsidies_percent); fixed_point_t PROPERTY(neighbour_bonus_influence_percent); fixed_point_t PROPERTY(sphere_neighbour_bonus_influence_percent); fixed_point_t PROPERTY(other_continent_bonus_influence_percent); fixed_point_t PROPERTY(puppet_bonus_influence_percent); fixed_point_t PROPERTY(release_nation_prestige); fixed_point_t PROPERTY(release_nation_infamy); fixed_point_t PROPERTY(infamy_clear_union_sphere); fixed_point_t PROPERTY(breaktruce_infamy_clear_union_sphere); fixed_point_t PROPERTY(breaktruce_prestige_clear_union_sphere); fixed_point_t PROPERTY(breaktruce_militancy_clear_union_sphere); fixed_point_t PROPERTY(goodrelation_infamy_clear_union_sphere); fixed_point_t PROPERTY(goodrelation_prestige_clear_union_sphere); fixed_point_t PROPERTY(goodrelation_militancy_clear_union_sphere); fixed_point_t PROPERTY(peace_cost_clear_union_sphere); fixed_point_t PROPERTY(good_peace_refusal_militancy); fixed_point_t PROPERTY(good_peace_refusal_warexh); fixed_point_t PROPERTY(peace_cost_gunboat); fixed_point_t PROPERTY(infamy_gunboat); fixed_point_t PROPERTY(breaktruce_infamy_gunboat); fixed_point_t PROPERTY(breaktruce_prestige_gunboat); fixed_point_t PROPERTY(breaktruce_militancy_gunboat); fixed_point_t PROPERTY(goodrelation_infamy_gunboat); fixed_point_t PROPERTY(goodrelation_prestige_gunboat); fixed_point_t PROPERTY(goodrelation_militancy_gunboat); fixed_point_t PROPERTY(cb_generation_base_speed); fixed_point_t PROPERTY(cb_generation_speed_bonus_on_colony_competition); fixed_point_t PROPERTY(cb_generation_speed_bonus_on_colony_competition_troops_presence); fixed_point_t PROPERTY(make_cb_relation_limit); fixed_point_t PROPERTY(cb_detection_chance_base); fixed_point_t PROPERTY(investment_influence_defense); fixed_point_t PROPERTY(relation_influence_modifier); fixed_point_t PROPERTY(on_cb_detected_relation_change); fixed_point_t PROPERTY(gw_intervene_min_relations); fixed_point_t PROPERTY(gw_intervene_max_exhaustion); fixed_point_t PROPERTY(gw_justify_cb_badboy_impact); fixed_point_t PROPERTY(gw_cb_construction_speed); fixed_point_t PROPERTY(gw_wargoal_jingoism_requirement_mod); fixed_point_t PROPERTY(gw_warscore_cost_mod); fixed_point_t PROPERTY(gw_warscore_cost_mod_2); fixed_point_t PROPERTY(gw_warscore_2_threshold); fixed_point_t PROPERTY(tension_decay); fixed_point_t PROPERTY(tension_from_cb); fixed_point_t PROPERTY(tension_from_movement); fixed_point_t PROPERTY(tension_from_movement_max); fixed_point_t PROPERTY(at_war_tension_decay); fixed_point_t PROPERTY(tension_on_cb_discovered); fixed_point_t PROPERTY(tension_on_revolt); fixed_point_t PROPERTY(tension_while_crisis); Timespan PROPERTY(crisis_cooldown_duration); fixed_point_t PROPERTY(crisis_base_chance); fixed_point_t PROPERTY(crisis_temperature_increase); fixed_point_t PROPERTY(crisis_offer_diplomatic_cost); fixed_point_t PROPERTY(crisis_offer_relation_on_accept); fixed_point_t PROPERTY(crisis_offer_relation_on_decline); fixed_point_t PROPERTY(crisis_did_not_take_side_prestige_factor_base); fixed_point_t PROPERTY(crisis_did_not_take_side_prestige_factor_year); fixed_point_t PROPERTY(crisis_winner_prestige_factor_base); fixed_point_t PROPERTY(crisis_winner_prestige_factor_year); fixed_point_t PROPERTY(crisis_winner_relations_impact); fixed_point_t PROPERTY(back_crisis_diplomatic_cost); fixed_point_t PROPERTY(back_crisis_relation_on_accept); fixed_point_t PROPERTY(back_crisis_relation_on_decline); fixed_point_t PROPERTY(crisis_temperature_on_offer_decline); fixed_point_t PROPERTY(crisis_temperature_participant_factor); fixed_point_t PROPERTY(crisis_temperature_on_mobilize); fixed_point_t PROPERTY(crisis_wargoal_infamy_mult); fixed_point_t PROPERTY(crisis_wargoal_prestige_mult); fixed_point_t PROPERTY(crisis_wargoal_militancy_mult); fixed_point_t PROPERTY(crisis_interest_war_exhaustion_limit); fixed_point_t PROPERTY(rank_1_tension_decay); fixed_point_t PROPERTY(rank_2_tension_decay); fixed_point_t PROPERTY(rank_3_tension_decay); fixed_point_t PROPERTY(rank_4_tension_decay); fixed_point_t PROPERTY(rank_5_tension_decay); fixed_point_t PROPERTY(rank_6_tension_decay); fixed_point_t PROPERTY(rank_7_tension_decay); fixed_point_t PROPERTY(rank_8_tension_decay); fixed_point_t PROPERTY(tws_fulfilled_speed); fixed_point_t PROPERTY(tws_not_fulfilled_speed); Timespan PROPERTY(tws_grace_period_days); fixed_point_t PROPERTY(tws_cb_limit_default); fixed_point_t PROPERTY(tws_fulfilled_idle_space); size_t PROPERTY(tws_battle_min_count); fixed_point_t PROPERTY(tws_battle_max_aspect); fixed_point_t PROPERTY(large_population_influence_penalty); fixed_point_t PROPERTY(lone_backer_prestige_factor); DiplomacyDefines(); std::string_view get_name() const; NodeTools::node_callback_t expect_defines(); }; }