commit f80644285e3d7c2fb995114cd0fa3feb6a99bcb0 Author: Ваше имя Date: Sat Oct 17 14:54:36 2026 +0300 Initial commit diff --git a/.metadata/metadata.json b/.metadata/metadata.json new file mode 100644 index 0000000..0ee2a7a --- /dev/null +++ b/.metadata/metadata.json @@ -0,0 +1,15 @@ +{ + "name": "Control", + "id": "control.europa_governance", + "version": "1", + "supported_game_version": "1.4.*", + "short_description": "Control: reworks internal governance in Europa Universalis V. Adds the Bureaucrats estate with its own privileges, a bureaucracy system, and a chain of administrative buildings (Capitol, Town Hall, Trade Exchange, Construction Ministry) unlocked by advances.", + "tags": [ + "Advancements", + "Alternative history", + "Balance", + "Characters" + ], + "relationships": [], + "game_custom_data": {} +} \ No newline at end of file diff --git a/.metadata/thumbnail.png b/.metadata/thumbnail.png new file mode 100644 index 0000000..e71667e Binary files /dev/null and b/.metadata/thumbnail.png differ diff --git a/in_game/common/advances/0_age_of_discovery.txt b/in_game/common/advances/0_age_of_discovery.txt new file mode 100644 index 0000000..f173e4c --- /dev/null +++ b/in_game/common/advances/0_age_of_discovery.txt @@ -0,0 +1,641 @@ +##################################### +# Public Health (always-available free tree) +##################################### +surgery_advance = { + age = age_3_discovery + icon = alchemy_advance + + global_life_expectancy = 3 + global_disease_resistance = 0.05 + + depth = 0 +} + +##################################### +# New World +##################################### +new_world_advance = { + age = age_3_discovery + + + depth = 0 + + allow = { has_embraced_institution = institution:new_world } + + exploration_preparation_time_modifier = -0.05 + colonial_range = 600 + diplomatic_range_modifier = 0.10 + + ai_preference_tags = { + exploration + } +} + +explorer_commisions_advance = { + age = age_3_discovery + icon = safe_exploration_techniques_advance + requires = new_world_advance + can_recruit_explorer = yes + ai_preference_tags = { + exploration + } +} + + +open_sea_exploration = { + age = age_3_discovery + icon = maritime_advance_age_4 + requires = explorer_commisions_advance + allow_open_sea_exploration = yes + colonial_range = 1500 + ai_preference_tags = { + exploration + } +} + + + + + + +repair_at_sea_aod = { + age = age_3_discovery + icon = rudimentary_coastal_ship_repair + + requires = explorer_commisions_advance + + ship_repair_at_sea_to_max_strength = 0.1 +} + +merchant_power_from_maritime_discovery_advance = { + age = age_3_discovery + icon = merchant_power_from_maritime_reformation_advance + + merchant_power_from_maritime = 0.025 + + requires = open_sea_exploration + +} +maritime_decay_advance_disc = { + icon = letters_of_marque + age = age_3_discovery + + requires = merchant_power_from_maritime_discovery_advance + global_maritime_presence_decay = -0.001 +} + + + +colonial_charters = { + age = age_3_discovery + icon = colonies + + requires = new_world_advance + colonial_migration_size_modifier = 0.25 + create_colonial_charter_cost_modifier = -0.2 + colonial_maintenance_efficiency = 0.40 + + ai_preference_tags = { + exploration + } +} + + +colonial_policy_advance = { + age = age_3_discovery + requires = colonial_charters + + unlock_law = colonial_policy +} + + +maritime_advance_age_3 = { + age = age_3_discovery + icon = maritime_advance_age_4 + + requires = colonial_charters + + global_maritime_presence_modifier = 0.1 + num_naval_governors = 1 +} + +trade_range_advance_age_3 = { + age = age_3_discovery + icon = ship_building_advance + requires = maritime_advance_age_3 + + trade_range = 250 +} + + +coastal_trade_routes_advance = { + age = age_3_discovery + icon = safe_exploration_techniques_advance + + requires = maritime_advance_age_3 + + sea_cost_on_distance_from_capital_when_maritime = -0.5 +} + + + + +ship_building_techniques_discovery = { + age = age_3_discovery + icon = rudimentary_coastal_ship_repair + + requires = merchant_power_from_maritime_discovery_advance + + ship_build_speed = 0.2 + +} + +port_cost_distance_from_capital_advance = { + icon = global_trade_routes_advance + age = age_3_discovery + requires = ship_building_techniques_discovery + + port_cost_distance_from_capital = -5 +} + + + +exploration_maintenance_advance = { + age = age_3_discovery + icon = maritime_advance_age_4 + + requires = maritime_advance_age_3 + exploration_maintenance_efficiency = 0.20 + ai_preference_tags = { + exploration + } +} + + + +native_policy_advance = { + age = age_3_discovery + requires = open_sea_exploration + + unlock_law = native_policy +} + +beat_to_windward_advance = { + age = age_3_discovery + icon = new_world_advance + + requires = new_world_advance + + exploration_mission_speed = 0.1 + ai_preference_tags = { + exploration + } +} + + + +plantation_buildings_advance = { + age = age_3_discovery + + requires = colonial_charters + unlock_building = sugar_plantation + unlock_building = tobacco_plantation + unlock_building = cotton_plantation + + ai_preference_tags = { + exploration + } +} + + +naval_ambitions = { + age = age_3_discovery + icon = safe_exploration_techniques_advance + + requires = colonial_policy_advance + naval_range = 250 + + ai_preference_tags = { + exploration + } +} + + +diplomatic_range_age_2 = { + age = age_3_discovery + icon = diplomatic_range_age_1 + requires = naval_ambitions + diplomatic_range_modifier = 0.25 +} + +construction_speed_discovery = { + icon = rudimentary_coastal_ship_repair + age = age_3_discovery + global_construction_speed = 0.1 + + requires = surgery_advance +} + + +##################################### +# Printing Press +##################################### + +printing_press_advance = { + age = age_3_discovery + icon = printing_press_advance + + global_max_literacy = 5 + + depth = 0 + allow = { has_embraced_institution = institution:printing_press } +} + +spy_construction_discovery = { + age = age_3_discovery + icon = efficient_spies + requires = printing_press_advance + + spy_network_construction = 0.1 +} + +diplomatic_training = { + age = age_3_discovery + icon = scholasticism + + monthly_diplomats = 0.1 + + requires = spy_construction_discovery +} + +formalized_relations = { + age = age_3_discovery + icon = diplomatic_range_age_1 + + diplomatic_capacity = 1 + + requires = printing_press_advance +} + +faceting = { + age = age_3_discovery + icon = improve_relation_impact_renaissance + + global_jewelry_output_modifier = 0.1 + + requires = formalized_relations +} + + +print_culture = { + icon = printing_press_advance + age = age_3_discovery + + requires = formalized_relations + + global_institution_growth_modifier = 0.20 +} + + +artists_advance_discovery = { + age = age_3_discovery + icon = renaissance_advance + requires = faceting + skill_of_new_artists = 0.1 +} + +improved_book_binding = { + age = age_3_discovery + icon = scholasticism + requires = print_culture + global_books_output_modifier = 0.25 +} + + +regulate_court_procedures = { + age = age_3_discovery + icon = genoese_banking_traditions + court_spending_efficiency = 0.1 + + requires = surgery_advance +} + +crown_power_advance_discovery = { + age = age_3_discovery + icon = crown_power_advance_renaissance + global_crown_estate_power = 0.10 + + requires = regulate_court_procedures +} + +government_size_discovery = { + icon = government_size + age = age_3_discovery + + government_size = 1 + + requires = crown_power_advance_discovery +} + +town_rights_aod_advance = { + age = age_3_discovery + icon = town_rights_advance + requires = government_size_discovery + capital_possible_town_rights = 1 +} + + + +trade_through_owned_disc_advance = { + icon = colonies + age = age_3_discovery + global_trade_through_owned_territory_efficiency = 0.2 + + in_tree_of = surgery_advance +} + +lazaretto_advance = { + age = age_3_discovery + unlock_building = lazaretto + + requires = trade_through_owned_disc_advance + +} + +naval_morale_advance_2 = { + age = age_3_discovery + icon = global_trade_routes_advance + + requires = lazaretto_advance + + naval_morale = 0.25 +} + +basic_financial_instruments = { + age = age_3_discovery + icon = smooth_administration + global_merchant_power = 0.2 + + requires = lazaretto_advance +} + +hire_artist_cost_modifier_advance_disc = { + icon = cultural_ties_culture + age = age_3_discovery + hire_artist_cost_modifier = -0.05 + + requires = basic_financial_instruments +} + +gov_reform_discovery_a = { + icon = government_size + age = age_3_discovery + government_reform_slots = 1 + + requires = hire_artist_cost_modifier_advance_disc +} + + +rural_rgo_disc_advance = { + icon = efficient_mining + age = age_3_discovery + global_max_rgo_size_modifier_in_rural = 0.2 + + requires = basic_financial_instruments +} + + +power_projection_advance_4 = { + age = age_3_discovery + icon = crown_power_advance_renaissance + power_projection = 5 + + requires = government_size_discovery +} + +##################################### +# Pike and Shot +##################################### +pike_and_shot_advance = { + age = age_3_discovery + icon = pike_and_shot_advance + + land_morale = 0.25 + depth = 0 + ai_weight = { add = 100 } + + allow = { has_embraced_institution = institution:pike_and_shot } +} + +matchlock_gun = { + icon = supply_depot_advance_age_3_discovery + age = age_3_discovery + requires = pike_and_shot_advance + + global_fur_output_modifier = 0.1 + global_wild_game_output_modifier = 0.1 +} + + + +supply_depot_advance_age_3_discovery = { + age = age_3_discovery + icon = global_supply_limit_modifier_advance_5 + + supply_depot_capacity = 500 + + requires = pike_and_shot_advance +} + +regiment_reinforcement_speed_discovery = { + age = age_3_discovery + icon = glorious_arms + + requires = supply_depot_advance_age_3_discovery + regiment_reinforcement_speed = 0.1 +} + + +correct_box_advance_discovery = { + age = age_3_discovery + icon = expansionism + + correct_box_chance = 0.1 + + requires = matchlock_gun +} + +pike_square = { + age = age_3_discovery + icon = drill_army_advance + + requires = matchlock_gun + + military_tactics = 0.25 + + ai_weight = { add = 20 } +} + + + +supply_lines = { + icon = maritime_advance_age_2 + age = age_3_discovery + + requires = pike_square + army_logistics_distance = 25 +} + + +land_morale_attrition_cost_advance = { + icon = defensive_army_attrition + age = age_3_discovery + requires = supply_lines + + land_morale_attrition_cost = -0.002 +} + + +linked_armies_advance = { + age = age_3_discovery + icon = expansionism + + requires = land_morale_attrition_cost_advance + + movement_speed_when_attached_to_another_unit = -0.1 +} + + +land_morale_movement_cost_advance_disc = { + icon = expansionism + age = age_3_discovery + + + requires = linked_armies_advance + + land_morale_movement_cost = -0.0001 +} + +new_world_crops = { + age = age_3_discovery + icon = expanded_supply_trains + + requires = construction_speed_discovery + global_monthly_food_modifier = 0.10 +} + +rgo_size_advance_discovery = { + age = age_3_discovery + icon = efficient_mining + + global_max_rgo_size_modifier = 0.10 + + requires = trade_range_advance_age_3 +} + +patio_process_advance = { + age = age_3_discovery + + unlock_building = mercury_patio + + ai_weight = { + if = { + limit = { + OR = { + produced_in_country:goods_gold > 0 + produced_in_country:silver > 0 + } + } + add = 200 + } + } + + requires = rgo_size_advance_discovery +} + +town_rights_enable = { + age = age_3_discovery + icon = town_rights_advance + requires = town_rights_aod_advance + + unlock_town_rights = royal_tooling_rights + unlock_town_rights = royal_jewelry_rights + unlock_town_rights = royal_naval_rights + unlock_town_rights = royal_textile_rights + unlock_town_rights = royal_weaponry_rights + unlock_town_rights = royal_book_rights + unlock_town_rights = royal_artisan_rights + unlock_town_rights = royal_brewing_rights + unlock_town_rights = royal_masonry_rights + + ai_weight = { + add = 100 + multiply = num_of_non_rural + divide = num_locations + } +} + + + +rgo_logistics_discovery = { + icon = efficient_mining + age = age_3_discovery + + requires = repair_at_sea_aod + + raw_material_in_province_impact = 0.025 +} + +green_vitriol = { + age = age_3_discovery + icon = new_world_advance + + requires = rgo_logistics_discovery + + global_alum_output_modifier = 0.1 +} + +pop_promotion_speed_age_3 = { + age = age_3_discovery + icon = cultural_acceptance_advance + + requires = new_world_crops + + global_pop_promotion_speed_modifier = 0.1 +} + +blast_furnace = { + age = age_3_discovery + icon = serbian_mining + + requires = plantation_buildings_advance + + global_iron_output_modifier = 0.75 +} + +saiger_process_discovery = { + age = age_3_discovery + icon = serbian_mining + + global_silver_output_modifier = 0.2 + global_lead_output_modifier = 0.2 + + requires = blast_furnace +} + +new_currency_demands = { + icon = debt_and_loans + age = age_3_discovery + + global_copper_output_modifier = 0.25 + global_tin_output_modifier = 0.1 + + requires = blast_furnace +} + +lumber_improvements_discovery = { + icon = lumber_improvements_absolutism + age = age_3_discovery + requires = improved_book_binding + global_lumber_output_modifier = 0.50 +} diff --git a/in_game/common/advances/0_age_of_renaissance.txt b/in_game/common/advances/0_age_of_renaissance.txt new file mode 100644 index 0000000..d8bf767 --- /dev/null +++ b/in_game/common/advances/0_age_of_renaissance.txt @@ -0,0 +1,590 @@ +##################################### +# Renaissance +##################################### +renaissance_advance = { + age = age_2_renaissance + icon = renaissance_advance + + cultural_influence_modifier = 0.05 + + depth = 0 + + allow = { has_embraced_institution = institution:renaissance } + +} + +patron_of_art = { + age = age_2_renaissance + + requires = renaissance_advance + + has_cultural_maintenance = yes + num_possible_artists = 1 + work_of_art_sell_value_modifier = 0.1 + + unlock_interaction = commission_art +} + +renaissance_sculptures = { + icon = renaissance_advance + age = age_2_renaissance + + requires = patron_of_art + + global_stone_output_modifier = 0.1 +} + +renaissance_thought = { + age = age_2_renaissance + + government_reform_slots = 1 + requires = renaissance_advance +} + +government_size_renaissance = { + age = age_2_renaissance + + government_size = 1 + + requires = renaissance_thought + ai_weight = { add = 2 } +} + +chancery_records = { + age = age_2_renaissance + icon = smooth_administration + chancery_cap_level = 1 + requires = government_size_renaissance + allow_children = no +} + +crown_power_advance_renaissance = { + age = age_2_renaissance + icon = crown_power_advance_renaissance + + global_crown_estate_power = 0.10 + ai_weight = { add = 2 } + requires = government_size_renaissance +} + +renaissance_court = { + age = age_2_renaissance + icon = scholasticism + + cultural_influence_modifier = 0.10 + cultural_tradition_modifier = 0.10 + + requires = crown_power_advance_renaissance +} + +power_projection_advance_2 = { + age = age_2_renaissance + + requires = renaissance_court + + power_projection = 5 +} + + +anatomy_advance = { + age = age_2_renaissance + global_life_expectancy = 2 + global_disease_resistance = 0.03 + + requires = power_projection_advance_2 +} + +vibrant_court_advance = { + age = age_2_renaissance + icon = cultural_acceptance_advance + cultures_capacity = 1 + requires = renaissance_court + ai_weight = { add = 2 } +} + + + +##################################### +# Banking +##################################### + + +banking_advance = { + age = age_2_renaissance + icon = banking_advance + + bank_interest = -0.02 + + total_loan_capacity_modifier = 0.5 + can_sell_bonds = yes + + depth = 0 + + allow = { has_embraced_institution = institution:banking } +} + +merchants_and_trade = { + age = age_2_renaissance + icon = global_trade_routes_advance + + requires = banking_advance + + naval_range = 250 + trade_range = 250 + colonial_range = 250 + + ai_preference_tags = { + exploration + } +} + +standardized_coins = { + age = age_2_renaissance + icon = standardized_coins + + minting_inflation_threshold = 0.01 + + ai_weight = { add = 1 } + + requires = banking_advance +} + +pop_promotion_speed_age_2 = { + age = age_2_renaissance + icon = improved_foraging + + requires = standardized_coins + + global_pop_promotion_speed_modifier = 0.1 +} + +trade_range_advance_age_2 = { + age = age_2_renaissance + icon = zmw_merchant_taxes + + requires = standardized_coins + + trade_range = 250 +} + +rudimentary_coastal_ship_repair = { + age = age_2_renaissance + icon = rudimentary_coastal_ship_repair + + requires = merchants_and_trade + + ship_repair_at_sea = 0.025 + ship_repair_at_sea_to_max_strength = 0.3 +} + +maritime_advance_age_2 = { + age = age_2_renaissance + icon = maritime_advance_age_2 + + requires = trade_range_advance_age_2 + + global_maritime_presence_modifier = 0.1 +} + +diplomatic_range_age_1 = { + age = age_2_renaissance + icon = diplomatic_range_age_1 + + requires = merchants_and_trade + + diplomatic_range_modifier = 0.25 +} + +spy_construction_renaissance = { + age = age_2_renaissance + + requires = pop_promotion_speed_age_2 + + spy_network_construction = 0.1 +} + +rebellion_support = { + icon = zakah + age = age_2_renaissance + requires = spy_construction_renaissance + + unlock_diplomacy = { supportrebels } +} + +route_to_the_indies_advance = { + age = age_2_renaissance + + requires = merchants_and_trade + + exploration_preparation_time_modifier = -0.1 + + potential = { + original_capital ?= { sub_continent = sub_continent:western_europe } + } +} + +pound_lock_canals_advance = { + age = age_2_renaissance + + requires = maritime_advance_age_2 + + starting_technology_level = 3 + unlock_building = pound_lock_canal_infrastructure +} + +expanded_aqueduct_system = { + age = age_2_renaissance + + potential = { + OR = { + has_or_had_tag = BYZ + has_or_had_tag = ROM + } + } + + aqueduct_system_max_level = 1 + requires = pound_lock_canals_advance +} + +############################### +# Professional Armies +############################### +professional_armies_advance = { + age = age_2_renaissance + icon = professional_armies_advance + + army_maintenance_efficiency = 0.20 + + depth = 0 + ai_weight = { add = 100 } + + allow = { has_embraced_institution = institution:professional_armies } +} + +gunpowder_advance = { + age = age_2_renaissance + icon = gunpowder_advance + + military_tactics = 0.25 + ai_weight = { add = 20 } + + requires = professional_armies_advance +} + +recruitment_improvements_renaissance = { + age = age_2_renaissance + icon = recruitment_improvements_renaissance + + requires = professional_armies_advance + + regiment_recruit_speed = 0.2 +} + +drill_army_advance = { + age = age_2_renaissance + icon = drill_army_advance + + unlock_ability = drill_army + + requires = recruitment_improvements_renaissance +} + +regiment_reinforcement_speed_renaissance = { + age = age_2_renaissance + icon = regiment_reinforcement_speed_renaissance + + requires = recruitment_improvements_renaissance + + regiment_reinforcement_speed = 0.1 +} + + +supply_depot_advance_age_2_renaissance = { + age = age_2_renaissance + + supply_depot_capacity = 500 + + requires = regiment_reinforcement_speed_renaissance +} + +correct_box_advance_renaissance = { + age = age_2_renaissance + + correct_box_chance = 0.1 + + requires = gunpowder_advance +} + +########################### +# The always allow tree +############################## +renaissance_development = { + age = age_2_renaissance + icon = offensive_army + + embrace_institution_cost_modifier = -0.10 + revoke_privilege_cost_modifier = -0.05 + + depth = 0 +} + + +improve_relation_impact_renaissance = { + age = age_2_renaissance + icon = court_accounting + + requires = renaissance_development + + improve_relation_impact = 0.10 + + ai_weight = { + if = { + limit = { + root = { + subjects_relative_power > 0.25 + } + } + add = 1 + } + } +} + +late_feudal_relations = { + age = age_2_renaissance + icon = late_feudal_relations + + requires = improve_relation_impact_renaissance + + subject_loyalty = 5 + + ai_weight = { + if = { + limit = { + root = { + subjects_relative_power > 0.25 + } + } + add = 1 + } + } +} + +medieval_military = { + age = age_2_renaissance + land_morale = 0.25 + ai_weight = { add = 20 } + + requires = late_feudal_relations +} + +naval_morale_advance_1 = { + age = age_2_renaissance + + naval_morale = 0.25 + + requires = late_feudal_relations +} + + + +renaissance_subject_opinions_advance = { + age = age_2_renaissance + + requires = late_feudal_relations + + subject_opinions = 10 + + ai_weight = { + if = { + limit = { + root = { + subjects_relative_power > 0.25 + } + } + add = 1 + } + } +} + + + + +grant_privilege_cost_modifier_renaissance_advance = { + age = age_2_renaissance + requires = renaissance_development + + grant_privilege_cost_modifier = -0.1 +} + +rgo_size_advance_renaissance = { + age = age_2_renaissance + + requires = grant_privilege_cost_modifier_renaissance_advance + + global_max_rgo_size_modifier = 0.10 +} + +food_advance_renaissance = { + age = age_2_renaissance + icon = expanded_supply_trains + + requires = rgo_size_advance_renaissance + + global_monthly_food_modifier = 0.10 +} + +war_no_cb_cost_modifier_renaissance_advance = { + age = age_2_renaissance + icon = expansionism + requires = grant_privilege_cost_modifier_renaissance_advance + + war_no_cb_cost_modifier = -0.1 +} + + + +global_nobles_max_literacy_advance = { + age = age_2_renaissance + requires = renaissance_subject_opinions_advance + + global_nobles_max_literacy = 7.5 +} + +global_burghers_max_literacy_advance = { + age = age_2_renaissance + requires = food_advance_renaissance + + global_burghers_max_literacy = 7.5 +} + + +global_clergy_max_literacy_advance = { + age = age_2_renaissance + requires = food_advance_renaissance + + global_clergy_max_literacy = 7.5 +} + + +land_morale_recovery_renaissance_advance = { + icon = offensive_army + age = age_2_renaissance + + land_morale_recovery = 0.01 + + requires = medieval_military +} + + +merchant_power_from_maritime_renaissance_advance = { + age = age_2_renaissance + icon = global_trade_routes_advance + + merchant_power_from_maritime = 0.025 + + requires = global_burghers_max_literacy_advance +} + + + +renaissance_urbanisation = { + age = age_2_renaissance + requires = food_advance_renaissance + + + global_max_rgo_size_modifier_in_non_rural = 0.1 +} + + +renaissance_city_rights = { + icon = religious_toleration + age = age_2_renaissance + requires = renaissance_urbanisation + + megalopolis_upgrade_cost_modifier = -0.1 + city_upgrade_cost_modifier = -0.1 + town_upgrade_cost_modifier = -0.1 +} + + +blockade_tactics = { + age = age_2_renaissance + requires = naval_morale_advance_1 + + blockade_efficiency = 0.1 +} + +recovery_efforts = { + icon = offensive_army + age = age_2_renaissance + + requires = blockade_tactics + + + global_devastation_recovery = 0.005 +} + + + +naval_initiative_ren = { + age = age_2_renaissance + icon = ship_building_advance + + requires = blockade_tactics + + navy_initiative = 0.2 +} + + +army_initiative_ren = { + icon = professional_armies_advance + age = age_2_renaissance + + requires = land_morale_recovery_renaissance_advance + + army_initiative = 0.2 +} + + +law_making_renaissance = { + age = age_2_renaissance + + requires = recovery_efforts + + change_policy_cost_modifier = -0.05 +} + +subject_integration = { + icon = glorious_arms + age = age_2_renaissance + + requires = renaissance_subject_opinions_advance + + diplomatic_annexation_efficiency = 0.2 +} + +rgo_construction_ren = { + age = age_2_renaissance + icon = efficient_mining + + requires = law_making_renaissance + + global_rgo_build_time = -0.1 +} + +naval_repair_ren = { + icon = rudimentary_coastal_ship_repair + age = age_2_renaissance + + requires = naval_initiative_ren + + navy_repair_efficiency = 0.10 +} + +construction_speed_renaissance = { + icon = efficient_mining + age = age_2_renaissance + global_construction_speed = 0.1 + requires = rgo_construction_ren +} + \ No newline at end of file diff --git a/in_game/common/advances/0_age_of_traditions.txt b/in_game/common/advances/0_age_of_traditions.txt new file mode 100644 index 0000000..d0c98c7 --- /dev/null +++ b/in_game/common/advances/0_age_of_traditions.txt @@ -0,0 +1,653 @@ +# starting_technology_level is only relevant in age of traditions, where advances with higher value than the countries value starts as unresearched + +#Written Alphabet +written_alphabet = { + age = age_1_traditions + icon = abacus_advance + depth = 0 + research_cost = 2.0 + + + global_max_literacy = 2.5 + global_monthly_literacy = 0.01 + + starting_technology_level = 2 + +} + +cultural_traditions_law_advance = { + age = age_1_traditions + requires = written_alphabet + unlock_law = cultural_traditions_law + starting_technology_level = 2 +} + +cultural_acceptance_advance = { + age = age_1_traditions + icon = cultural_acceptance_advance + cultures_capacity = 1 + starting_technology_level = 3 + requires = cultural_traditions_law_advance +} + +mapmaking = { + age = age_1_traditions + icon = maritime_advance_age_4 + requires = written_alphabet + + research_cost = 1.0 + may_explore = yes + unlock_law = immigration_law +} + +colonies = { + age = age_1_traditions + icon = colonies + requires = mapmaking + + research_cost = 1.0 + can_colonize = yes +} + +codified_laws = { + age = age_1_traditions + icon = scholasticism + + requires = written_alphabet + + research_cost = 2.0 + has_codified_laws = yes + allow_council_parliament = yes + + starting_technology_level = 2 +} + +distribution_of_power_advance = { + age = age_1_traditions + unlock_law = distribution_of_power_law + + requires = codified_laws +} + +subjects_advance = { + age = age_1_traditions + icon = diplomatic_influence + research_cost = 2.5 + + allow_subjects = yes + unlock_subject_type = vassal + + requires = codified_laws +} + +taxation_advance = { + age = age_1_traditions + icon = genoese_banking_traditions + research_cost = 2.5 + enable_taxation = yes + has_stability_investment = yes + + unlock_law = coin_laws + + requires = codified_laws +} + +state_administration_advance = { + age = age_1_traditions + research_cost = 2.5 + unlock_law = administrative_system + + requires = taxation_advance + + potential = { + has_tribal_government = no + } +} + +##################################### +# Legalism +##################################### +legalism_advance = { + age = age_1_traditions + icon = legalism_advance + + stability_cost_efficiency = 0.2 + + requires = codified_laws + + allow = { has_embraced_institution = institution:legalism } +} + + +medieval_administration = { + age = age_1_traditions + icon = scholasticism + + requires = legalism_advance + + government_reform_slots = 1 +} + +pest_house_advance = { + age = age_1_traditions + requires = medieval_administration + unlock_building = pest_house +} + +banking_country_traditions = { + potential = { + has_reform =government_reform:banking_country + } + + age = age_1_traditions + icon = banking_advance + + + unlock_country_interaction = take_over_loan + minting_income_factor = 0.10 + total_loan_capacity_modifier = 0.5 + + requires = medieval_administration + +} + +hospital_advance = { + age = age_1_traditions + requires = pest_house_advance + unlock_building = hospital +} + +#Agriculture +agriculture_advance = { + age = age_1_traditions + research_cost = 2.0 + can_extract_wheat = yes + can_extract_maize = yes + can_extract_potato = yes + can_extract_rice = yes + can_extract_millet = yes + can_extract_legumes = yes + + depth = 0 + + starting_technology_level = 1 +} + +windmills_advance = { + age = age_1_traditions + unlock_building = windmill + requires = agriculture_advance +} + +aqueduct_system = { + age = age_1_traditions + + potential = { + OR = { + has_or_had_tag = BYZ + has_or_had_tag = ROM + } + } + + unlock_building = aqueduct_system + requires = agriculture_advance +} + +alchemy_advance = { + age = age_1_traditions + icon = alchemy_advance + requires = windmills_advance + + global_life_expectancy = 2 + global_disease_resistance = 0.03 + + starting_technology_level = 3 +} + +apothecary_advance = { + age = age_1_traditions + requires = alchemy_advance + + unlock_building = apothecary +} + +city_building_advance = { + age = age_1_traditions + icon = city_building_advance + research_cost = 2.0 + can_build_cities = yes + can_grant_town_rights = yes + + requires = agriculture_advance +} + + + +ranching = { + age = age_1_traditions + icon = finest_of_horses + starting_technology_level = 1 + requires = windmills_advance + + allow = { + OR = { + has_embraced_institution = institution:feudalism + original_capital ?= { continent = continent:europe } + original_capital ?= { continent = continent:asia } + original_capital ?= { sub_continent = sub_continent:north_africa } + original_capital ?= { sub_continent = sub_continent:west_africa } + + original_capital ?= { + market ?= { + OR = { + is_produced_in_market = goods:horses + is_traded_in_market = goods:horses + } + } + } + } + } + can_extract_horses = yes +} + +horse_riding_advance = { + age = age_1_traditions + research_cost = 2.0 + requires = ranching + + unlock_levy = levy_noble_cavalry + unlock_levy = levy_tribal_cavalry + + + starting_technology_level = 1 +} + +##################################### +# Feudalism +##################################### + +feudalism_advance = { + age = age_1_traditions + icon = feudalism_advance + + unlock_subject_type = fiefdom + unlock_government_reform = feudal_nobility + unlock_government_reform = margraviate + requires = horse_riding_advance + + global_nobles_max_literacy = 20 + allow_estate_parliament = yes + military_tactics = 1.0 # WAD, decision by johan + ai_weight = { add = 20 } + + allow = { has_embraced_institution = institution:feudalism } +} + +trade_caravans = { + age = age_1_traditions + icon = trade_caravans + research_cost = 2.0 + + requires = horse_riding_advance + + trade_land_efficiency = medium_trade_land_efficiency_bonus + + potential = { + original_capital ?= { sub_continent = sub_continent:central_asia } + } + + starting_technology_level = 1 +} + +#Mining +mining_advance = { + age = age_1_traditions + icon = efficient_mining + + starting_technology_level = 1 + depth = 0 + research_cost = 2.0 + can_extract_stone = yes + can_extract_marble = yes +} + +metallurgy = { + age = age_1_traditions + + requires = mining_advance + research_cost = 2.0 + + unlock_building = tools_guild + +} + +mining_law_advance = { + age = age_1_traditions + icon = laws + requires = mining_advance + starting_technology_level = 1 + + unlock_law = mining_law +} + +bronze_working = { + age = age_1_traditions + icon = serbian_mining + requires = metallurgy + research_cost = 2.0 + + can_extract_copper = yes + can_extract_tin = yes + can_extract_lead = yes + +} + +iron_working = { + icon = efficient_mining + age = age_1_traditions + requires = metallurgy + research_cost = 2.0 + starting_technology_level = 1 + + allow = { + has_embraced_institution = institution:feudalism + } + + can_extract_coal = yes + can_extract_iron = yes + unlock_building = bog_iron_smelter +} + +local_smelters_advance = { + age = age_1_traditions + requires = iron_working + unlock_building = local_smelters +} + +advanced_mining = { + age = age_1_traditions + icon = serbian_mining + requires = iron_working + research_cost = 2.0 + + can_extract_saltpeter = yes + can_extract_alum = yes + +} + +fine_metals_mining = { + age = age_1_traditions + requires = bronze_working + research_cost = 2.0 + + can_extract_goods_gold = yes + can_extract_silver = yes + can_extract_mercury = yes +} + +faster_levy_recruitment = { + age = age_1_traditions + icon = offensive_army + requires = iron_working + + global_levy_recruitment_speed_modifier = 0.2 +} + +#Shipbuilding +ship_building_advance = { + age = age_1_traditions + icon = ship_building_advance + research_cost = 2.0 + + ship_build_speed = 0.1 + depth = 0 + + starting_technology_level = 2 +} + +trade_advance_age_of_trad = { + age = age_1_traditions + icon = merchant_power_from_maritime_reformation_advance + + requires = ship_building_advance + + selling_efficiency = small_trade_efficiency_bonus + + starting_technology_level = 3 +} + + + +more_merchants_age_of_trad = { + age = age_1_traditions + icon = merchants_and_trade + + requires = trade_advance_age_of_trad + + global_merchant_capacity_modifier = 0.05 + + starting_technology_level = 3 +} +slave_raid_advance = { + age = age_1_traditions + icon = slavery_before_death + + potential = { + OR = { + has_or_had_tag = MOR + has_or_had_tag = TUN + has_or_had_tag = TLE + has_or_had_tag = TRP + + AND = { + num_locations > 0 + capital = { region = region:maghreb_region } + } + } + + } + + allow_privateers_slave_raid = yes + can_hire_privateers = yes + + requires = trade_advance_age_of_trad +} + +#Organized Religion +organized_religion = { + age = age_1_traditions + + global_clergy_city_desired_pop = 0.05 + global_clergy_max_literacy = 5 + + depth = 0 + starting_technology_level = 4 + +} +scholasticism = { + age = age_1_traditions + icon = scholasticism + requires = organized_religion + + global_institution_growth_modifier = 0.20 + + ai_weight = { add = 2 } +} + +guilds = { + age = age_1_traditions + icon = guilds + requires = organized_religion + + global_burghers_city_desired_pop = 0.1 + global_burghers_max_literacy = 5 +} + +peasant_connections_advance = { + age = age_1_traditions + icon = road_building + + requires = guilds + + food_purchase_efficiency = 0.2 +} + +construction_speed_traditions = { + age = age_1_traditions + icon = legalism_advance + + requires = peasant_connections_advance + global_construction_speed = 0.05 +} + +diplomatic_capacity_traditions = { + age = age_1_traditions + icon = diplomatic_influence + + requires = guilds + diplomatic_capacity_modifier = 0.2 +} + +rural_rgo_traditions = { + age = age_1_traditions + icon = laws + + requires = peasant_connections_advance + global_max_rgo_size_modifier_in_rural = 0.1 +} + + + +##################################### +# Meritocracy +##################################### + +meritocracy_advance = { + age = age_1_traditions + icon = meritocracy + + country_cabinet_efficiency = 0.05 + + depth = 0 + + + allow = { has_embraced_institution = institution:meritocracy } +} + +educated_bureaucrats = { + age = age_1_traditions + icon = scholasticism + requires = meritocracy_advance + + global_monthly_literacy = 0.01 +} + +efficient_bureaucracy = { + age = age_1_traditions + icon = scholasticism + requires = educated_bureaucrats + + legislative_efficiency = 0.05 + global_bureaucracy_maintenance_efficiency = 0.04 +} + +right_to_rule = { + age = age_1_traditions + icon = renaissance_advance + requires = efficient_bureaucracy + + num_possible_artists = 1 +} + +smooth_administration = { + age = age_1_traditions + icon = smooth_administration + requires = right_to_rule + + stability_cost_efficiency = 0.1 +} + +efficient_logistics = { + age = age_1_traditions + icon = road_building + requires = efficient_bureaucracy + + build_gravel_road_cost_modifier = -0.05 +} + +province_governors = { + age = age_1_traditions + icon = glorious_arms + requires = efficient_logistics + + global_integration_speed_modifier = 0.10 + subject_loyalty = 5 +} + +appointed_chain_of_command = { + age = age_1_traditions + icon = glorious_arms + requires = efficient_logistics + potential = { + original_capital ?= { sub_continent = sub_continent:east_asia } + } + + levy_combat_efficiency_modifier = 0.1 +} + +temporary_appointments = { + age = age_1_traditions + icon = genoese_banking_traditions + requires = efficient_bureaucracy + + set_cabinet_member_cost_modifier = -0.1 + replace_cabinet_member_cost_modifier = -0.1 +} + +non_inheritable_offices = { + age = age_1_traditions + icon = improve_relation_impact_renaissance + requires = temporary_appointments + + estate_power_from_cabinet = -0.1 +} + +abacus_advance = { + age = age_1_traditions + icon = abacus_advance + requires = meritocracy_advance + + tax_income_efficiency = small_tax_income_efficiency_bonus +} + +power_projection_advance_1 = { + age = age_1_traditions + icon = crown_power_advance_renaissance + requires = abacus_advance + power_projection = 10 +} + + +ledgers_double_checking = { + age = age_1_traditions + icon = court_accounting + requires = abacus_advance + + estate_enrichment = -0.05 +} + +talented_traders = { + age = age_1_traditions + icon = merchants_and_trade + requires = abacus_advance + + selling_efficiency = small_trade_efficiency_bonus +} + +government_sanctioned_celebrations = { + age = age_1_traditions + icon = grand_banquets + requires = educated_bureaucrats + + cultural_tradition_modifier = 0.1 +} \ No newline at end of file diff --git a/in_game/common/advances/4_choices_adm.txt b/in_game/common/advances/4_choices_adm.txt new file mode 100644 index 0000000..17ad349 --- /dev/null +++ b/in_game/common/advances/4_choices_adm.txt @@ -0,0 +1,446 @@ +############################ +# age_2_renaissance +############################ + +innovativeness = { + age = age_2_renaissance + icon = scholasticism + for = adm + + requires = pound_lock_canals_advance + + + global_max_literacy = 2.5 +} + +empiricism = { + age = age_2_renaissance + icon = scholasticism + for = adm + + requires = construction_speed_renaissance + + legislative_efficiency = 0.10 +} + + +court_accounting = { + age = age_2_renaissance + icon = court_accounting + for = adm + + requires = renaissance_thought + + court_spending_efficiency = 0.1 +} + + +debt_and_loans = { + age = age_2_renaissance + icon = debt_and_loans + for = adm + requires = counting_house_advance + + bank_interest = -0.01 + max_bonds = 1 +} + +benefits_for_mercenaries = { + age = age_2_renaissance + icon = regimental_system + for = adm + + requires = debt_and_loans + mercenary_maintenance_efficiency = 0.1 +} +organised_mercenary_recruitment = { + age = age_2_renaissance + icon = regimental_system + for = adm + + requires = benefits_for_mercenaries + hire_mercenary_premium_cost_modifier = -0.2 +} + +state_efficiency = { + age = age_2_renaissance + icon = road_building + for = adm + + + requires = subject_integration + global_distance_from_capital_speed_propagation = 0.1 +} + + +church_attendance_duty = { + age = age_2_renaissance + icon = smooth_administration + for = adm + + requires = global_clergy_max_literacy_advance + + stability_investment = small_stability_investment +} + +deus_vult = { + age = age_2_renaissance + icon = teu_crusader_discipline + for = adm + + requires = church_attendance_duty + ai_weight = { add = 160 } + + unlock_casus_belli = cb_deus_vult +} + +early_anti_piracy_warfare = { + age = age_2_renaissance + icon = expansionism + for = adm + + requires = recruitment_improvements_renaissance + + anti_piracy_warfare_modifier = 0.25 +} + + +############################ +# age_3_discovery 11/10 +############################ +dynamic_court = { + age = age_3_discovery + icon = scholasticism + for = adm + + country_cabinet_efficiency = 0.05 +} +missionary_schools = { + age = age_3_discovery + + for = adm + + global_pop_conversion_speed = 0.01 +} + +preaching_missions = { + age = age_3_discovery + icon = scholasticism + for = adm + + global_pop_assimilation_speed_modifier = 0.1 + global_pop_conversion_speed_modifier = 0.1 + +} +organised_construction = { + age = age_3_discovery + icon = renaissance_development + for = adm + + global_build_buildings_efficiency = 0.2 +} +organised_mercenary_payment = { + age = age_3_discovery + icon = regimental_system + for = adm + + hire_mercenary_premium_cost_modifier = -0.2 +} + +expansionism = { + age = age_3_discovery + icon = expansionism + for = adm + + global_integration_speed_modifier = 0.1 +} +faster_colonists = { + age = age_3_discovery + icon = colonies + for = adm + + colonial_migration_size_modifier = 0.25 + ai_preference_tags = { + exploration + } +} + +additional_merchants = { + age = age_3_discovery + icon = merchant_power_from_maritime_reformation_advance + for = adm + + global_merchant_capacity_modifier = 0.25 +} + + + +efficient_mining = { + age = age_3_discovery + icon = efficient_mining + for = adm + + expand_rgo_mining_cost_modifier = -0.1 + global_iron_output_modifier = 0.1 + global_copper_output_modifier = 0.1 +} + +efficient_construction_plans = { + age = age_3_discovery + for = adm + + global_urban_build_buildings_efficiency = 0.2 + +} + +############################ +# age_4_reformation 10/10 +############################ + +expanded_infrastructure_network = { + age = age_4_reformation + icon = road_building + for = adm + + global_road_building_time = -0.1 + build_gravel_road_cost_modifier = -0.1 + build_paved_road_cost_modifier = -0.1 + build_modern_road_cost_modifier = -0.1 +} + + + +divine_supremacy = { + age = age_4_reformation + for = adm + + global_pop_conversion_speed_modifier = 0.10 +} + +devoutness = { + age = age_4_reformation + icon = cultural_acceptance_advance + for = adm + + tolerance_own = 1 +} + +religious_tradition = { + age = age_4_reformation + icon = glorious_arms + for = adm + + monthly_prestige = 0.1 +} +advanced_bureaucracy = { + age = age_4_reformation + icon = genoese_banking_traditions + for = adm + + tax_income_efficiency = small_tax_income_efficiency_bonus + global_bureaucracy_maintenance_efficiency = 0.04 +} + +national_bank = { + age = age_4_reformation + icon = debt_and_loans + for = adm + + minting_income_factor = 0.10 + max_bonds = 1 +} +competetive_merchants = { + age = age_4_reformation + for = adm + + global_merchant_power = 0.2 +} + + +humanist_tolerance = { + age = age_4_reformation + icon = cultural_acceptance_advance + for = adm + + tolerance_heathen = 1 +} + + +cultural_ties = { + age = age_4_reformation + for = adm + + cultures_capacity = 2 +} + +ecumenism = { + age = age_4_reformation + icon = cultural_acceptance_advance + for = adm + + tolerance_heretic = 1 +} + + + +############################ +# age_5_absolutism 10/10 +############################ +formalized_officer_corps = { + age = age_5_absolutism + icon = expansionism + for = adm + + army_initiative = 0.25 +} + + +religious_unification = { + age = age_5_absolutism + for = adm + + global_pop_conversion_speed_modifier = 0.1 +} +centralized_government = { + age = age_5_absolutism + icon = road_building + for = adm + + global_distance_from_capital_speed_propagation = 0.1 +} + +economic_ideas = { + age = age_5_absolutism + icon = expanded_supply_trains + for = adm + + global_monthly_development = 0.001 +} +additional_colonists = { + age = age_5_absolutism + icon = colonies + for = adm + + colonial_migration_size_modifier = 0.25 +} +additional_diplomats = { + age = age_5_absolutism + icon = diplomatic_range_age_1 + for = adm + + diplomatic_capacity = 1 +} +bookkeeping = { + age = age_5_absolutism + icon = debt_and_loans + for = adm + + bank_interest = -0.01 + max_bonds = 1 +} +civil_servants = { + age = age_5_absolutism + icon = scholasticism + for = adm + + global_monthly_control = 0.001 +} + +local_traditions = { + age = age_5_absolutism + icon = grand_banquets + for = adm + + global_estate_target_satisfaction = small_permanent_target_satisfaction +} + +humanism = { + age = age_5_absolutism + icon = scholasticism + for = adm + + global_max_literacy = 10 +} + + +############################ +# age_6_revolutions 9/10 +############################ +formal_administration = { + age = age_6_revolutions + icon = crown_power_advance_renaissance + for = adm + + government_size = 1 +} +optimism = { + age = age_6_revolutions + icon = printing_press_advance + for = adm + + monthly_war_exhaustion = -0.05 +} + + +indirect_rule = { + age = age_6_revolutions + icon = genoese_banking_traditions + for = adm + + global_separatism = -0.1 +} + +smithian_economics = { + age = age_6_revolutions + icon = efficient_mining + for = adm + + global_production_efficiency = medium_production_efficiency_bonus +} +nationalistic_enthusiasm = { + age = age_6_revolutions + icon = regimental_system + for = adm + + army_maintenance_efficiency = 0.1 +} +improved_shipyards = { + age = age_6_revolutions + icon = rudimentary_coastal_ship_repair + for = adm + + ship_build_speed = 0.25 + +} + +legislative_efficiency_idea = { + age = age_6_revolutions + icon = scholasticism + for = adm + + legislative_efficiency = 0.10 +} +benevolence = { + age = age_6_revolutions + icon = cultural_acceptance_advance + for = adm + + improve_relation_impact = 0.33 +} + +fort_logistics = { + age = age_6_revolutions + icon = renaissance_development + for = adm + fort_maintenance_efficiency = 0.20 +} + +regulation_bureau = { + age = age_6_revolutions + icon = debt_and_loans + for = adm + minting_inflation_threshold = 0.01 +} + + + diff --git a/in_game/common/advances/bob_byzadvance.txt b/in_game/common/advances/bob_byzadvance.txt new file mode 100644 index 0000000..84908c6 --- /dev/null +++ b/in_game/common/advances/bob_byzadvance.txt @@ -0,0 +1,12 @@ +REPLACE:byz_bureaucracy_advance = { + content_priority = 600 + potential = { + has_or_had_tag = BYZ + has_dlc = "d008_fate_of_the_phoenix" + } + age = age_1_traditions + icon = library_advance + global_max_bureaucracy_slots = 1 + allow_bureaucracy = yes + requires = medieval_administration + } \ No newline at end of file diff --git a/in_game/common/advances/rov_advance.txt b/in_game/common/advances/rov_advance.txt new file mode 100644 index 0000000..62f4ee1 --- /dev/null +++ b/in_game/common/advances/rov_advance.txt @@ -0,0 +1,54 @@ +starting_ideas_1 = { + age = age_1_traditions + unlock_building = Town_holl + unlock_building = Trade_centr + unlock_building = Infrastructure + unlock_building = Construction_ministry + unlock_building = Proximity_house + unlock_building = Capitol + unlock_building = integration_office + requires = written_alphabet +} +starting_ideas_2 = { + age = age_2_renaissance + unlock_building = Town_holl_2 + unlock_building = Trade_centr_2 + unlock_building = Construction_ministry_2 + unlock_building = integration_chancery + requires = renaissance_development + ai_weight = { add = 100 } +} +starting_ideas_3 = { + age = age_3_discovery + unlock_building = Town_holl_3 + unlock_building = Trade_centr_3 + unlock_building = Construction_ministry_3 + unlock_building = integration_ministry + unlock_building = Capitol_2 + requires = new_world_advance + ai_weight = { add = 100 } +} +starting_ideas_4 = { + age = age_4_reformation + unlock_building = Town_holl_4 + unlock_building = Trade_centr_4 + unlock_building = Construction_ministry_4 + unlock_building = Counting_house_2 + requires = confessionalism_advance +} +starting_ideas_5 = { + age = age_5_absolutism + unlock_building = Town_holl_5 + unlock_building = Trade_centr_5 + unlock_building = Construction_ministry_5 + unlock_building = Capitol_3 + requires = manufactories_advance +} +starting_ideas_6 = { + age = age_6_revolutions + unlock_building = Town_holl_6 + unlock_building = Trade_centr_6 + unlock_building = Construction_ministry_6 + requires = enlightenment_advance +} + diff --git a/in_game/common/age/00_default.txt b/in_game/common/age/00_default.txt new file mode 100644 index 0000000..21b3a8f --- /dev/null +++ b/in_game/common/age/00_default.txt @@ -0,0 +1,316 @@ +age_1_traditions = { + year = 1 + price_stability = 0.25 + max_price = 2 + + modifier = { + lack_of_control_impact_on_warscore = -0.1 + } + + efficiency = 5 + + victory_card = 0 + + months_for_exploration_spread = 1800 + + # optimization - AI will regularly evaluate swapping privilege if not filled (expensive) + max_ai_privilege_per_estate = { + nobles_estate = 8 + clergy_estate = 8 + burghers_estate = 9 + peasants_estate = 5 + dhimmi_estate = 5 + tribes_estate = 5 + cossacks_estate = 5 + bureaucrats_estate = 7 + } + + min_ai_privilege_per_estate = { + nobles_estate = 5 + clergy_estate = 5 + burghers_estate = 7 + peasants_estate = 4 + dhimmi_estate = 4 + tribes_estate = 1 + cossacks_estate = 1 + bureaucrats_estate = 7 + } + + privilege = { + + Early_tax_collection + kormlenie + record_keeping_chaotic + church_schools + feudal_obligations + customary_levies + } +} +age_2_renaissance = { + year = 1342 #5 years shorter + price_stability = 0.1 + max_price = 2 + + months_for_exploration_spread = 1800 + + unique = { + diplomatic_capacity_modifier = 0.25 + cultural_tradition_modifier = 0.25 + } + modifier = { + expected_army_size_modifier = 1.0 + levy_maintenance_modifier = 0.1 + + + lack_of_control_impact_on_warscore = -0.2 + + global_navy_levy_size_modifier = -0.2 + + antagonism_religion_influence = 0.1 + } + mercenaries = 0.25 + efficiency = 5 + + victory_card = 1 + + max_ai_privilege_per_estate = { + nobles_estate = 8 + clergy_estate = 8 + burghers_estate = 9 + peasants_estate = 5 + dhimmi_estate = 6 + tribes_estate = 5 + cossacks_estate = 5 + } + + min_ai_privilege_per_estate = { + nobles_estate = 5 + clergy_estate = 5 + burghers_estate = 7 + peasants_estate = 4 + dhimmi_estate = 4 + tribes_estate = 1 + cossacks_estate = 1 + } +} +age_3_discovery = { + year = 1437 + price_stability = 0.08 + max_price = 3 + hegemons_allowed = yes + + months_for_exploration_spread = 1800 + unique = { + exploration_mission_speed = 0.25 + colonial_maintenance_cost = -0.25 + } + + modifier = { + expected_army_size_modifier = 2.0 + levy_maintenance_modifier = 0.25 + + + lack_of_control_impact_on_warscore = -0.4 + + global_navy_levy_size_modifier = -0.75 + + antagonism_religion_influence = 0.15 + } + + war_score_from_battles = -0.2 + efficiency = 5 + + victory_card = 2 + + max_ai_privilege_per_estate = { + nobles_estate = 8 + clergy_estate = 8 + burghers_estate = 9 + peasants_estate = 5 + dhimmi_estate = 6 + tribes_estate = 5 + cossacks_estate = 5 + } + + min_ai_privilege_per_estate = { + nobles_estate = 5 + clergy_estate = 5 + burghers_estate = 7 + peasants_estate = 4 + dhimmi_estate = 4 + tribes_estate = 1 + cossacks_estate = 1 + } +} +age_4_reformation = { + year = 1537 + price_stability = 0.06 + max_price = 3 + hegemons_allowed = yes + months_for_exploration_spread = 1200 + + unique = { + global_pop_conversion_speed_modifier = 0.33 + merchant_maintenance_cost = -0.25 + } + + modifier = { + expected_army_size_modifier = 4.0 + levy_maintenance_modifier = 0.5 + + lack_of_control_impact_on_warscore = -0.6 + + global_navy_levy_size_modifier = -1.0 + + + antagonism_religion_influence = 0.2 + antagonism_culture_influence = 0.1 + antagonism_government_type_influence = 0.1 + } + war_score_from_battles = -0.4 + efficiency = 5 + victory_card = 3 + + + max_ai_privilege_per_estate = { + nobles_estate = 7 + clergy_estate = 7 + burghers_estate = 8 + peasants_estate = 4 + dhimmi_estate = 5 + tribes_estate = 4 + cossacks_estate = 4 + } + + min_ai_privilege_per_estate = { + nobles_estate = 4 + clergy_estate = 4 + burghers_estate = 6 + peasants_estate = 3 + dhimmi_estate = 3 + tribes_estate = 1 + cossacks_estate = 1 + } + + +} +age_5_absolutism = { + year = 1637 + price_stability = 0.04 + max_price = 3 + hegemons_allowed = yes + months_for_exploration_spread = 600 + + unique = { + revoke_privilege_cost_modifier = -0.33 + global_integration_speed_modifier = 0.25 + } + + + modifier = { + expected_army_size_modifier = 8.0 + levy_maintenance_modifier = 0.75 + + lack_of_control_impact_on_warscore = -0.8 + + global_war_score_cost = -0.1 + + construction_center_max_level = 2 + + subject_pays_colonial_cost_modifier = 1.0 + + subject_loyalty = -10 + + global_navy_levy_size_modifier = -2.0 + + antagonism_religion_influence = 0.1 + antagonism_culture_influence = 0.2 + antagonism_government_type_influence = 0.2 + antagonism_societal_value_influence = 0.1 + } + + war_score_from_battles = -0.6 + mercenaries = -0.40 + efficiency = 5 + victory_card = 4 + + + max_ai_privilege_per_estate = { + nobles_estate = 4 + clergy_estate = 4 + burghers_estate = 4 + peasants_estate = 2 + dhimmi_estate = 2 + tribes_estate = 1 + cossacks_estate = 1 + } + + min_ai_privilege_per_estate = { + nobles_estate = 3 + clergy_estate = 2 + burghers_estate = 3 + peasants_estate = 1 + dhimmi_estate = 1 + tribes_estate = 0 + cossacks_estate = 0 + } + + +} +age_6_revolutions = { + year = 1737 + price_stability = 0.02 + max_price = 4 + hegemons_allowed = yes + + months_for_exploration_spread = 300 + unique = { + global_war_score_cost = -0.2 + subject_loyalty = -30 + } + + modifier = { + expected_army_size_modifier = 16.0 + levy_maintenance_modifier = 1.0 + + lack_of_control_impact_on_warscore = -1.0 + + construction_center_max_level = 5 + + global_navy_levy_size_modifier = -2.0 + + + subject_pays_colonial_cost_modifier = 2.0 + + antagonism_culture_influence = 0.1 + antagonism_societal_value_influence = 0.2 + antagonism_government_type_influence = 0.25 + } + + mercenaries = -0.9 + war_score_from_battles = -0.8 + + + efficiency = 5 + victory_card = 5 + + max_ai_privilege_per_estate = { + nobles_estate = 0 + clergy_estate = 0 + burghers_estate = 0 + peasants_estate = 0 + dhimmi_estate = 0 + tribes_estate = 0 + cossacks_estate = 0 + } + + min_ai_privilege_per_estate = { + nobles_estate = 0 + clergy_estate = 0 + burghers_estate = 0 + peasants_estate = 0 + dhimmi_estate = 0 + tribes_estate = 0 + cossacks_estate = 0 + } +} \ No newline at end of file diff --git a/in_game/common/auto_modifiers/country.txt b/in_game/common/auto_modifiers/country.txt new file mode 100644 index 0000000..13e3edb --- /dev/null +++ b/in_game/common/auto_modifiers/country.txt @@ -0,0 +1,1564 @@ +## Not hardcoded +# Modifiers in this file will automatically be applied to all countries +# - Tooltips will also be generated +# - The AI will also understand them + + + + + +country_base_values = { + requires_real = no # Non-"real" countries are Rebels, Pirates and Mercenaries. Default is yes. + + monthly_war_exhaustion = -0.025 + + max_bonds = 1 + + global_monthly_control_decline = 0.005 + + max_war_exhaustion = 20 + stability_decay = 0.005 + prestige_decay = 0.01 + army_tradition_decay = 0.005 + navy_tradition_decay = 0.005 + global_maritime_presence_decay = 0.005 + monthly_karma_decay = 0.01 + + global_prosperity_decay = 0.01 + max_tariff = 0.20 + max_trade_subventions = 0.20 + monthly_rebel_growth = 0.001 + + country_child_education = 0.5 + + global_monthly_art_start_chance = 0.1 + + global_peasant_enfranchisment = 1.0 + + union_weight = 0.25 + + ship_capture_chance = 0.025 + + combined_arms_max_threshold = 0.5 + combined_arms_min_percent_for_bonus = 0.1 + combined_bonus_per_type = 0.025 + + annexation_speed_base = 1.0 + + tolerance_own = 1 + tolerance_heathen = -5 + tolerance_heretic = -2.5 + + military_tactics = 1.0 + experience_decay = 0.05 + + goods_gold_impacts_inflation = 1.0 + silver_impacts_inflation = 1.0 + + + crown_power_from_population = 0.8 + + supply_depot_capacity = 1000 + + artillery_bonus_vs_fort = 5 + fort_limit = 1 #default so everyone can have one fort + + building_upkeep_multiplier = 1.0 + + government_reform_slots = 1 + government_size = 2 + + allow_bureaucracy = yes + + privateer_durability = 0.05 + + skill_of_new_artists = 0.1 + + + wrong_culture_levy_size = -0.75 + + unemployed_slave_promotion = 0.001 + + maximum_religious_influence = 200 + + global_pop_assimilation_speed = 0.001 + global_pop_conversion_speed = 0.002 + + diplomatic_range = 1000 + naval_range = 1000 + colonial_range = 1000 + trade_range = 300 + + mercenary_range = 250 + mercenary_cost_for_enemies = 0.5 + mercenary_payment_to_owner = 0 + + army_logistics_distance = 30 + + raw_material_in_province_impact = 0.15 + global_max_rgo_size_modifier = -0.30 + + estate_satisfaction_from_building = 0.025 + + minting_inflation_threshold = 0.01 + + bond_interest = 0.05 + + global_food_decay = 0.005 + + diplomatic_capacity = 2 + max_diplomats = 3 + monthly_diplomats = 0.1 + casus_belli_creation_speed = 2.0 + + + diplomatic_spending_cost = 0.1 + + + global_estate_target_satisfaction = base_default_estate_target_satisfaction + + nobles_estate_target_satisfaction = nobles_default_satisfaction + clergy_estate_target_satisfaction = clergy_default_satisfaction + burghers_estate_target_satisfaction = burghers_default_satisfaction + peasants_estate_target_satisfaction = peasants_default_satisfaction + dhimmi_estate_target_satisfaction = dhimmi_default_satisfaction + tribes_estate_target_satisfaction = tribes_default_satisfaction + cossacks_estate_target_satisfaction = cossacks_default_satisfaction + + + global_estate_satisfaction_decay = 0.05 + global_estate_satisfaction_recovery = 0.001 + + + global_estate_max_tax = 0.0 + global_estate_min_tax = 0.0 + + land_morale_recovery = 0.05 + naval_morale_recovery = 0.05 + + bank_interest = 0.10 + merchant_power_from_maritime = 0.05 + monthly_inflation = -0.001 + + + sea_cost_on_distance_from_capital_when_maritime = 5 + sea_cost_on_distance_from_capital = 20 + road_cost_on_distance_from_capital = 18 + land_cost_on_distance_from_capital = 20 + port_cost_distance_from_capital = 20 + sea_land_transition_cost_distance_from_capital = 20 + land_cost_going_upstream = 12 + land_cost_going_downstream = 11 + land_cost_on_frozen_water = 22 + + global_migration_speed = 0.0001 + + global_nobles_migration_allowed = yes + global_burghers_migration_allowed = yes + global_clergy_migration_allowed = yes + global_soldiers_migration_allowed = no + global_laborers_migration_allowed = no + global_peasants_migration_allowed = no + global_tribesmen_migration_allowed = no + global_slaves_migration_allowed = no + + + movement_speed_when_attached_to_another_unit = 0.2 + + + nobles_estate_can_participate_in_parliament = yes + + + nobles_estate_allowed_in_cabinet = yes + clergy_estate_allowed_in_cabinet = yes + burghers_estate_allowed_in_cabinet = yes + crown_estate_allowed_in_cabinet = yes + #tribes_estate_blocked_from_cabinet = yes #Commented out as they are by default not available until tribes_estate_allowed_in_cabinet is active. Uncomment to have them permanently blocked from the cabinet. + #peasants_estate_blocked_from_cabinet = yes #Commented out as they are by default not available until peasants_estate_allowed_in_cabinet is active. Uncomment to have them permanently blocked from the cabinet. + + nobles_estate_allowed_noble_marriage = yes + + crown_estate_allowed_leading_military = yes + tribes_estate_allowed_leading_military = yes + cossacks_estate_allowed_leading_military = yes + nobles_estate_allowed_leading_military = yes + burghers_estate_allowed_leading_military = yes + peasants_estate_allowed_leading_military = yes + dhimmi_estate_allowed_leading_military = yes + + allow_male_leader = yes + allow_male_cabinet = yes + + cultures_capacity = 0 + + + exploration_mission_speed = 0.05 + exploration_maintenance_efficiency = 0 + + ai_amount_of_parallel_charters = 2 + + pop_join_rebel_threshold = 0.20 + pop_leave_rebels_threshold = 0.35 + + + + + win_war_chance_threshold = 0.6 + win_war_chance_lower_limit = 0.5 + war_declaration_stab_hit_tolerance = 0 + war_declaration_war_exhaustion_tolerance = 0 + + slave_raid_efficiency = 0.02 + + + + parliament_request_issue_support_needed = 0.5 + + diplomatic_reputation = 1 + + land_morale_movement_cost = 0.0069 + naval_morale_movement_cost = 0.0 + + land_morale_attrition_cost = 0.01 + naval_morale_attrition_cost = 0.0 + + morale_recovery_in_friendly = 0.25 + + + can_extract_clay = yes + can_extract_sand = yes + can_extract_silk = yes + can_extract_dyes = yes + can_extract_incense = yes + can_extract_ivory = yes + can_extract_fur = yes + can_extract_lumber = yes + can_extract_salt = yes + can_extract_medicaments = yes + can_extract_gems = yes + can_extract_pearls = yes + can_extract_amber = yes + can_extract_elephants = yes + can_extract_camels = yes + can_extract_wool = yes + can_extract_wild_game = yes + can_extract_fish = yes + + + can_extract_tea = yes + can_extract_cocoa = yes + can_extract_coffee = yes + can_extract_fiber_crops = yes + can_extract_wine = yes + can_extract_cotton = yes + can_extract_sugar = yes + can_extract_tobacco = yes + can_extract_livestock = yes + can_extract_olives = yes + can_extract_fruit = yes + can_extract_pepper = yes + can_extract_cloves = yes + can_extract_saffron = yes + can_extract_beeswax = yes + can_extract_chili = yes + can_extract_pottery = yes + + + +} + + +country_base_values_with_taxation = { + potential_trigger = { + modifier:enable_taxation = yes + } + + monthly_legitimacy = -1.25 + monthly_republican_tradition = -1.25 + monthly_devotion = -1.25 + monthly_horde_unity = -1.25 + monthly_tribal_cohesion = -1.25 + +} + + +location_tt_name = { + potential_trigger = { + country_type = location + } + research_speed = 1 + cultural_tradition = 0.25 + cultural_influence = 0.25 + +} + +building_tt_name = { + potential_trigger = { + country_type = building + } + research_speed = 1 +} + +pop_tt_name = { + potential_trigger = { + country_type = pop + } + research_speed = 0.1 + cultural_tradition = 0.25 + cultural_influence = 0.25 +} + +army_tt_name = { + potential_trigger = { + country_type = army + } + research_speed = 1.0 +} + +navy_tt_name = { + potential_trigger = { + country_type = navy + } + research_speed = 1.0 +} + +num_locations_impact = { + scales_with = { + value = num_locations + divide = 10 + } + + fort_limit = 1 +} + +num_colonial_charters_impact = { + scales_with = { + value = num_colonial_charters + subtract = 1 + min = 0 + max = 7 + } + + colonial_maintenance_efficiency = -0.12 +} + + + +# scale = creditworthiness - 0.5, range: -0.5 (worst) to +0.5 (best) +creditworthiness_interest_impact = { + scales_with = { + value = creditworthiness + subtract = 0.5 + } + + bank_interest = -0.05 + bond_interest = -0.04 +} + + + + + + +num_advances_impact = { + scales_with = { + value = num_of_advances_researched + multiply = 0.05 + } + + power_projection = 1 +} + + + + + + +stability_impact = { + scales_with = { + value = stability + multiply = 0.01 + } + + + creditworthiness_bonus = 0.1 + pop_join_rebel_threshold = -0.1 + pop_leave_rebels_threshold = -0.05 + + global_estate_satisfaction_recovery = 0.0001 +} + +positive_stability_impact = { + potential_trigger = { + stability > 0 + } + + scales_with = { + value = stability + multiply = 0.01 + } + + + global_estate_target_satisfaction = positive_stability_satisfaction_scale + global_pop_promotion_speed_modifier = 1.0 + monthly_doom = -0.1 + monthly_righteousness = 0.1 + local_population_growth = 0.005 +} + +negative_stability_impact = { + potential_trigger = { + stability < 0 + } + + scales_with = { + value = stability + multiply = -0.01 + } + + + + global_building_establishment_speed = -0.25 + global_estate_target_satisfaction = negative_stability_satisfaction_scale + global_mercenaries_modifier = 0.5 + monthly_doom = 0.5 + monthly_righteousness = -0.1 + local_population_growth = 0.0025 +} + + + +war_exhaustion_impact = { + scales_with = war_exhaustion + + land_morale_modifier = -0.025 + naval_morale_modifier = -0.025 + + + global_estate_target_satisfaction = -0.01 + global_defensive = -0.025 +} + + +current_political_influence_impact = { + scales_with = { + value = political_influence + } + + global_crown_estate_power = 0.0025 +} + + +prestige = { + scales_with = { + value = prestige + multiply = 0.01 + } + + global_trade_center_power = 0.05 + cultural_influence = 1 + diplomatic_reputation = diplomatic_reputation_severe_bonus + skill_of_new_artists = 0.1 + + antagonism_monthly_change_modifier = 0.25 +} + + +num_non_rural_impact = { + scales_with = num_of_non_rural + + num_bailiffs = 1 +} + + +army_tradition = { + scales_with = { + value = army_tradition + multiply = 0.01 + } + + land_morale_modifier = 0.2 + siege_ability = 0.1 + monthly_karma = -0.1 + + monthly_towards_land = societal_value_monthly_move +} + +navy_tradition = { + scales_with = { + value = navy_tradition + multiply = 0.01 + } + + naval_morale_modifier = 0.2 + global_maritime_presence_modifier = 0.5 + + monthly_towards_naval = societal_value_monthly_move +} + + + + + +high_legitimacy = { + potential_trigger = { + uses_government_power = legitimacy + } + limit = { + legitimacy > 50 + } + scales_with = { + value = legitimacy + multiply = 0.01 + } + + pop_leave_rebels_threshold = -0.05 + monthly_righteousness = 0.5 + monthly_political_influence_gain_modifier = 0.25 + monthly_doom = -0.1 + monthly_towards_absolutism = societal_value_minor_monthly_move +} +low_legitimacy = { + potential_trigger = { + uses_government_power = legitimacy + } + limit = { + legitimacy < 50 + } + scales_with = { + value = legitimacy + multiply = -0.005 + add = 1 + } + + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + monthly_righteousness = -0.25 + monthly_doom = 0.25 + global_max_control = -0.2 +} + +high_republican_tradition = { + potential_trigger = { + uses_government_power = republican_tradition + } + limit = { + republican_tradition > 50 + } + scales_with = { + value = republican_tradition + multiply = 0.01 + } + + pop_leave_rebels_threshold = -0.05 + monthly_political_influence_gain_modifier = 0.25 + monthly_towards_liberalism = societal_value_monthly_move +} +low_republican_tradition = { + potential_trigger = { + uses_government_power = republican_tradition + } + limit = { + republican_tradition < 50 + } + scales_with = { + value = republican_tradition + multiply = -0.01 + add = 1 + } + + stability_cost_efficiency = -2 + legislative_efficiency = -0.05 + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + global_max_control = -0.2 +} + +high_devotion = { + potential_trigger = { + uses_government_power = devotion + } + limit = { + devotion > 50 + } + scales_with = { + value = devotion + multiply = 0.01 + } + + monthly_religious_influence = 0.1 + pop_leave_rebels_threshold = -0.05 + monthly_political_influence_gain_modifier = 0.25 +} +low_devotion = { + potential_trigger = { + uses_government_power = devotion + } + limit = { + devotion < 50 + } + scales_with = { + value = devotion + multiply = -0.01 + add = 1 + } + + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + monthly_religious_influence = -0.05 + clergy_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + stability_cost_efficiency = -1 + monthly_doom = 0.25 + global_max_control = -0.2 +} + +high_horde_unity = { + potential_trigger = { + uses_government_power = horde_unity + } + limit = { + horde_unity > 50 + } + scales_with = { + value = horde_unity + multiply = 0.01 + } + + discipline = 0.10 + pop_leave_rebels_threshold = -0.05 + monthly_political_influence_gain_modifier = 0.25 +} +low_horde_unity = { + potential_trigger = { + uses_government_power = horde_unity + } + limit = { + horde_unity < 50 + } + scales_with = { + value = horde_unity + multiply = -0.01 + add = 1 + } + + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + global_max_control = -0.2 +} + +high_tribal_cohesion = { + potential_trigger = { + uses_government_power = tribal_cohesion + } + scales_with = { + value = tribal_cohesion + multiply = 0.01 + } + + global_levy_size_modifier = 0.25 + pop_leave_rebels_threshold = -0.05 +} +low_tribal_cohesion = { + potential_trigger = { + uses_government_power = tribal_cohesion + } + scales_with = { + value = tribal_cohesion + multiply = -0.01 + add = 1 + } + + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + +} + +neutral_karma = { + potential_trigger = { + exists = religion + religion = { has_karma = yes } + } + limit = { + karma >= -33 + karma <= 33 + } + + diplomatic_reputation = diplomatic_reputation_mild_bonus + discipline = 0.05 +} +high_karma = { + potential_trigger = { + exists = religion + religion = { has_karma = yes } + } + limit = { + karma > 33 + } + + diplomatic_reputation = diplomatic_reputation_weak_bonus +} +low_karma = { + potential_trigger = { + exists = religion + religion = { has_karma = yes } + } + limit = { + karma < -33 + } + + discipline = 0.025 +} + + + +positive_yanantin = { + potential_trigger = { + exists = religion + religion = { has_yanantin = yes } + } + limit = { + yanantin > 0 + } + scales_with = { + value = yanantin + multiply = 0.01 + } + monthly_rebel_growth = 0.002 + monthly_legitimacy = -0.5 +} + +balanced_yanantin = { + potential_trigger = { + exists = religion + religion = { has_yanantin = yes } + } + scales_with = { + value = yanantin + multiply = 0.01 + abs = 0 #rhs doesn't matter here + multiply = -1 + add = 1 + } + + monthly_prestige = 0.1 + global_monthly_control = 0.001 +} + +negative_yanantin = { + potential_trigger = { + exists = religion + religion = { has_yanantin = yes } + } + limit = { + yanantin < 0 + } + scales_with = { + value = yanantin + multiply = -0.01 + } + + monthly_prestige = -0.1 + pop_join_rebel_threshold = -0.1 + nobles_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + clergy_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + burghers_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + peasants_estate_target_satisfaction = yanatin_peasants_scale +} + +high_righteousness = { + potential_trigger = { + modifier:allow_righteousness = yes + righteousness > 50 + } + scales_with = { + value = righteousness + subtract = 50 + multiply = 0.02 + } + monthly_prestige = 0.1 + global_monthly_control = 0.001 + global_estate_target_satisfaction = medium_permanent_target_satisfaction +} +low_righteousness = { + potential_trigger = { + modifier:allow_righteousness = yes + righteousness < 50 + } + scales_with = { + value = 100 + subtract = righteousness + subtract = righteousness + multiply = 0.01 + } + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + stability_decay = 0.001 +} + +positive_harmony = { + potential_trigger = { + modifier:allow_harmony = yes + } + limit = { + harmony > 10 + } + scales_with = { + value = harmony + multiply = 0.01 + } + global_estate_target_satisfaction = tiny_satisfaction_scaled_down + global_prosperity_decay = 0.02 + monthly_harmony = -0.1 +} +balanced_harmony = { + potential_trigger = { + modifier:allow_harmony = yes + } + limit = { + harmony <= 10 + harmony >= -10 + } + scales_with = { + value = harmony + multiply = 0.01 + abs = 0 #rhs doesn't matter here + multiply = -1 + add = 1 + } + global_monthly_prosperity = 0.002 + global_monthly_development = 0.001 +} +negative_harmony = { + potential_trigger = { + modifier:allow_harmony = yes + } + limit = { + harmony < -10 + } + scales_with = { + value = harmony + multiply = -0.01 + } + global_estate_target_satisfaction = tiny_satisfaction_scaled_down + global_monthly_development = -0.001 + monthly_harmony = 0.1 +} +harmony_stabilized = { + potential_trigger = { + modifier:allow_harmony = yes + modifier:harmony_stability = yes + } + limit = { + harmony <= 10 + harmony >= -10 + } + scales_with = { + value = harmony + multiply = -0.01 + } + monthly_harmony = 1 +} + + +positive_self_control = { + potential_trigger = { + modifier:allow_self_control = yes + } + limit = { + self_control > 10 + } + scales_with = { + value = self_control + multiply = 0.01 + } + stability_investment = tiny_stability_investment + global_pop_food_consumption = -0.1 + diplomatic_annexation_efficiency = 0.4 + rural_migration_attraction = 0.1 + monthly_towards_spiritualist = societal_value_monthly_move +} +balanced_self_control = { + potential_trigger = { + modifier:allow_self_control = yes + } + limit = { + self_control <= 10 + self_control >= -10 + } + scales_with = { + value = self_control + multiply = 0.01 + abs = 0 #rhs doesn't matter here + multiply = -1 + add = 1 + } + research_speed_modifier = 0.05 + monthly_prestige = 0.1 + global_estate_target_satisfaction = medium_permanent_target_satisfaction +} +negative_self_control = { + potential_trigger = { + modifier:allow_self_control = yes + } + limit = { + self_control < -10 + } + scales_with = { + value = self_control + multiply = -0.01 + } + global_estate_max_tax = 0.1 + global_pop_food_consumption = 0.1 + subject_pays_vassal_cost_modifier = 0.2 + monthly_war_exhaustion = -0.05 + monthly_towards_belligerent = societal_value_monthly_move +} + +high_purity = { + potential_trigger = { + exists = religion + religion = { has_purity = yes } + } + limit = { + purity > 75 + } + scales_with = { + value = purity + subtract = 75 + multiply = 0.04 + } + + monthly_honor = 1 +} + +low_purity = { + potential_trigger = { + exists = religion + religion = { has_purity = yes } + } + limit = { + purity < 25 + } + scales_with = { + value = purity + multiply = -0.04 + add = 1 + } + + monthly_honor = -1 + army_initiative = 0.2 + + nobles_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + clergy_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + burghers_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + peasants_estate_target_satisfaction = huge_permanent_target_satisfaction +} + +high_honor = { + potential_trigger = { + exists = religion + religion = { has_honor = yes } + } + limit = { + honor > 75 + } + scales_with = { + value = honor + subtract = 75 + multiply = 0.04 + } + + monthly_prestige = 0.2 +} + +low_honor = { + potential_trigger = { + exists = religion + religion = { has_honor = yes } + } + limit = { + honor < 25 + } + scales_with = { + value = honor + multiply = -0.04 + add = 1 + } + + monthly_prestige = -0.2 + + nobles_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + clergy_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + burghers_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + peasants_estate_target_satisfaction = huge_permanent_target_satisfaction +} + +doom = { + potential_trigger = { + exists = religion + has_doom = yes + } + scales_with = { + value = doom + } + + subject_loyalty = -1 + global_estate_target_satisfaction = tiny_satisfaction_scaled_down_penalty + stability_decay = 0.001 + monthly_nahualt_reform_progress = -0.01 +} + + + +country_population = { + scales_with = total_population + + expected_army_size = 0.0001 +} + + +country_accepted_culture_population = { + scales_with = total_accepted_culture_population + + expected_army_size = 0.002 +} + + + + + + +state_religion_clergy_ratio = { + potential_trigger = { total_population > 0 } # No division by 0 + scales_with = { + value = state_religion_clergy + multiply = 100 + max = 1 + } + + stability_investment = clergy_stability_investment + monthly_religious_influence = 0.05 + monthly_towards_spiritualist = societal_value_monthly_move +} + + +proper_culture_nobles_ratio = { + potential_trigger = { total_population > 0 } # No division by 0 + scales_with = { + value = proper_culture_nobles + multiply = 100 + + max = 1 + } + + discipline = 0.1 + monthly_legitimacy = 0.2 + diplomatic_reputation = 2 + monthly_towards_aristocracy = societal_value_monthly_move +} + +soldier_percentage_in_country = { + potential_trigger = { total_population > 0 } # No division by 0 + scales_with = { + value = percentage_pop_type_in_country:soldiers + multiply = 20 + max = 1 + } + + monthly_towards_quantity = societal_value_large_monthly_move +} + +burghers_percentage_in_country = { + potential_trigger = { total_population > 0 } # No division by 0 + scales_with = { + value = percentage_pop_type_in_country:burghers + } + + monthly_towards_capital_economy = societal_value_huge_monthly_move +} + + + +peasants_percentage_in_country = { + potential_trigger = { total_population > 0 } # No division by 0 + scales_with = { + value = percentage_pop_type_in_country:peasants + } + + monthly_towards_traditional_economy = societal_value_monthly_move +} + + + + +monthly_income_impact = { + scales_with = monthly_income_trade_and_tax +} + + + + +lack_of_rivals = { + scales_with = { + value = modifier:num_possible_rivals + subtract = num_rivals + min = 0 + } + + antagonism_received_modifier = 0.1 + counter_espionage = -0.1 + spy_network_construction = -0.1 + monthly_political_influence_gain_modifier = -0.05 +} + +larger_than_expected_army = { + potential_trigger = { + army_size_percentage > 1.0 + } + monthly_towards_belligerent = societal_value_monthly_move +} + +horde_army_expectation = { + potential_trigger = { + government_type ?= government_type:steppe_horde + } + + scales_with = { + value = 1 + subtract = army_size_percentage + min = 0 + } + + stability_cost_efficiency = -2 + land_morale_modifier = -0.5 +} + + +number_of_religious_aspects = { + scales_with = num_of_religious_aspects + + monthly_religious_influence = -0.003 +} + +power_projection = { + scales_with = power_projection + + global_integration_speed_modifier = 0.01 + monthly_political_influence_gain_modifier = 0.01 +} + + +at_war = { + potential_trigger = { at_war = yes } + + monthly_towards_belligerent = societal_value_monthly_move +} + +at_war_without_overlord = { + potential_trigger = { + is_subject = yes + at_war = yes + any_current_war = { + NOT = { any_war_participant = { this = root.overlord } } + } + } + + loyalty_to_overlord = -10 +} + +in_civil_war = { + potential_trigger = { in_civil_war = yes } + + monthly_political_influence_gain_modifier = -0.25 + pop_join_rebel_threshold = -0.1 + pop_leave_rebels_threshold = -0.1 + global_estate_target_satisfaction = medium_permanent_target_satisfaction +} + +at_peace = { + potential_trigger = { at_war = no } + + monthly_war_exhaustion = -0.1 + levy_recovery_modifier = 0.2 + monthly_towards_conciliatory = societal_value_monthly_move +} + +revolutionary = { + potential_trigger = { is_revolutionary = yes } + land_morale_modifier = 0.25 + global_manpower_modifier = 0.25 + max_war_exhaustion = -5 +} + +revolution_target = { + potential_trigger = { is_revolution_target = yes } + land_morale_modifier = 0.1 + max_war_exhaustion = -5 + global_manpower_modifier = 0.1 + +} + +ruler_has_general_trait = { + potential_trigger = { + ruler ?= { + has_trait_category = general + NOT = { has_trait = unsuited_for_army_command } + } + } + + monthly_towards_belligerent = societal_value_monthly_move + monthly_towards_land = societal_value_monthly_move +} + +ruler_has_admiral_trait = { + potential_trigger = { + ruler ?= { + has_trait_category = admiral + NOT = { has_trait = unsuited_for_naval_command } + } + } + + monthly_towards_belligerent = societal_value_monthly_move + monthly_towards_naval = societal_value_monthly_move +} + +attacker_in_war = { + potential_trigger = { + any_current_war = { + is_an_attacker = root + } + } + + monthly_towards_offensive = societal_value_large_monthly_move + monthly_doom = -0.1 +} + +defender_in_war = { + potential_trigger = { + any_current_war = { + NOT = { is_an_attacker = root } + } + } + + monthly_towards_defensive = societal_value_monthly_move +} + +ruler_is_not_a_commander_during_war = { + potential_trigger = { + at_war = yes + modifier:ruler_must_be_commander_during_war = yes + ruler ?= { + owner = root + trigger_if = { + limit = { is_general = yes } + NOT = { is_leading_largest_army_of = root } + unit ?= { owner != root } + } + trigger_else_if = { + limit = { is_admiral = yes } + NOT = { is_leading_largest_navy_of = root } + unit ?= { owner != root } + } + trigger_else = { + NOT = { is_leading_largest_army_of = root } + NOT = { is_leading_largest_navy_of = root } + } + } + } + + alert = yes + + monthly_legitimacy = -0.5 + monthly_tribal_cohesion = -0.5 + monthly_devotion = -0.5 + monthly_horde_unity = -0.5 + monthly_republican_tradition = -0.5 +} + +ruler_is_general_during_war = { + potential_trigger = { + at_war = yes + ruler ?= { + is_general = yes + } + } + + monthly_prestige = 0.2 +} + +ruler_is_general = { + potential_trigger = { + ruler ?= { + is_general = yes + } + } + + monthly_towards_belligerent = societal_value_monthly_move + monthly_towards_land = societal_value_monthly_move +} + +ruler_is_admiral_during_war = { + potential_trigger = { + at_war = yes + ruler ?= { + is_admiral = yes + } + } + + monthly_prestige = 0.2 +} + +ruler_is_admiral = { + potential_trigger = { + ruler ?= { + is_admiral = yes + } + } + monthly_towards_belligerent = societal_value_monthly_move + monthly_towards_naval = societal_value_monthly_move +} + +heir_is_general_during_war = { + potential_trigger = { + at_war = yes + heir ?= { + is_general = yes + } + } + + monthly_prestige = 0.1 +} + +heir_is_general = { + potential_trigger = { + heir ?= { + is_general = yes + } + } + monthly_towards_belligerent = societal_value_minor_monthly_move + monthly_towards_land = societal_value_minor_monthly_move +} + +heir_is_admiral_during_war = { + potential_trigger = { + at_war = yes + heir ?= { + is_admiral = yes + } + } + + monthly_prestige = 0.1 +} + +heir_is_admiral = { + potential_trigger = { + heir ?= { + is_admiral = yes + } + } + monthly_towards_belligerent = societal_value_minor_monthly_move + monthly_towards_naval = societal_value_minor_monthly_move +} + +regent_is_general = { + potential_trigger = { + regent ?= { + is_general = yes + } + } + monthly_towards_belligerent = societal_value_minor_monthly_move + monthly_towards_land = societal_value_minor_monthly_move +} + +regent_is_admiral = { + potential_trigger = { + regent ?= { + is_admiral = yes + } + } + monthly_towards_belligerent = societal_value_minor_monthly_move + monthly_towards_naval = societal_value_minor_monthly_move +} + +capital_occupied = { + potential_trigger = { + at_war = yes + OR = { + country_type = location + country_type = army + } + capital ?= { + AND = { + exists = owner + exists = controller + owner != controller + } + } + } + + monthly_war_exhaustion = 0.1 + monthly_legitimacy = -0.5 + monthly_tribal_cohesion = -0.5 + monthly_devotion = -0.5 + monthly_horde_unity = -0.5 + monthly_republican_tradition = -0.5 +} + +court_and_country_modifier = { + potential_trigger = { + has_variable = successful_court_and_country_variable + uses_government_power = legitimacy + } + scales_with = { + value = legitimacy + multiply = 0.01 + } + + global_crown_estate_power = 0.15 +} + +in_regency = { + potential_trigger = { + has_regent = yes + } + + monthly_legitimacy = -0.2 + monthly_tribal_cohesion = -0.2 + monthly_devotion = -0.2 + monthly_horde_unity = -0.2 + #monthly_republican_tradition = -0.2 # kinda ok for a republic to have a regent? +} + +ruler_has_no_ruler_traits = { + potential_trigger = { + ruler ?= { + num_of_traits_of_category = { type = ruler value = 0 } + } + } + + monthly_legitimacy = -0.1 + monthly_tribal_cohesion = -0.1 + monthly_devotion = -0.1 + monthly_horde_unity = -0.1 + monthly_republican_tradition = 0.1 # new rulers in republics are often popular +} + +ruler_has_all_traits = { + potential_trigger = { + ruler ?= { + num_of_traits_of_category = { type = ruler value = 3 } + } + } + + monthly_legitimacy = 0.1 + monthly_tribal_cohesion = 0.1 + monthly_devotion = 0.1 + monthly_horde_unity = 0.1 + monthly_republican_tradition = -0.1 # isn't he becoming a despot? +} + +d008_high_legitimacy = { + potential_trigger = { + uses_government_power = legitimacy + has_variable = legitimacy_benefits_variable + } + limit = { + legitimacy > 50 + } + scales_with = { + value = legitimacy + multiply = 0.01 + } + + global_pop_assimilation_speed_modifier = 0.2 + global_integration_speed_modifier = 0.2 +} + +below_half_fort_limit = { + potential_trigger = { + used_fort_limit_percentage < 0.5 + } + + scales_with = { + value = 0.5 + subtract = used_fort_limit_percentage + multiply = 2 + } + + monthly_towards_conciliatory = societal_value_monthly_move + monthly_towards_offensive = societal_value_monthly_move +} + +over_fort_limit = { + potential_trigger = { + used_fort_limit_percentage > 1.0 + } + + scales_with = { + value = used_fort_limit_percentage + subtract = 1.0 + } + + monthly_towards_belligerent = societal_value_monthly_move + monthly_towards_defensive = societal_value_monthly_move + global_defensive = -1.0 +} + +over_bureaucracy_limit = { + potential_trigger = { + max_bureaucracy_slots < num_bureaucracies + } + + scales_with = { + value = num_bureaucracies + subtract = max_bureaucracy_slots + } + stability_investment = large_stability_investment_penalty + court_spending_efficiency = -0.2 +} + +bureaucracy_nomos_empsychos_high_legitimacy = { + potential_trigger = { + uses_government_power = legitimacy + modifier:global_estate_satisfaction_from_legitimacy > 0 + } + limit = { legitimacy > 50 } + scales_with = { + value = legitimacy + multiply = 0.01 + } + + global_estate_target_satisfaction = 0.05 +} + +bureaucracy_nomos_empsychos_low_legitimacy = { + potential_trigger = { + uses_government_power = legitimacy + modifier:global_estate_satisfaction_from_legitimacy > 0 + } + limit = { legitimacy < 50 } + scales_with = { + value = legitimacy + multiply = -0.01 + add = 1 + } + + global_estate_target_satisfaction = -0.05 +} + +scaled_gov_power_monthly_nahualt_reform_progress = { + potential_trigger = { + religion = religion:nahuatl + } + limit = { + legitimacy > 50 + } + scales_with = { + value = legitimacy + multiply = 0.01 + } + + monthly_nahualt_reform_progress = 0.25 +} + +# ------------------------------------------------------------------------- +# Imperial Circles modifiers +# ------------------------------------------------------------------------- +# All circle modifiers are in static_modifiers/country.txt (manually applied +# via add_country_modifier). Auto-modifier evaluation does not support +# circle-scope iterators (any_imperial_circle_country_is_member_of). + diff --git a/in_game/common/building_types/Capital.txt b/in_game/common/building_types/Capital.txt new file mode 100644 index 0000000..35587eb --- /dev/null +++ b/in_game/common/building_types/Capital.txt @@ -0,0 +1,178 @@ +# ================= CAPITOL CHAIN ================= +Capitol = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.5 + city = yes + town = yes + megalopolis = yes + desc = "Capitol_desc" + price = Capitol + forbidden_for_estates = yes + location_potential = { is_capital = yes } + allow = { + is_capital = yes + owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + modifier = { + # Локальные модификаторы (только для провинции столицы) + local_proximity_source = 10 + local_monthly_development = 0.0025 + building_upkeep_multiplier = 0.0075 + } + capital_country_modifier = { + # Глобальные модификаторы (для всей страны) + global_distance_from_capital_speed_propagation = 0.05 + global_monthly_development = 0.00025 + tax_income_efficiency = 0.025 + global_crown_estate_power = 0.15 + army_tradition_decay = -0.0005 + army_maintenance_modifier = -0.025 + nobles_estate_target_satisfaction = -0.05 + } + unique_production_methods = { + Capitol_requirements = { + tools = 1.5 + masonry = 1.5 + weaponry = 1.0 + paper = 1.0 + books = 1.0 + furniture = 1.5 + fine_cloth = 1.0 + + category = building_maintenance + + } + } + remove_if = { + is_no_longer_capital = yes + } + + expensive = yes + ai_forbid_shutdown = yes + automation_build_allowed = no + important_for_AI = yes + ai_ignore_maintenance = yes + + graphical_tags = { palace } + build_time = 240 + construction_demand = university_construction +} + +Capitol_2 = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 1.0 + city = yes + town = yes + megalopolis = yes + desc = "Capitol_2_desc" + price = Capitol_2 + forbidden_for_estates = yes + increase_per_level_cost = 1.0 + location_potential = { is_capital = yes } + allow = { + is_capital = yes + owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + obsolete = Capitol + modifier = { + local_proximity_source = 25 + local_monthly_development = 0.005 + building_upkeep_multiplier = 0.0125 + } + capital_country_modifier = { + global_distance_from_capital_speed_propagation = 0.075 + global_monthly_development = 0.0005 + global_crown_estate_power = 0.30 + army_tradition_decay = -0.0005 + army_maintenance_modifier = -0.05 + nobles_estate_target_satisfaction = -0.15 + } + unique_production_methods = { + Capitol_2_requirements = { + tools = 2.0 + masonry = 2.5 + weaponry = 1.5 + paper = 1.75 + books = 1.75 + furniture = 2.25 + fine_cloth = 1.5 + category = building_maintenance + } + } + remove_if = { + is_no_longer_capital = yes + } + + expensive = yes + ai_forbid_shutdown = yes + automation_build_allowed = no + important_for_AI = yes + ai_ignore_maintenance = yes + + graphical_tags = { palace } + build_time = 480 + construction_demand = university_construction +} + +Capitol_3 = { + is_foreign = no + pop_type = bureaucrats + max_levels = 3 + category = government_category + employment_size = 1.5 + city = yes + town = yes + megalopolis = yes + desc = "Capitol_3_desc" + price = Capitol_3 + forbidden_for_estates = yes + increase_per_level_cost = 1.0 + location_potential = { is_capital = yes } + allow = { + is_capital = yes + owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + obsolete = Capitol_2 + modifier = { + local_proximity_source = 35.0 + local_monthly_development = 0.01 + building_upkeep_multiplier = 0.02 + } + capital_country_modifier = { + global_distance_from_capital_speed_propagation = 0.1 + global_monthly_development = 0.001 + tax_income_efficiency = 0.075 + global_crown_estate_power = 0.5 + army_tradition_decay = -0.0005 + army_maintenance_modifier = -0.075 + nobles_estate_target_satisfaction = -0.25 + } + unique_production_methods = { + Capitol_3_requirements = { + tools = 2.0 + masonry = 2.5 + weaponry = 1.5 + paper = 1.75 + books = 1.75 + furniture = 2.25 + fine_cloth = 1.5 + category = building_maintenance + } + } + remove_if = { + is_no_longer_capital = yes + } + + expensive = yes + ai_forbid_shutdown = yes + automation_build_allowed = no + important_for_AI = yes + ai_ignore_maintenance = yes + + graphical_tags = { palace } + build_time = 960 + construction_demand = university_construction +} diff --git a/in_game/common/building_types/ROV_buildings.txt b/in_game/common/building_types/ROV_buildings.txt new file mode 100644 index 0000000..a6ccf86 --- /dev/null +++ b/in_game/common/building_types/ROV_buildings.txt @@ -0,0 +1,679 @@ +Town_holl = { + is_foreign = no + pop_type = bureaucrats + max_levels = town_holl_1_max_level + category = government_category + employment_size = 0.15 + city = yes + forbidden_for_estates = yes + price = Town_holl + expensive = yes + ai_forbid_shutdown = yes + automation_build_allowed = no + important_for_AI = yes + ai_ignore_maintenance = yes + location_potential = { is_capital = no + city = yes } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } + population >= 30 } + modifier = { + local_proximity_source = 60 + local_monthly_development = 0.0050 + local_bureaucrats_desired_pop_scaled = 0.005 + } + unique_production_methods = { + Town_holl_requirements = { + tools = 1.25 + masonry = 2 + weaponry = 0.50 + paper = 0.5 + books = 0.50 + furniture = 1.0 + fine_cloth = 0.75 + category = building_maintenance + } + } + + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + +Town_holl_3 = { + is_foreign = no + pop_type = bureaucrats + max_levels = town_holl_3_max_level + category = government_category + employment_size = 0.450 + city = yes + forbidden_for_estates = yes + obsolete = Town_holl + price = Town_holl_3 + location_potential = { is_capital = no } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } + population >= 50 } + modifier = { + local_proximity_source = 70 + local_monthly_development = 0.001 + local_bureaucrats_desired_pop_scaled = 0.0175 + } + unique_production_methods = { + Town_holl_3_requirements = { + tools = 1.5 + masonry = 3 + weaponry = 1.0 + paper = 1.0 + books = 0.75 + furniture = 1.5 + fine_cloth = 1.0 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 360 + construction_demand = university_construction +} + + + + +Town_holl_5 = { + is_foreign = no + pop_type = bureaucrats + max_levels = town_holl_5_max_level + category = government_category + employment_size = 1.0 + city = yes + forbidden_for_estates = yes + obsolete = Town_holl_4 + desc = "Town_holl_5_desc" + price = Town_holl_3 + location_potential = { is_capital = no } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } + population >= 75 } + modifier = { + local_proximity_source = 80 + local_monthly_development = 0.0015 + local_bureaucrats_desired_pop_scaled = 0.025 + } + unique_production_methods = { + Town_holl_5_requirements = { + tools = 2.25 + masonry = 3 + weaponry = 1.5 + paper = 1.5 + books = 1.5 + furniture = 2 + fine_cloth = 1.50 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 720 + construction_demand = university_construction +} + + +# ================= TRADE_CENTR CHAIN ================= +Trade_centr = { + is_foreign = no + pop_type = bureaucrats + max_levels = trade_centr_1_max_level + category = government_category + employment_size = 0.100 + town = yes city = yes + desc = "Trade_centr_desc" + price = Trade_centr + forbidden_for_estates = yes + expensive = yes + ai_forbid_shutdown = yes + automation_build_allowed = no + important_for_AI = yes + ai_ignore_maintenance = yes + location_potential = { is_market_center = yes } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + modifier = { + free_building_levels = 10 + local_trade_center_power = 0.05 + local_monthly_development_modifier = 0.05 + local_bureaucrats_desired_pop_scaled = 0.005 + } + capital_country_modifier = { merchant_maintenance_cost = -0.05 } + unique_production_methods = { + Trade_centr_requirements = { + tools = 1.25 + masonry = 3 + weaponry = 1.0 + paper = 0.75 + books = 0.75 + furniture = 1.0 + fine_cloth = 0.75 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + +Trade_centr_3 = { + is_foreign = no + pop_type = bureaucrats + max_levels = trade_centr_3_max_level + category = government_category + employment_size = 0.10 + town = yes city = yes + forbidden_for_estates = yes + obsolete = Trade_centr + desc = "Trade_centr_3_desc" + price = Trade_centr + location_potential = { is_market_center = yes } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + modifier = { + local_trade_center_power = 0.1 + free_building_levels = 20 + local_monthly_development_modifier = 0.1 + local_bureaucrats_desired_pop_scaled = 0.0175 + } + capital_country_modifier = { merchant_maintenance_cost = -0.09 } + unique_production_methods = { + Trade_centr_3_requirements = { + tools = 0.75 + masonry = 1.50 + weaponry = 0.75 + paper = 1.00 + books = 1.00 + furniture = 1.50 + fine_cloth = 0.50 + + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 360 + construction_demand = university_construction +} + +Trade_centr_5 = { + is_foreign = no + pop_type = bureaucrats + max_levels = trade_centr_5_max_level + category = government_category + employment_size = 0.15 + town = yes city = yes + forbidden_for_estates = yes + obsolete = Trade_centr_3 + desc = "Trade_centr_5_desc" + price = Trade_centr_3 + location_potential = { is_market_center = yes } + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + modifier = { + local_trade_center_power = 0.2 + free_building_levels = 30 + local_monthly_development_modifier = 0.20 + local_bureaucrats_desired_pop_scaled = 0.025 + } + capital_country_modifier = { merchant_maintenance_cost = -0.13 } + unique_production_methods = { + Trade_centr_5_requirements = { + tools = 2.5 + masonry = 3 + weaponry = 1.5 + paper = 1.5 + books = 1.5 + furniture = 2 + fine_cloth = 1.75 + + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 720 + construction_demand = university_construction +} + + + + + +# ================= INFRASTRUCTURE (Оригинальная схема) ================= +Infrastructure = { + is_foreign = no + pop_type = bureaucrats + max_levels = infrastructure_max_level + category = government_category + employment_size = 0.025 + town = yes city = yes + desc = "Infrastructure_desc" + increase_per_level_cost = 1.0 + construction_cost = { gold = 200 } + price = Infrastructure + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + modifier = { + local_monthly_development_modifier = 0.05 + free_building_levels = 15 + local_population_capacity_modifier = 0.10 + local_monthly_prosperity = 0.0005 + local_bureaucrats_desired_pop_scaled = 0.0025 + } + unique_production_methods = { + Infrastructure_requirements = { + tools = 0.25 + masonry = 0.35 + lumber = 0.35 + paper = 0.15 + books = 0.15 + furniture = 0.25 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + +temple = { + is_foreign = no + max_levels = 1 + pop_type = clergy + desc = "temple_desc" + employment_size = religious_building_employment + category = religious_category + town = yes + city = yes + forbidden_for_estates = yes + price = temple + build_time = religious_building_time + possible_production_methods = { + temple_maintenance + } + graphical_tags = { small_religious } + construction_demand = town_building_construction + modifier = { + local_max_literacy = 2.5 + local_unrest = -0.025 + local_monthly_literacy = 0.01 + local_monthly_development_modifier = 0.05 + } +} + +counting_house = { + price = Counting_house + is_foreign = no + max_levels = 1 + pop_type = bureaucrats + desc = "counting_house_desc" + employment_size = 0.25 + category = government_category + forbidden_for_estates = yes + town = yes + city = yes + expensive = yes + build_time = government_build_time + unique_production_methods = { + counting_house_maintenance = { + icon_type = goods + icon = paper + paper = 0.5 + books = 0.25 + goods_gold = 0.15 + tools = 0.5 + category = building_maintenance + } + } + construction_demand = town_building_construction + modifier = { + local_crown_estate_power = 0.20 + local_monthly_development_modifier = 0.005 + local_bureaucrats_desired_pop_scaled = 0.005 + } +} + + +Counting_house_2 = { + is_foreign = no + max_levels = 1 + pop_type = bureaucrats + employment_size = 0.5 + category = government_category + forbidden_for_estates = yes + desc = "Counting_house_2_desc" + town = yes + city = yes + expensive = yes + obsolete = counting_house + price = Counting_house_2 + build_time = government_build_time + unique_production_methods = { + counting_house_2_requirements = { + icon_type = goods + icon = paper + paper = 1.0 + books = 0.75 + goods_gold = 0.5 + tools = 1.25 + category = building_maintenance + } + } + construction_demand = town_building_construction + modifier = { + local_crown_estate_power = 0.40 + local_monthly_development_modifier = 0.01 + local_bureaucrats_desired_pop_scaled = 0.01 + } +} + + +Construction_ministry = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.1 + city = yes + forbidden_for_estates = yes + desc = "Construction_ministry_desc" + price = Construction_ministry + location_potential = { + location_rank = location_rank:city } + modifier = { + local_monthly_development_modifier = 0.05 + local_build_buildings_efficiency = 0.50 + } + unique_production_methods = { + construction_ministry_requirements = { + icon_type = goods + icon = paper + tools = 0.5 + paper = 0.5 + masonry = 1.0 + furniture = 0.75 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + + + +# Исправлена кириллическая "С" на латинскую "C" +Construction_ministry_3 = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + forbidden_for_estates = yes + desc = "Construction_ministry_3_desc" + category = government_category + employment_size = 0.5 + city = yes + location_potential = { + location_rank = location_rank:city } + obsolete = Construction_ministry + price = Construction_ministry_3 + modifier = { + local_monthly_development_modifier = 0.15 + local_build_buildings_efficiency = 1.0 + } + unique_production_methods = { + construction_ministry_3_requirements = { + icon_type = goods + icon = paper + tools = 1.0 + paper = 1.0 + masonry = 2.0 + furniture = 1.5 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + + +# Исправлена кириллическая "С" на латинскую "C" +Construction_ministry_5 = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 1.0 + city = yes + forbidden_for_estates = yes + location_potential = { + location_rank = location_rank:city } + desc = "Construction_ministry_5_desc" + obsolete = Construction_ministry_3 + price = Construction_ministry_5 + modifier = { + local_monthly_development_modifier = 0.15 + local_build_buildings_efficiency = 1.75 + } + unique_production_methods = { + construction_ministry_5_requirements = { + icon_type = goods + icon = paper + tools = 2.0 + paper = 2.0 + masonry = 4.0 + furniture = 3.0 + category = building_maintenance + } + } + graphical_tags = { palace } + build_time = 360 + construction_demand = university_construction +} + + + +Proximity_house = { + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.25 + town = yes + price = Proximity_house + forbidden_for_estates = yes + location_potential = { + is_capital = no + location_rank = location_rank:town + } + + allow = { owner = { has_primary_or_accepted_culture = prev.dominant_culture } } + + modifier = { + local_proximity_source = 45 + local_bureaucrats_desired_pop_scaled = 0.025 + } + + unique_production_methods = { + proximity_house_maintenance = { + icon_type = goods + icon = tools + tools = 0.75 + masonry = 1.5 + weaponry = 0.50 + paper = 0.50 + books = 0.50 + furniture = 1.0 + fine_cloth = 0.75 + category = building_maintenance + } + } + + graphical_tags = { palace } + build_time = 180 + construction_demand = university_construction +} + +bridge_infrastructure = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = 1 + + employment_size = generic_peasant_building_employment + price = low_base_price + category = infrastructure_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + build_time = infrastructure_build_time + + location_potential = { + has_river = yes + num_roads > 0 + } + allow = { } + + modifier = { + local_monthly_development_modifier = 0.1 + local_distance_from_capital_speed_propagation = 0.2 + movement_cost = -0.1 + } + + possible_production_methods = { + bridge_maintenance + } + + construction_demand = bridge_construction +} +trade_office = { + audio_tier = 2 + is_foreign = yes + stronger_power_projection = no + max_levels = trade_office_max_level + need_good_relation = yes + pop_type = burghers + increase_per_level_cost = 1.0 + forbidden_for_estates = yes + category = trade_category + + employment_size = foreign_trade_employment + pop_size_created = foreign_trade_employment + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + country_potential = { + NOR = { + AND = { + has_reform = government_reform:japanese_imperial_family + country_type = building + } + has_reform = government_reform:japanese_clan + } + } + + allow = { + market = { in_trade_range_of = scope:actor } + } + + + + build_time = trade_post_build_time + + unique_production_methods = { + trade_office_requirements = { + icon_type = goods + icon = paper + paper = 0.1 + category = building_maintenance + } + } + + + modifier = { + merchant_capacity_from_building = 0.3 + building_owner_maritime_presence = 0.05 + merchant_power_from_building = 0.2 + } +} +sergeantry = { + audio_tier = 1 + is_foreign = no + pop_type = soldiers + max_levels = 1 + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + + build_time = medium_soldier_building + + location_potential = { + is_capital = yes + } + country_potential = { + government_type ?= government_type:monarchy + } + remove_if = { + is_no_longer_capital = yes + } + + capital_modifier = { + local_manpower = 0.050 + can_recruit_regiment_in_this_location = yes + local_crown_estate_power = 0.25 + } + + possible_production_methods = { + early_soldier_building_maintenance + } + construction_demand = early_soldier_building_construction +} + +city_guard = { + audio_tier = 1 + is_foreign = no + pop_type = soldiers + max_levels = 1 + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + + build_time = medium_soldier_building + + location_potential = { + is_capital = yes + } + country_potential = { + government_type ?= government_type:republic + } + remove_if = { + is_no_longer_capital = yes + } + + capital_modifier = { + local_manpower = 0.04 + can_recruit_regiment_in_this_location = yes + } + + possible_production_methods = { + early_soldier_building_maintenance + } + construction_demand = early_soldier_building_construction +} +itinerant_court_seat = { + +} \ No newline at end of file diff --git a/in_game/common/building_types/common_buildings.txt b/in_game/common/building_types/common_buildings.txt new file mode 100644 index 0000000..119a81c --- /dev/null +++ b/in_game/common/building_types/common_buildings.txt @@ -0,0 +1,633 @@ +irrigation_systems = { + audio_tier = 1 + is_foreign = no + max_levels = irrigant_cap + pop_type = peasants + + category = infrastructure_category + employment_size = generic_peasant_building_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + forbidden_for_estates = yes + + location_potential = { + OR = { + has_river = yes + is_adjacent_to_lake = yes + } + } + + build_time = infrastructure_build_time + + unique_production_methods = { + irrigation_maintenance = { + icon_type = goods + icon = tools + tools = 0.1 + category = building_maintenance + } + } + + construction_demand = village_construction + + modifier = { + local_population_capacity = 1.0 + local_monthly_food_modifier = 0.05 + } +} + +pound_lock_canal_infrastructure = { + audio_tier = 2 + is_foreign = no + pop_type = laborers + max_levels = 1 + forbidden_for_estates = yes + + employment_size = generic_peasant_building_employment + + category = infrastructure_category + + city = yes + megalopolis = yes + + build_time = infrastructure_build_time + + location_potential = { + OR = { + is_coastal = yes + has_river = yes + is_adjacent_to_lake = yes + } + development >= 20 + } + allow = { } + + modifier = { + local_distance_from_capital_speed_propagation = 0.1 + local_monthly_food_modifier = 0.05 + } + + possible_production_methods = { + pound_lock_canal_infrastructure_maintenance + } + + construction_demand = pound_lock_canal_infrastructure_construction +} + +mason = { + audio_tier = 1 + is_foreign = no + max_levels = guild_max_level + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + + category = basic_industry_category + employment_size = advanced_peasant_building_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + build_time = guild_build_time + + unique_production_methods = { + stone_bricks = { + icon_type = goods + icon = stone + stone = 0.83 + produced = masonry + output = 0.75 + debug_max_profit = rural_profit_margin + category = guild_input + } + clay_bricks = { + icon_type = goods + icon = clay + clay = 0.75 + produced = masonry + output = 0.75 + debug_max_profit = rural_profit_margin + category = guild_input + } + + marble_bricks = { + marble = 0.75 + produced = masonry + output = 1.25 + debug_max_profit = rural_profit_margin + category = guild_input + } + + } + + construction_demand = basic_construction_needs +} + +mercury_patio = { + audio_tier = 3 + is_foreign = no + max_levels = mercury_patio_max_level + pop_type = laborers + + category = rgo_building_category + employment_size = advanced_peasant_building_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + raw_material = goods:silver + raw_material = goods:goods_gold + } + } + + build_time = guild_build_time + + unique_production_methods = { + mercury_patio_maintenance = { + icon_type = goods + icon = mercury + mercury = 1.0 + category = building_maintenance + } + } + + construction_demand = mercury_patio_construction + + modifier = { + local_goods_gold_output_modifier = 1.0 + local_silver_output_modifier = 1.0 + } +} + +tar_kiln = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = tiny_rural_peasant_produce_employment + + category = basic_industry_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + vegetation = woods + vegetation = forest + vegetation = jungle + raw_material = goods:lumber + } + } + + unique_production_methods = { + tar_kiln_maintenance = { + icon_type = goods + icon = lumber + produced = tar + output = 0.75 + lumber = 1.1111 + category = guild_input + + debug_max_profit = rural_profit_margin + } + } + + build_time = rural_build_time + + construction_demand = guild_construction +} + +horse_breeders = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + + category = rgo_building_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + market = { + is_produced_in_market = goods:horses + } + } + + allow = { + OR = { + climate = mediterranean + climate = continental + climate = oceanic + } + } + + unique_production_methods = { + + horse_breeders_maintenance = { + icon_type = goods + icon = wheat + produced = horses + output = 0.75 + wheat = 1.563 + horses = 0.313 + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + build_time = rural_build_time + + construction_demand = horse_breeders_construction +} + +stone_quarry = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + topography = mountains + topography = plateau + topography = hills + } + NOT = { + raw_material = goods:stone + } + } + + category = rgo_building_category + + unique_production_methods = { + + stone_quarry_maintenance = { + icon_type = goods + icon = tools + tools = 0.107 + lumber = 0.127 + leather = 0.107 + + produced = stone + output = 0.75 + + debug_max_profit = rural_profit_margin + category = building_maintenance + } + + crude_quarry_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.278 + + produced = stone + output = 0.25 + + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + build_time = rural_build_time + + construction_demand = basic_construction_needs +} + +lumber_mill = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + location_potential = { + OR = { + vegetation = woods + vegetation = forest + vegetation = farmland + vegetation = jungle + } + NOT = { + raw_material = goods:lumber + } + } + + category = rgo_building_category + + build_time = rural_build_time + + unique_production_methods = { + lumber_mill_maintenance = { + icon_type = goods + icon = tools + produced = lumber + output = 0.75 + + tools = 0.417 + + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + construction_demand = basic_construction_needs +} + +fiber_crops_farm = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + NOT = { + raw_material = goods:fiber_crops + } + NOT = { climate = arctic } + } + + category = rgo_building_category + + build_time = rural_build_time + + unique_production_methods = { + fiber_crops_farm_maintenance = { + icon_type = goods + icon = livestock + livestock = 0.494 + lumber = 0.198 + tools = 0.099 + category = building_maintenance + + produced = fiber_crops + output = 0.6 + + debug_max_profit = rural_profit_margin + } + } + + construction_demand = farm_constructions +} + +sand_pit = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + NOT = { + raw_material = goods:sand + } + } + + category = rgo_building_category + + build_time = rural_build_time + + unique_production_methods = { + sand_pit_maintenance = { + icon_type = goods + icon = tools + tools = 0.058 + lumber = 0.161 + category = building_maintenance + + produced = sand + output = 0.75 + + debug_max_profit = rural_profit_margin + } + } + + construction_demand = basic_construction_needs +} + +bog_iron_smelter = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + location_potential = { + OR = { + is_adjacent_to_lake = yes + topography = wetlands + } + NOT = { + raw_material = goods:iron + } + } + + category = rgo_building_category + + unique_production_methods = { + bog_iron_maintenance = { + icon_type = goods + icon = coal + produced = iron + output = 0.45 + coal = 0.375 + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + build_time = rural_build_time + construction_demand = basic_construction_needs +} + +clay_pit = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = laborers + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + is_coastal = yes + has_river = yes + is_adjacent_to_lake = yes + } + NOT = { + raw_material = goods:clay + } + } + + category = rgo_building_category + + unique_production_methods = { + clay_pit_maintenance = { + icon_type = goods + icon = lumber + produced = clay + output = 0.75 + lumber = 0.2778 + category = building_maintenance + debug_max_profit = rural_profit_margin + } + } + + build_time = rural_build_time + construction_demand = basic_construction_needs + +} + +salt_collector = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + + category = rgo_building_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + vegetation = desert + is_coastal = yes + } + } + + unique_production_methods = { + + salt_collector_maintenance = { + icon_type = goods + icon = clay + produced = salt + output = 0.45 + + clay = 2.0 + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + modifier = { + } + + build_time = rural_build_time + + construction_demand = farm_constructions +} + +fruit_orchard = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + + category = rgo_building_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + OR = { + vegetation = grasslands + vegetation = farmland + vegetation = woods + vegetation = jungle + } + } + + unique_production_methods = { + + fruit_orchard_maintenance = { + icon_type = goods + icon = lumber + produced = fruit + output = 0.3 + + lumber = 0.167 + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + build_time = rural_build_time + + construction_demand = farm_constructions +} \ No newline at end of file diff --git a/in_game/common/building_types/culture_buildings.txt b/in_game/common/building_types/culture_buildings.txt new file mode 100644 index 0000000..037c0ac --- /dev/null +++ b/in_game/common/building_types/culture_buildings.txt @@ -0,0 +1,421 @@ +university = { + audio_tier = 3 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + + + category = cultural_category + employment_size = religious_building_employment + + town = yes + city = yes + megalopolis = yes + + AI_ignore_available_worker_flag = yes #since we may build this to increase pop promotion we don't want lack of workers to block it + + expensive = yes + + build_time = large_cultural_building_time + + forbidden_for_estates = yes + + allow = { + is_core_of = owner + owner = { modifier:university_construction_blocked = no } + } + + modifier = { + local_cultural_influence = 0.5 + local_burghers_max_literacy = 10 + local_monthly_literacy = 0.05 + local_migration_attraction = 0.05 + local_pop_promotion_speed = 0.001 + local_institution_growth_modifier = 0.33 + } + + unique_production_methods = { + university_maintenance = { + icon_type = goods + icon = paper + paper = 0.5 + books = 0.25 + glass = 0.25 + beeswax = 0.05 + + category = building_maintenance + } + } + + construction_demand = university_construction +} + +library = { + audio_tier = 2 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + + category = cultural_category + employment_size = cultural_employment + + AI_ignore_available_worker_flag = yes #since we may build this to increase pop promotion we don't want lack of workers to block it + + town = yes + city = yes + megalopolis = yes + + forbidden_for_estates = yes + + + graphical_tags = { medium_religious } + + build_time = cultural_building_time + + modifier = { + local_cultural_influence = 0.1 + local_monthly_literacy = 0.5 + local_pop_promotion_speed = 0.001 + local_institution_growth_modifier = 0.25 + } + + possible_production_methods = { + library_maintenance + } + + + construction_demand = library_construction +} + +#Similar to a Library for Confucianism +#Hyanggyo https://en.wikipedia.org/wiki/Hyanggyo +#Shuyuan https://en.wikipedia.org/wiki/Academies_of_Classical_Learning +confucian_school = { + audio_tier = 1 + is_special = yes + is_foreign = no + max_levels = 1 + pop_type = nobles + + employment_size = noble_cultural_employment + category = cultural_category + + AI_ignore_available_worker_flag = yes #since we may build this to increase pop promotion we don't want lack of workers to block it + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + build_time = cultural_building_time + + + + country_potential = { + OR = { + culture = { has_culture_group = culture_group:confucian_group } + religion ?= religion:sanjiao + any_international_organizations_member_of = { + international_organization_type = international_organization_type:sect + international_organization_has_policy = policy:confucianism_policy + } + custom_tooltip = { + text = has_neo_confucianism_tt + has_variable = has_neo_confucianism + } + is_member_of_international_organization = international_organization:middle_kingdom + } + } + + possible_production_methods = { + confucian_school_maintenance + } + + construction_demand = school_construction + + modifier = { + local_max_literacy = 5 + local_pop_promotion_speed = 0.001 + local_institution_growth_modifier = 0.25 + } + capital_country_modifier = { + monthly_towards_sinicized = societal_value_tiny_monthly_move + } +} + +#Intermediate building between confucian_school and university +#Seowon https://en.wikipedia.org/wiki/Seowon +#Shuyuan https://en.wikipedia.org/wiki/Academies_of_Classical_Learning +confucian_academy = { + audio_tier = 2 + is_special = yes + is_foreign = no + pop_type = nobles + max_levels = 1 + + category = cultural_category + employment_size = noble_cultural_employment + + AI_ignore_available_worker_flag = yes #since we may build this to increase pop promotion we don't want lack of workers to block it + + town = yes + city = yes + megalopolis = yes + + expensive = yes + + build_time = cultural_building_time + + allow = { + is_core_of = owner + } + + modifier = { + local_pop_promotion_speed = 0.001 + local_institution_growth_modifier = 0.5 + } + capital_country_modifier = { + monthly_towards_sinicized = societal_value_tiny_monthly_move + } + + unique_production_methods = { + confucian_academy_maintenance = { + icon_type = goods + icon = paper + paper = 0.4 + beeswax = 0.1 + books = 0.2 + cloth = 0.3 + fine_cloth = 0.1 + + category = building_maintenance + } + + } + + + construction_demand = academy_construction +} + +opera_house = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = cultural_category + + employment_size = large_cultural_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + + build_time = large_cultural_building_time + + modifier = { + local_cultural_tradition = 0.5 + local_cultural_influence = 0.25 + local_unrest = -0.05 + } + + unique_production_methods = { + opera_house_maintenance = { + icon_type = goods + icon = cloth + cloth = 0.6 + wine = 0.6 + paper = 0.6 + lacquerware = 0.2 + fine_cloth = 0.1 + beeswax = 0.2 + + category = building_maintenance + } + + } + + + construction_demand = opera_house_construction +} + +theater = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = cultural_category + + employment_size = cultural_employment + + town = yes + city = yes + megalopolis = yes + + + + build_time = cultural_building_time + + modifier = { + local_cultural_tradition = 0.2 + local_unrest = -0.02 + } + + + possible_production_methods = { + theater_maintenance + } + + + construction_demand = theater_construction +} + +jesuit_college = { + audio_tier = 2 + is_special = yes + is_foreign = no + pop_type = clergy + max_levels = 1 + + category = cultural_category + employment_size = religious_building_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + + build_time = large_religious_building_time + + country_potential = { + has_unlocked_building_trigger = { type = jesuit_college } + } + allow = { + owner = { + has_policy = jesuits_allowed + } + } + + remove_if = { + NOT = { + owner = { + has_policy = jesuits_allowed + } + } + } + graphical_tags = { medium_religious } + + modifier = { + local_cultural_influence = 0.2 + local_monthly_literacy = 0.05 + local_lutheranism_movement_growth_modifier = -0.4 + local_calvinism_movement_growth_modifier = -0.4 + } + + unique_production_methods = { + + jesuit_college_maintenance = { + icon_type = goods + icon = paper + paper = 0.5 + books = 1.0 + fine_cloth = 0.2 + beeswax = 0.1 + + category = building_maintenance + } + } + + construction_demand = university_construction +} + +art_school = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = cultural_category + + employment_size = cultural_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = large_cultural_building_time + + location_potential = { + is_capital = yes + } + remove_if = { + is_no_longer_capital = yes + } + + capital_modifier = { + local_cultural_influence = 0.1 + local_cultural_tradition = 0.1 + } + + capital_country_modifier = { + skill_of_new_artists = 0.1 + work_of_art_sell_value_modifier = 0.1 + } + + possible_production_methods = { + art_school_maintenance + } + construction_demand = art_school_construction +} + +arts_academy = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = 1 + + obsolete = art_school + + category = cultural_category + + employment_size = generic_burgher_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = large_cultural_building_time + + location_potential = { + is_capital = yes + } + remove_if = { + is_no_longer_capital = yes + } + country_potential = { + + } + + capital_modifier = { + local_cultural_influence = 0.25 + local_cultural_tradition = 0.25 + } + + capital_country_modifier = { + skill_of_new_artists = 0.25 + work_of_art_sell_value_modifier = 0.2 + } + + possible_production_methods = { + arts_academy_maintenance + } + + + construction_demand = art_school_construction +} \ No newline at end of file diff --git a/in_game/common/building_types/epbm_estate_building_maintenance.txt b/in_game/common/building_types/epbm_estate_building_maintenance.txt new file mode 100644 index 0000000..08c1683 --- /dev/null +++ b/in_game/common/building_types/epbm_estate_building_maintenance.txt @@ -0,0 +1,149 @@ +# Nobles + +INJECT:toll_castle = { + possible_production_methods = { epbm_toll_castle_maintenance } +} + +INJECT:nobility_fortifications = { + possible_production_methods = { epbm_nobility_fortifications_maintenance } +} + +INJECT:rotten_borough = { + possible_production_methods = { epbm_rotten_borough_maintenance } +} + +INJECT:noble_villa = { + possible_production_methods = { epbm_noble_villa_maintenance } +} + +INJECT:local_noble_delegation = { + possible_production_methods = { epbm_local_noble_delegation_maintenance } +} + +INJECT:nobles_recruitment_center = { + possible_production_methods = { epbm_nobles_recruitment_center_maintenance } +} + +INJECT:local_estates = { + possible_production_methods = { epbm_local_estates_maintenance } +} + +INJECT:noble_courts = { + possible_production_methods = { epbm_noble_courts_maintenance } +} + +INJECT:nobles_mansion = { + possible_production_methods = { epbm_nobles_mansion_maintenance } +} + +INJECT:nobled_sponsored_temple = { + possible_production_methods = { epbm_nobled_sponsored_temple_maintenance } +} + +# Clergy + +INJECT:cathedral = { + possible_production_methods = { epbm_cathedral_maintenance } +} + +INJECT:parish_church = { + possible_production_methods = { epbm_parish_church_maintenance } +} + +INJECT:local_shrine = { + possible_production_methods = { epbm_local_shrine_maintenance } +} + +INJECT:clerical_archives = { + possible_production_methods = { epbm_clerical_archives_maintenance } +} + +INJECT:spiritual_retreat = { + possible_production_methods = { epbm_spiritual_retreat_maintenance } +} + +INJECT:warrior_monks_training_grounds = { + possible_production_methods = { epbm_warrior_monks_training_grounds_maintenance } +} + +# Burghers + +INJECT:guild_hall = { + possible_production_methods = { epbm_guild_hall_maintenance } +} + +INJECT:merchants_guild = { + possible_production_methods = { epbm_merchants_guild_maintenance } +} + +INJECT:local_markets = { + possible_production_methods = { epbm_local_markets_maintenance } +} + +INJECT:burgher_mansion = { + possible_production_methods = { epbm_burgher_mansion_maintenance } +} + +INJECT:artisan_guilds = { + possible_production_methods = { epbm_artisan_guilds_maintenance } +} + +INJECT:local_assembly = { + possible_production_methods = { epbm_local_assembly_maintenance } +} + +# Peasants + +INJECT:pirate_haven = { + possible_production_methods = { epbm_pirate_haven_maintenance } +} + +INJECT:peasants_training_grounds = { + possible_production_methods = { epbm_peasants_training_grounds_maintenance } +} + +INJECT:festival_grounds = { + possible_production_methods = { epbm_festival_grounds_maintenance } +} + +INJECT:peasants_hunting_grounds = { + possible_production_methods = { epbm_peasants_hunting_grounds_maintenance } +} + +INJECT:local_schools = { + possible_production_methods = { epbm_local_schools_maintenance } +} + +INJECT:local_newspaper = { + possible_production_methods = { local_newspaper_maintenance } +} + +INJECT:free_village = { + possible_production_methods = { epbm_free_village_maintenance } +} + +# Unique / event buildings + +INJECT:cinque_port = { + possible_production_methods = { epbm_cinque_port_maintenance } +} + +INJECT:gallowglass_sept = { + possible_production_methods = { epbm_gallowglass_sept_maintenance } +} + +INJECT:pirate_stronghold = { + possible_production_methods = { epbm_pirate_stronghold_maintenance } +} + +INJECT:corporation_of_london = { + possible_production_methods = { epbm_corporation_of_london_maintenance } +} + +INJECT:bulgarian_administration_center = { + possible_production_methods = { epbm_bulgarian_administration_center_maintenance } +} + +INJECT:maniot_toll_guards = { + possible_production_methods = { epbm_maniot_toll_guards_maintenance } +} diff --git a/in_game/common/building_types/forts.txt b/in_game/common/building_types/forts.txt new file mode 100644 index 0000000..7246866 --- /dev/null +++ b/in_game/common/building_types/forts.txt @@ -0,0 +1,292 @@ +stockade = { + audio_tier = 1 + + max_levels = 1 + pop_type = soldiers + category = defense_category + + employment_size = stockade_employment + rural_settlement = yes + town = yes + city = yes + estate = nobles_estate + build_time = small_fort_building + + expensive = yes + + + + unique_production_methods = { + stockade_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.05 + weaponry = 0.01 + tar = 0.01 + category = building_maintenance + } + } + construction_demand = stockade_construction + + + modifier = { + local_garrison_size = 0.1 + local_unrest = -0.025 + local_nobles_estate_power = 0.5 + } + + raw_modifier = { + fort_level = 1 + local_nobles_desired_pop = 0.005 + pure_tooltip_entry = pte_no_propagating_zone_of_control # propagating_zone_of_control = no + } +} + +castle = { + audio_tier = 2 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = defense_category + obsolete = stockade + + employment_size = castle_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + build_time = medium_fort_building + + expensive = yes + + + unique_production_methods = { + castle_maintenance = { + icon_type = goods + icon = stone + stone = 0.1 + tools = 0.05 + weaponry = 0.1 + tar = 0.025 + category = building_maintenance + } + } + construction_demand = castle_construction + + + modifier = { + local_garrison_size = 0.5 + local_unrest = -0.05 + local_nobles_estate_power = 1.0 + } + + raw_modifier = { + fort_level = 2 + local_nobles_desired_pop = 0.02 + propagating_zone_of_control = yes + } +} + +bastion = { + audio_tier = 3 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = defense_category + obsolete = castle + + employment_size = bastion_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + build_time = medium_fort_building + + expensive = yes + + unique_production_methods = { + + bastion_maintenance = { + icon_type = goods + icon = stone + stone = 0.5 + firearms = 0.5 + cannons = 0.5 + tools = 0.2 + weaponry = 0.5 + category = building_maintenance + } + + } + construction_demand = fort_construction + + modifier = { + local_garrison_size = 1.0 + local_unrest = -0.05 + } + + + raw_modifier = { + fort_level = 4 + propagating_zone_of_control = yes + } +} + +star_fort = { + audio_tier = 4 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = defense_category + obsolete = bastion + employment_size = star_fort_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + build_time = large_fort_building + + expensive = yes + + unique_production_methods = { + star_fort_maintenance = { + stone = 1 + firearms = 1 + cannons = 1.0 + tools = 0.5 + weaponry = 1 + category = building_maintenance + } + } + construction_demand = fort_construction + + modifier = { + local_garrison_size = 2.0 + local_unrest = -0.05 + } + + + raw_modifier = { + fort_level = 6 + propagating_zone_of_control = yes + } +} + +fortress = { + audio_tier = 6 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = defense_category + obsolete = star_fort + + employment_size = fortress_employment + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + build_time = large_fort_building + + expensive = yes + + unique_production_methods = { + fortress_maintenance = { + stone = 2 + firearms = 4 + cannons = 4 + tools = 2 + weaponry = 2 + category = building_maintenance + } + } + construction_demand = fort_construction + + + modifier = { + local_garrison_size = 4.0 + local_unrest = -0.05 + } + + raw_modifier = { + fort_level = 8 + propagating_zone_of_control = yes + } +} + + + + +city_walls = { + audio_tier = 2 + is_foreign = no + max_levels = 1 + pop_type = soldiers + + category = defense_category + + employment_size = castle_employment + + rural_settlement = no + town = setup_only + city = yes + megalopolis = yes + + + build_time = huge_unique_build_time + + expensive = yes + + possible_production_methods = { + city_walls_maintenance + } + + construction_demand = city_walls_construction + + allow = { + NOT = { has_building = building_type:theodosian_walls } + NOT = { has_building = building_type:walls_of_lucca } + } + + + modifier = { + local_garrison_size = 1.0 + local_defensive = 0.25 + blocks_vision_from_land = yes + blocks_vision_from_sea = yes + movement_cost = 0.2 + local_unrest = -0.05 + local_burghers_estate_power = 0.1 + local_crown_estate_power = -0.1 + } + + market_center_modifier = { + local_trade_center_power = 0.05 + } + + raw_modifier = { + minimum_fort_level = 1 + propagating_zone_of_control = no + } + + graphical_tags = { small_city_walls city_walls } +} \ No newline at end of file diff --git a/in_game/common/building_types/integration_buildings.txt b/in_game/common/building_types/integration_buildings.txt new file mode 100644 index 0000000..b0fb302 --- /dev/null +++ b/in_game/common/building_types/integration_buildings.txt @@ -0,0 +1,181 @@ +# ================= INTEGRATION CHAIN ================= +# Crown-built administrative offices that fold newly conquered (non-core) +# locations into the state. Staffed by bureaucrats. Three tiers, each one +# replacing the previous, and removed once the location becomes a core, +# since there is nothing left to integrate. +# +# Buildings apply *location*-scope modifiers, so the province-scope +# "province_integration_speed" cannot live on the building itself. The +# location-scope equivalent is local_integration_speed_modifier (the same +# "Speed of Integration" stat, applied per location). + +integration_office = { + audio_tier = 1 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.25 + forbidden_for_estates = yes + expensive = yes + desc = "integration_office_desc" + price = integration_office + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + NOT = { is_core_of = owner } + province = { + NOT = { + any_location_in_province = { has_building = building_type:integration_office } + any_location_in_province = { has_building = building_type:integration_chancery } + any_location_in_province = { has_building = building_type:integration_ministry } + } + } + } + remove_if = { + location = { is_core_of = owner } + } + + modifier = { + local_integration_speed_modifier = 0.50 + local_separatism = -0.02 + local_unrest = -0.01 + local_bureaucrats_desired_pop_scaled = 0.001 + } + + unique_production_methods = { + integration_office_maintenance = { + icon_type = goods + icon = paper + paper = 0.3 + books = 0.15 + tools = 0.2 + furniture = 0.2 + fine_cloth = 0.1 + category = building_maintenance + } + } + + graphical_tags = { palace } + build_time = government_build_time + construction_demand = town_building_construction +} + +integration_chancery = { + audio_tier = 2 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.5 + forbidden_for_estates = yes + expensive = yes + desc = "integration_chancery_desc" + price = integration_chancery + obsolete = integration_office + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + NOT = { is_core_of = owner } + has_building = building_type:integration_office + province = { + NOT = { + any_location_in_province = { has_building = building_type:integration_chancery } + any_location_in_province = { has_building = building_type:integration_ministry } + } + } + } + remove_if = { + location = { is_core_of = owner } + } + + modifier = { + local_integration_speed_modifier = 1.0 + local_monthly_development = 0.005 + local_separatism = -0.04 + local_unrest = -0.02 + local_bureaucrats_desired_pop_scaled = 0.0025 + } + + unique_production_methods = { + integration_chancery_maintenance = { + icon_type = goods + icon = paper + paper = 0.6 + books = 0.3 + tools = 0.4 + furniture = 0.4 + fine_cloth = 0.2 + category = building_maintenance + } + } + + graphical_tags = { palace } + build_time = government_build_time + construction_demand = town_building_construction +} + +integration_ministry = { + audio_tier = 3 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + category = government_category + employment_size = 0.75 + forbidden_for_estates = yes + expensive = yes + desc = "integration_ministry_desc" + price = integration_ministry + obsolete = integration_chancery + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + location_potential = { + NOT = { is_core_of = owner } + has_building = building_type:integration_chancery + province = { + NOT = { + any_location_in_province = { has_building = building_type:integration_ministry } + } + } + } + remove_if = { + location = { is_core_of = owner } + } + + modifier = { + local_integration_speed_modifier = 2.0 + local_monthly_development = 0.01 + local_separatism = -0.06 + local_unrest = -0.03 + local_bureaucrats_desired_pop_scaled = 0.005 + } + + unique_production_methods = { + integration_ministry_maintenance = { + icon_type = goods + icon = paper + paper = 1.0 + books = 0.5 + tools = 0.6 + furniture = 0.6 + fine_cloth = 0.35 + category = building_maintenance + } + } + + graphical_tags = { palace } + build_time = government_build_time + construction_demand = town_building_construction +} diff --git a/in_game/common/building_types/manpower_buildings.txt b/in_game/common/building_types/manpower_buildings.txt new file mode 100644 index 0000000..266df3c --- /dev/null +++ b/in_game/common/building_types/manpower_buildings.txt @@ -0,0 +1,379 @@ +warrior_temple = { + audio_tier = 1 + is_special = yes + is_foreign = no + pop_type = soldiers + max_levels = 1 + + category = military_category + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + + build_time = medium_soldier_building + + country_potential = { + religion ?= religion:nahuatl + } + graphical_tags = { medium_religious } + + modifier = { + local_clergy_estate_power = 0.1 + local_manpower = 0.01 + can_recruit_regiment_in_this_location = yes + } + + raw_modifier = { + local_may_build_nahuatl_units = yes + } + + possible_production_methods = { + nahuatl_warrior_building_maintenance + } + construction_demand = nahuatl_warrior_building_construction +} + +armory = { + audio_tier = 1 + is_foreign = no + pop_type = soldiers + max_levels = manpower_max_level + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + + important_for_AI = yes + + build_time = soldier_building + + obsolete = provincial_garrison + obsolete = korean_barracks + + allow = { + owner = { has_primary_or_accepted_culture = prev.dominant_culture } + } + remove_if = { + NOT = { owner = { has_primary_or_accepted_culture = prev.location.dominant_culture } } + } + + + modifier = { + local_manpower = 0.01 + can_recruit_regiment_in_this_location = yes + } + + + unique_production_methods = { + armory_maintenance = { + icon_type = goods + icon = firearms + firearms = 0.25 + leather = 0.25 + cloth = 0.10 + paper = 0.20 + weaponry = 0.3 + + category = building_maintenance + } + + } + + + construction_demand = early_soldier_building_construction +} + +training_fields = { + audio_tier = 1 + is_foreign = no + pop_type = soldiers + max_levels = manpower_max_level + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + + rural_settlement = yes + + build_time = soldier_building + important_for_AI = yes + AI_ignore_available_worker_flag = yes #more important than some random RGO + + allow = { + owner = { has_primary_or_accepted_culture = prev.dominant_culture } + } + remove_if = { + NOT = { owner = { has_primary_or_accepted_culture = prev.location.dominant_culture } } + } + + modifier = { + local_manpower = 0.01 + can_recruit_regiment_in_this_location = yes + } + + unique_production_methods = { + training_fields_maintenance = { + icon_type = goods + icon = firearms + firearms = 0.5 + leather = 0.5 + cloth = 0.10 + paper = 0.20 + weaponry = 0.5 + + category = building_maintenance + } + + } + + construction_demand = soldier_building_construction +} + +barracks = { + audio_tier = 2 + is_foreign = no + pop_type = soldiers + max_levels = manpower_max_level + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + important_for_AI = yes + + town = yes + city = yes + megalopolis = yes + + obsolete = armory + + build_time = soldier_building + + allow = { + owner = { has_primary_or_accepted_culture = prev.dominant_culture } + } + remove_if = { + NOT = { owner = { has_primary_or_accepted_culture = prev.location.dominant_culture } } + } + + modifier = { + local_manpower = 0.015 + can_recruit_regiment_in_this_location = yes + max_regiments_trained_at_same_time = 1 + } + + unique_production_methods = { + barracks_maintenance = { + icon_type = goods + icon = firearms + firearms = 1.0 + leather = 1.0 + cloth = 0.20 + paper = 0.40 + weaponry = 1.0 + + category = building_maintenance + } + + } + + construction_demand = soldier_building_construction +} + +regimental_camp = { + audio_tier = 2 + is_foreign = no + pop_type = soldiers + max_levels = manpower_max_level + + category = military_category + forbidden_for_estates = yes + important_for_AI = yes + AI_ignore_available_worker_flag = yes #more important than some random RGO + + employment_size = manpower_employment + + obsolete = training_fields + + rural_settlement = yes + + build_time = soldier_building + + allow = { + owner = { has_primary_or_accepted_culture = prev.dominant_culture } + } + remove_if = { + NOT = { owner = { has_primary_or_accepted_culture = prev.location.dominant_culture } } + } + + modifier = { + local_manpower = 0.02 + can_recruit_regiment_in_this_location = yes + } + + unique_production_methods = { + regimental_camp_maintenance = { + icon_type = goods + icon = firearms + firearms = 1.0 + leather = 1.0 + cloth = 0.20 + paper = 0.40 + weaponry = 1.0 + + category = building_maintenance + } + + } + + construction_demand = soldier_building_construction +} + +conscription_center = { + audio_tier = 3 + is_foreign = no + pop_type = soldiers + max_levels = manpower_max_level + important_for_AI = yes + employment_size = manpower_employment + + category = military_category + forbidden_for_estates = yes + + obsolete = regimental_camp + obsolete = barracks + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + build_time = soldier_building + + allow = { + owner = { has_primary_or_accepted_culture = prev.dominant_culture } + } + remove_if = { + NOT = { owner = { has_primary_or_accepted_culture = prev.location.dominant_culture } } + } + + modifier = { + local_manpower = 0.025 + can_recruit_regiment_in_this_location = yes + max_regiments_trained_at_same_time = 5 + } + + unique_production_methods = { + conscription_center_maintenance = { + icon_type = goods + icon = firearms + firearms = 1.0 + leather = 1.0 + cloth = 0.20 + paper = 0.50 + weaponry = 1.0 + + category = building_maintenance + } + + } + + construction_demand = soldier_building_construction +} + +jurchen_barracks = { + audio_tier = 1 + is_special = yes + is_foreign = no + pop_type = soldiers + max_levels = 1 + + category = military_category + forbidden_for_estates = yes + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + rural_settlement = yes + + build_time = soldier_building + + allow = { + dominant_culture = { has_culture_group = culture_group:jurchen_group } + } + remove_if = { + location = { + NOT = { + dominant_culture = { has_culture_group = culture_group:jurchen_group } + } + } + } + + + modifier = { + local_manpower = 0.0025 + can_recruit_regiment_in_this_location = yes + } + + possible_production_methods = { + jurchen_barracks_maintenance + } + construction_demand = early_soldier_building_construction +} + +thema_headquarters = { + audio_tier = 1 + is_special = yes + is_foreign = no + pop_type = soldiers + max_levels = 1 + + category = military_category + + employment_size = manpower_employment + + town = yes + city = yes + megalopolis = yes + + build_time = medium_soldier_building + + country_potential = { + modifier:allow_thema_headquarters = yes + } + + allow = { + is_province_capital = yes + owner = { modifier:allow_thema_headquarters = yes } + } + + location_potential = { not = { is_capital = yes } } + + remove_if = { + root.owner = { modifier:allow_thema_headquarters = no } + } + + modifier = { + local_manpower = 0.01 + can_recruit_regiment_in_this_location = yes + local_crown_estate_power = -0.1 + local_levy_size_modifier = 0.1 + } + + possible_production_methods = { + early_soldier_building_maintenance + } + construction_demand = early_soldier_building_construction +} + diff --git a/in_game/common/building_types/market_buildings.txt b/in_game/common/building_types/market_buildings.txt new file mode 100644 index 0000000..e4bec32 --- /dev/null +++ b/in_game/common/building_types/market_buildings.txt @@ -0,0 +1,310 @@ +entrepot = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = 1 + price = low_base_price + increase_per_level_cost = -0.25 + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + modifier = { + local_merchant_capacity = 5 + } + + market_center_modifier = { + local_trade_center_power = 0.1 + maximum_stockpile_capacity = 20 + } + + + possible_production_methods = { + market_center_building_maintenance + } + construction_demand = market_center_building_construction +} + +trading_hub = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + modifier = { + local_merchant_capacity = 5 + } + + market_center_modifier = { + local_trade_center_power = 0.1 + maximum_stockpile_capacity = 30 + } + + + possible_production_methods = { + market_center_building_maintenance + } + construction_demand = market_center_building_construction +} + +customs_house = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = trade_category + + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + modifier = { + local_merchant_capacity = 5 + } + + market_center_modifier = { + local_trade_center_power = 0.1 + maximum_stockpile_capacity = 50 + } + + + possible_production_methods = { + market_center_building_maintenance + } + construction_demand = market_center_building_construction +} + +stock_exchange = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = trade_category + + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + modifier = { + local_merchant_capacity = 5 + } + + market_center_modifier = { + local_trade_center_power = 0.1 + maximum_stockpile_capacity = 75 + } + + + possible_production_methods = { + market_center_building_maintenance + } + construction_demand = market_center_building_construction +} + +clearing_house = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = 1 + + category = trade_category + + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + modifier = { + local_merchant_capacity = 5 + } + + market_center_modifier = { + local_trade_center_power = 0.1 + maximum_stockpile_capacity = 100 + } + + + possible_production_methods = { + market_center_building_maintenance + } + construction_demand = market_center_building_construction +} + +market_warehouse = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = market_warehouse_max_level + + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = market_build_time + + location_potential = { + is_market_center = yes + } + + remove_if = { + location = { is_market_center = no } + } + + + modifier = { + local_merchant_capacity = 0.1 + local_merchant_power = 0.1 + local_trades_per_burgher = 0.1 + } + + market_center_modifier = { + maximum_stockpile_capacity = 25 + } + + + construction_demand = warehouse_construction + possible_production_methods = { + warehouse_maintenance + } +} + +funduq = { #https://es.wikipedia.org/wiki/Funduq + audio_tier = 2 + is_special = yes + is_foreign = no + pop_type = burghers + + max_levels = 1 + employment_size = trade_employment + + category = trade_category + + city = yes + megalopolis = yes + + + country_potential = { + religion ?= { + group = religion_group:muslim + } + } + + allow = { + OR = { + region = region:maghreb_region + region = region:iberia_region + region = region:egypt_region + region = region:italy_region + region = region:balkan_region + region = region:crescent_region + } + } + + can_destroy = { + } + + build_time = market_build_time + + modifier = { + local_merchant_power = 0.5 + local_merchant_capacity = 1 + local_trades_per_burgher = 0.1 + } + + market_center_modifier = { + maximum_stockpile_capacity = 50 + } + + construction_demand = funduq_building_construction + + unique_production_methods = { + funduq_maintenance = { + icon_type = goods + icon = books + books = 0.05 + paper = 0.2 + jewelry = 0.01 + fine_cloth = 0.01 + category = building_maintenance + } + + } + +} diff --git a/in_game/common/building_types/port_buildings.txt b/in_game/common/building_types/port_buildings.txt new file mode 100644 index 0000000..4bfc6f5 --- /dev/null +++ b/in_game/common/building_types/port_buildings.txt @@ -0,0 +1,357 @@ +dock = { + audio_tier = 1 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = naval_category + + employment_size = dock_employment + + town = yes + city = yes + megalopolis = yes + + location_potential = { + is_port = yes + } + + build_time = medium_port_building_time + + + unique_production_methods = { + dock_maintenance = { + icon_type = goods + icon = tar + tar = 0.1 + naval_supplies = 0.1 + tools = 0.2 + lumber = 0.2 + cloth = 0.1 + category = building_maintenance + } + + } + + construction_demand = port_building_construction + + + modifier = { + max_ships_built_at_same_time = 1 + local_sailors = 0.016 + can_build_ships_in_this_location = yes + harbor_suitability = 0.2 + local_repair_speed = 0.02 + + } +} + +dry_dock = { + audio_tier = 2 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = naval_category + obsolete = dock + + location_potential = { + is_port = yes + } + + + employment_size = dry_dock_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = medium_port_building_time + + + + unique_production_methods = { + dry_dock_maintenance = { + icon_type = goods + icon = tar + tar = 0.2 + naval_supplies = 0.2 + tools = 0.2 + lumber = 0.2 + cloth = 0.2 + category = building_maintenance + } + + } + + + construction_demand = port_building_construction + + + modifier = { + max_ships_built_at_same_time = 2 + local_sailors = 0.032 + can_build_ships_in_this_location = yes + harbor_suitability = 0.3 + local_repair_speed = 0.04 + } +} + +shipyard = { + audio_tier = 3 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = naval_category + obsolete = dry_dock + + employment_size = shipyard_employment + + location_potential = { + is_port = yes + } + + + town = yes + city = yes + megalopolis = yes + + + build_time = large_port_building_time + + + + unique_production_methods = { + shipyard_maintenance = { + icon_type = goods + icon = tar + tar = 0.8 + naval_supplies = 0.4 + tools = 0.8 + lumber = 0.8 + cloth = 0.4 + category = building_maintenance + } + + } + + + construction_demand = port_building_construction + + + modifier = { + max_ships_built_at_same_time = 4 + local_sailors = 0.064 + can_build_ships_in_this_location = yes + harbor_suitability = 0.4 + local_repair_speed = 0.06 + } +} + +grand_shipyard = { + audio_tier = 4 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = naval_category + + obsolete = shipyard + + employment_size = grand_shipyard_employment + + location_potential = { + is_port = yes + } + + town = yes + city = yes + megalopolis = yes + + + build_time = large_port_building_time + + + + unique_production_methods = { + grand_shipyard_maintenance = { + icon_type = goods + icon = tar + tar = 1.6 + naval_supplies = 0.8 + tools = 1.6 + lumber = 1.6 + cloth = 0.8 + category = building_maintenance + } + + } + + + construction_demand = port_building_construction + + + modifier = { + max_ships_built_at_same_time = 8 + local_sailors = 0.125 + can_build_ships_in_this_location = yes + harbor_suitability = 0.5 + local_repair_speed = 0.08 + } +} + +naval_base = { + audio_tier = 6 + is_foreign = no + max_levels = 1 + pop_type = soldiers + forbidden_for_estates = yes + + category = naval_category + + obsolete = grand_shipyard + + employment_size = naval_base_employment + + location_potential = { + is_port = yes + } + + town = yes + city = yes + megalopolis = yes + + + build_time = large_port_building_time + + + + unique_production_methods = { + naval_base_maintenance = { + icon_type = goods + icon = tar + tar = 3.0 + naval_supplies = 1.5 + tools = 3.0 + lumber = 3.0 + cloth = 1.5 + category = building_maintenance + } + + } + + + construction_demand = port_building_construction + + + modifier = { + max_ships_built_at_same_time = 12 + local_sailors = 0.2 + can_build_ships_in_this_location = yes + harbor_suitability = 0.3 + local_navy_attrition = -1 + local_repair_speed = 0.1 + } +} + +protected_harbor = { + audio_tier = 1 + is_foreign = no + max_levels = 1 + pop_type = laborers + category = naval_category + forbidden_for_estates = yes + + + employment_size = dock_employment + + town = yes + city = yes + megalopolis = yes + + location_potential = { + is_port = yes + } + + build_time = medium_port_building_time + + + + unique_production_methods = { + protected_harbor_maintenance = { + icon_type = goods + icon = tar + tar = 0.1 + tools = 0.1 + lumber = 0.1 + stone = 0.2 + category = building_maintenance + } + + } + + + construction_demand = port_building_construction + + modifier = { + local_navy_attrition = -5 + harbor_suitability = 0.2 + local_repair_speed = 0.025 + } + + +} +wharf = { + audio_tier = 2 + is_foreign = no + max_levels = 1 + pop_type = burghers + + employment_size = generic_burgher_employment + + category = naval_category + price = base_price + town = yes + city = yes + megalopolis = yes + forbidden_for_estates = yes + location_potential = { + is_coastal = yes + } + + + + build_time = medium_port_building_time + + unique_production_methods = { + wharf_maintenance = { + icon_type = goods + icon = tar + tar = 0.2 + naval_supplies = 0.2 + tools = 0.2 + lumber = 0.5 + category = building_maintenance + } + + } + + + + + construction_demand = town_building_construction + + modifier = { + local_sailors = 0.025 + local_merchant_capacity = 0.1 + can_build_ships_in_this_location = yes + harbor_suitability = 0.25 + local_repair_speed = 0.01 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_beer.txt b/in_game/common/building_types/production_beer.txt new file mode 100644 index 0000000..4759ca4 --- /dev/null +++ b/in_game/common/building_types/production_beer.txt @@ -0,0 +1,356 @@ +brewery = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + + category = consumer_goods_category + + employment_size = guild_employment + price = low_base_price + increase_per_level_cost = 1.0 + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + + wheat_brewery_maintenance = { + icon_type = goods + icon = wheat + wheat = 0.9944 + lumber = 0.2484 + tools = 0.0999 + + produced = beer + output = 0.1 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + millet_brewery_maintenance = { + icon_type = goods + icon = millet + millet = 0.9944 + lumber = 0.2484 + tools = 0.0999 + + produced = beer + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + fruit_brewery_maintenance = { + icon_type = goods + icon = fruit + fruit = 1.0412 + lumber = 0.208 + tools = 0.1045 + + produced = beer + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + maize_brewery_maintenance = { + icon_type = goods + icon = maize + maize = 1.3724 + pottery = 0.2943 + + produced = beer + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + bavarian_brewery_maintenance = { + icon_type = goods + icon = wheat + wheat = 1.3345 + lumber = 0.2218 + tools = 0.1109 + + produced = beer + output = 1.25 + + category = guild_input + debug_max_profit = guild_profit_margin + } + + honey_brewery_maintenance = { + icon_type = goods + icon = beeswax + beeswax = 0.2603 + millet = 0.5206 + lumber = 0.208 + tools = 0.1045 + + produced = beer + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + rice_brewery_maintenance = { + icon_type = goods + icon = rice + rice = 0.9944 + lumber = 0.2484 + tools = 0.0999 + + produced = beer + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + + custom_tags = { guild } + construction_demand = guild_construction +} + +beer_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + price = base_price + increase_per_level_cost = 1.0 + category = consumer_goods_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + + wheat_beer_workshop_maintenance = { + icon_type = goods + icon = wheat + wheat = 1.0513 + lumber = 0.2625 + tools = 0.105 + + produced = beer + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + millet_beer_workshop_maintenance = { + icon_type = goods + icon = millet + millet = 1.0513 + lumber = 0.2625 + tools = 0.105 + + produced = beer + output = 1.1 + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + fruit_beer_workshop_maintenance = { + icon_type = goods + icon = fruit + fruit = 1.0995 + lumber = 0.2202 + tools = 0.1101 + + produced = beer + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + maize_beer_workshop_maintenance = { + icon_type = goods + icon = maize + maize = 1.4298 + pottery = 0.3302 + + produced = beer + output = 1.1 + + debug_max_profit = workshop_profit_margin + category = workshop_input + + } + + bavarian_beer_workshop_maintenance = { + icon_type = goods + icon = wheat + wheat = 1.3449 + lumber = 0.2444 + tools = 0.1228 + + produced = beer + output = 1.3 + + + + category = workshop_input + debug_max_profit = workshop_profit_margin + } + + honey_beer_workshop_maintenance = { + icon_type = goods + icon = beeswax + beeswax = 0.275 + millet = 0.55 + lumber = 0.22 + tools = 0.11 + + produced = beer + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + rice_beer_workshop_maintenance = { + icon_type = goods + icon = rice + rice = 1.0513 + lumber = 0.2625 + tools = 0.105 + + produced = beer + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + obsolete = brewery + + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +brewery_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + price = base_price + increase_per_level_cost = 1.0 + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = beer_workshop + + unique_production_methods = { + brewery_manufactory_maintenance = { + icon_type = goods + icon = lumber + + lumber = 0.3179 + wheat = 2.1231 + tools = 0.159 + + produced = beer + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +brewery_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + price = base_price + increase_per_level_cost = 1.0 + category = consumer_goods_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = brewery_manufactory + + unique_production_methods = { + brewery_mill_maintenance = { + icon_type = goods + icon = lumber + + lumber = 0.5038 + wheat = 4.4144 + tools = 0.2519 + + produced = beer + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_books.txt b/in_game/common/building_types/production_books.txt new file mode 100644 index 0000000..015a676 --- /dev/null +++ b/in_game/common/building_types/production_books.txt @@ -0,0 +1,183 @@ + +scriptorium = { + audio_tier = 1 + is_foreign = no + pop_type = clergy + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.0 + category = consumer_goods_category + + employment_size = religious_building_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + scriptorium_maintenance = { + icon_type = goods + icon = dyes + dyes = 0.0503 + paper = 0.1995 + lumber = 0.0998 + produced = books + output = 0.75 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + construction_demand = guild_construction + +} + +printing_press_shop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + price = base_price + category = consumer_goods_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = scriptorium + + build_time = workshop_build_time + + unique_production_methods = { + printing_press_maintenance = { + icon_type = goods + icon = lead + lead = 0.2138 #Types + paper = 0.7462 + tools = 0.0269 + lumber = 0.2662 + + produced = books + output = 1.5 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + } + + + construction_demand = workshop_construction +} + +printing_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + price = base_price + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = printing_press_shop + + build_time = manufactory_build_time + + unique_production_methods = { + printing_manufactory_maintenance = { + icon_type = goods + icon = lead + + lead = 0.3205 #Types + paper = 1.6024 + tools = 0.0431 + lumber = 0.4269 + + produced = books + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + } + + + construction_demand = manufactory_construction +} + +printing_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + price = base_price + category = consumer_goods_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = printing_manufactory + + build_time = mills_build_time + + unique_production_methods = { + printing_mill_maintenance = { + icon_type = goods + icon = lead + + lead = 0.5661 #Types + paper = 3.1149 + tools = 0.0563 + lumber = 0.9054 + + + produced = books + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_cannons.txt b/in_game/common/building_types/production_cannons.txt new file mode 100644 index 0000000..3755995 --- /dev/null +++ b/in_game/common/building_types/production_cannons.txt @@ -0,0 +1,308 @@ +cannon_maker = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.0 + category = weapons_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + + cannon_maker_lumber_maintenance = { + # Wood + lumber = 0.1065 + iron = 0.0404 + tools = 0.0174 + + produced = cannons + output = 0.25 + + category = guild_input + + + debug_max_profit = guild_profit_margin + } + + cannon_maker_bronze_maintenance = { + icon_type = goods + icon = copper + # Bronze + copper = 0.5207 + tin = 0.1045 + tools = 0.5207 + + produced = cannons + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + cannon_maker_iron_maintenance = { + icon_type = goods + icon = iron + # Wrought Iron + iron = 0.606 + tools = 0.5051 + + produced = cannons + output = 1.25 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + unique_production_methods = { + cannon_maker_ammunition_stone_maintenance = { + icon_type = goods + icon = stone + stone = 0.0967 + saltpeter = 0.0967 + produced = cannons + output = 0.087 + debug_max_profit = guild_profit_margin + category = guild_input + } + cannon_maker_ammunition_lead_maintenance = { + icon_type = goods + icon = lead + lead = 0.1 + saltpeter = 0.1 + produced = cannons + output = 0.2 + debug_max_profit = guild_profit_margin + category = guild_input + } + cannon_maker_ammunition_iron_maintenance = { + icon_type = goods + icon = iron + iron = 0.1067 + saltpeter = 0.1067 + produced = cannons + output = 0.25 + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + + construction_demand = guild_construction + +} + +cannon_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = weapons_industry_category + + employment_size = workshop_employment + + obsolete = cannon_maker + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + + cannon_workshop_bronze_maintenance = { + # Bronze + copper = 0.9082 + tin = 0.2267 + tools = 0.114 + + produced = cannons + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + cannon_workshop_iron_maintenance = { + # Wrought Iron + iron = 1.0558 + tools = 0.1176 + + + + + produced = cannons + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + + } + + unique_production_methods = { + cannon_workshop_ammunition_stone_maintenance = { + icon_type = goods + icon = stone + stone = 0.1067 + saltpeter = 0.1067 + produced = cannons + output = 0.1 + + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + cannon_workshop_ammunition_lead_maintenance = { + icon_type = goods + icon = lead + lead = 0.12 + saltpeter = 0.12 + produced = cannons + output = 0.15 + + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + cannon_workshop_ammunition_iron_maintenance = { + icon_type = goods + icon = iron + iron = 0.1371 + saltpeter = 0.1143 + produced = cannons + output = 0.2 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + + custom_tags = { workshop } + construction_demand = workshop_construction + +} + +cannon_foundry = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level #Mass Production + startup_ramp_target = manufactory_startup_ramp_target + + category = weapons_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = cannon_workshop + + unique_production_methods = { + cannon_foundry_maintenance = { + icon_type = goods + icon = tools + tools = 0.5129 + lead = 0.385 + + #Gunpowder + saltpeter = 0.6408 + + #Bronze + copper = 0.6408 + tin = 0.3204 + + produced = cannons + output = 2.0 + + debug_max_profit = manufactory_profit_margin + category = manufactory_input + } + } + + custom_tags = { midgame_manufactory } + construction_demand = mill_construction +} + +cannons_factory = { + audio_tier = 6 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = weapons_industry_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = cannon_foundry + + unique_production_methods = { + + gun_factory_maintenance = { + icon_type = goods + icon = steel + steel = 1.9533 + + lead = 0.391 #Ammunition + + #Gunpowder + saltpeter = 0.6516 + + + produced = cannons + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_cloth.txt b/in_game/common/building_types/production_cloth.txt new file mode 100644 index 0000000..e00f819 --- /dev/null +++ b/in_game/common/building_types/production_cloth.txt @@ -0,0 +1,269 @@ +cloth_guild = { + is_foreign = no + pop_type = burghers + max_levels = cloth_guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = consumer_goods_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + cotton_cloth_guild_maintenance = { + icon_type = goods + icon = cotton + cotton = 0.9 + + produced = cloth + output = 1.4 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + wool_cloth_guild_maintenance = { + icon_type = goods + icon = wool + wool = 1.125 + + produced = cloth + output = 1.50 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + fiber_crops_cloth_guild_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 1.50 + + produced = cloth + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + } + + construction_demand = guild_construction + + custom_tags = { guild } + modifier = { + } +} + +cloth_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = consumer_goods_category + + employment_size = workshop_employment + + obsolete = cloth_guild + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + cotton_cloth_workshop_maintenance = { + icon_type = goods + icon = cotton + cotton = 1.32 + + produced = cloth + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + wool_cloth_workshop_maintenance = { + icon_type = goods + icon = wool + wool = 1.584 + + produced = cloth + output = 1.1 + + debug_max_profit = workshop_profit_margin + category = workshop_input + } + + fiber_crops_cloth_workshop_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 1.62 + + produced = cloth + output = 0.9 + + category = workshop_input + debug_max_profit = workshop_profit_margin + } + + } + + construction_demand = workshop_construction + + custom_tags = { workshop } + modifier = { + } +} + +cloth_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = cloth_workshop + + build_time = manufactory_build_time + + unique_production_methods = { + wool_cloth_manufactory_maintenance = { + icon_type = goods + icon = wool + wool = 2.414 + dyes = 0.222 + produced = cloth + output = 2 + + category = guild_input + debug_max_profit = manufactory_profit_margin + } + + cotton_cloth_manufactory_maintenance = { + icon_type = goods + icon = cotton + produced = cloth + output = 2 + cotton = 2.0118 + dyes = 0.222 + + category = guild_input + debug_max_profit = manufactory_profit_margin + } + + fiber_crops_cloth_manufactory_maintenance = { + icon_type = goods + icon = fiber_crops + produced = cloth + fiber_crops = 3.2798 + dyes = 0.0909 + output = 2 + + category = guild_input + debug_max_profit = manufactory_profit_margin + } + + } + + custom_tags = { midgame_manufactory } + construction_demand = guild_construction +} + +textile_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = consumer_goods_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = cloth_manufactory + + build_time = mills_build_time + + unique_production_methods = { + cotton_mill_maintenance = { + icon_type = goods + icon = cotton + cotton = 2.8299 + dyes = 0.3776 + produced = cloth + output = 3 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + wool_mill_maintenance = { + icon_type = goods + icon = wool + wool = 2.7467 + dyes = 0.3666 + produced = cloth + output = 2.5 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + fiber_crops_mill_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 3.473 + dyes = 0.3468 + produced = cloth + output = 2.5 + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} diff --git a/in_game/common/building_types/production_dyes.txt b/in_game/common/building_types/production_dyes.txt new file mode 100644 index 0000000..c70536c --- /dev/null +++ b/in_game/common/building_types/production_dyes.txt @@ -0,0 +1,180 @@ +dyes_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.0 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + dyes_guild_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.4444 + + produced = dyes + output = 0.8 + + debug_max_profit = guild_profit_margin + category = guild_input + } + alum_dyes_guild_maintenance = { + icon_type = goods + icon = alum + alum = 0.021 + lumber = 0.6247 + + + produced = dyes + output = 0.8 + + debug_max_profit = guild_profit_margin #better one + category = guild_input + } + } + + construction_demand = guild_construction + +} + +##################### +dyes_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + obsolete = dyes_guild + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + dyes_workshop_maintenance = { + icon_type = goods + icon = alum + alum = 0.0614 + lumber = 0.7305 + + produced = dyes + output = 0.4 + + debug_max_profit = workshop_profit_margin + category = workshop_input + } + } + + construction_demand = workshop_construction + +} + +########################################### +dyesworks = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + dyesworks_maintenance = { + icon_type = goods + icon = alum + alum = 0.3311 + lumber = 3.4403 + + produced = dyes + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = workshop_input + } + } + + obsolete = dyes_workshop + + construction_demand = manufactory_construction +} + +dyes_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = basic_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + unique_production_methods = { + dyesmill_maintenance = { + icon_type = goods + icon = alum + alum = 0.3586 + lumber = 7.184 + + produced = dyes + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = guild_input + } + } + + obsolete = dyesworks + + construction_demand = manufactory_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_fine_cloth.txt b/in_game/common/building_types/production_fine_cloth.txt new file mode 100644 index 0000000..950a2f2 --- /dev/null +++ b/in_game/common/building_types/production_fine_cloth.txt @@ -0,0 +1,380 @@ +fine_cloth_guild = { + is_foreign = no + pop_type = burghers + max_levels = fine_cloth_guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.00 + category = consumer_goods_category + + employment_size = guild_employment + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + fine_cloth_guild_maintenance = { + icon_type = goods + icon = cloth + cloth = 0.9 + produced = fine_cloth + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + wool_weavers_maintenance = { + icon_type = goods + icon = wool + wool = 1.125 + + produced = fine_cloth + output = 0.8 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + silk_weavers_maintenance = { + icon_type = goods + icon = silk + silk = 0.5625 + + produced = fine_cloth + output = 1.0 + + category = guild_input + debug_max_profit = guild_profit_margin # its ok to be a bit better.. + } + + spanish_cloth_maintenance = { + icon_type = goods + icon = wool + allow = { + custom_tooltip = { + text = has_unlocked_spanish_cloth_industry + has_variable = spanish_cloth_industry + } + } + wool = 0.75 + + produced = fine_cloth + output = 0.75 + + category = guild_input + debug_max_profit = guild_profit_margin + } + } + + unique_production_methods = { + base_fine_cloth_guild_maintenance = { + icon_type = goods + icon = dyes + produced = fine_cloth + dyes = 0.1875 + output = 0.20 + + category = guild_input + + debug_max_profit = guild_profit_margin #improvement + } + + alum_fine_cloth_guild_maintenance = { + icon_type = goods + icon = alum + alum = 0.0392 + dyes = 0.1581 + produced = fine_cloth + output = 0.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + fur_trim_guild_maintenance = { + icon_type = goods + icon = fur + fur = 0.375 + produced = fine_cloth + output = 0.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + } + + custom_tags = { guild } + construction_demand = guild_construction + +} + +fine_cloth_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = consumer_goods_category + + employment_size = workshop_employment + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + fine_cloth_workshop_maintenance = { + icon_type = goods + icon = cloth + cloth = 0.72 + produced = fine_cloth + output = 0.6 + + category = workshop_input + + debug_max_profit = workshop_profit_margin + } + + wool_weavers_workshop_maintenance = { + icon_type = goods + icon = wool + wool = 0.864 + + produced = fine_cloth + output = 0.6 + + category = workshop_input + debug_max_profit = workshop_profit_margin + } + + silk_weavers_workshop_maintenance = { + icon_type = goods + icon = silk + silk = 0.72 + + produced = fine_cloth + output = 0.8 + + category = workshop_input + + debug_max_profit = workshop_profit_margin + + } + + spanish_cloth_workshop_maintenance = { + icon_type = goods + icon = wool + allow = { + custom_tooltip = { + text = has_unlocked_spanish_cloth_industry + has_variable = spanish_cloth_industry + } + } + wool = 0.864 + + produced = fine_cloth + output = 0.6 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + unique_production_methods = { + base_fine_cloth_workshop_maintenance = { + icon_type = goods + icon = dyes + produced = fine_cloth + dyes = 0.108 + output = 0.12 + + debug_max_profit = workshop_profit_margin + category = workshop_input + } + + alum_fine_cloth_workshop_maintenance = { + icon_type = goods + icon = alum + alum = 0.0435 + dyes = 0.1925 + produced = fine_cloth + output = 0.25 + + debug_max_profit = workshop_profit_margin + category = workshop_input + } + + fur_trim_workshop_maintenance = { + icon_type = goods + icon = fur + fur = 0.45 + produced = fine_cloth + output = 0.25 + + debug_max_profit = workshop_profit_margin + category = workshop_input + } + + } + + obsolete = fine_cloth_guild + + custom_tags = { workshop } + construction_demand = workshop_construction + +} + +fine_cloth_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = fine_cloth_workshop + + build_time = manufactory_build_time + + unique_production_methods = { + silk_cloth_manufactory_maintenance = { + icon_type = goods + icon = silk + silk = 1.7308 + + produced = fine_cloth + output = 2.0 + + category = manufactory_input + debug_max_profit = manufactory_profit_margin + } + + fine_cloth_manufactory_maintenance = { + icon_type = goods + icon = cloth + produced = fine_cloth + cloth = 2.3077 + + + output = 2.0 + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + } + + unique_production_methods = { + + base_cloth_manufactory_maintenance = { + icon_type = goods + icon = dyes + dyes = 0.1731 + + produced = fine_cloth + output = 0.2 + + category = guild_input + debug_max_profit = manufactory_profit_margin + } + + alum_fine_cloth_manufactory_maintenance = { + icon_type = goods + icon = alum + produced = fine_cloth + output = 0.4 + dyes = 0.2918 + alum = 0.0728 + + category = guild_input + debug_max_profit = manufactory_profit_margin + } + } + + custom_tags = { midgame_manufactory } + construction_demand = guild_construction +} + +fine_cloth_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = consumer_goods_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = fine_cloth_manufactory + + build_time = mills_build_time + + unique_production_methods = { + fine_cloth_mill_maintenance = { + icon_type = goods + icon = cloth + cloth = 4.077 + dyes = 0.2756 + + produced = fine_cloth + output = 4 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + silk_cloth_mill_maintenance = { + icon_type = goods + icon = silk + silk = 3.06 + dyes = 0.2733 + + produced = fine_cloth + output = 4 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} diff --git a/in_game/common/building_types/production_firearms.txt b/in_game/common/building_types/production_firearms.txt new file mode 100644 index 0000000..0a320a8 --- /dev/null +++ b/in_game/common/building_types/production_firearms.txt @@ -0,0 +1,318 @@ +hand_cannon_guild = { + is_foreign = no + pop_type = burghers + max_levels = 1 + category = weapons_industry_category + employment_size = manufactory_employment #yes.. its early and require more + town = yes + city = yes + megalopolis = yes + price = base_price + increase_per_level_cost = 1.0 + build_time = guild_build_time + unique_production_methods = { + hand_cannon_guild_maintenance = { + icon_type = goods + icon = tools + tools = 0.0513 + lead = 0.0101 + + #Gunpowder + saltpeter = 0.1035 + alum = 0.0055 + + #Bronze + copper = 0.1035 + tin = 0.0211 + + produced = firearms + output = 0.4 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + construction_demand = guild_construction + modifier = {} +} + +gun_smith = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + + category = weapons_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + obsolete = hand_cannon_guild + + + + build_time = guild_build_time + + unique_production_methods = { + + guns_guild_lumber_maintenance = { + # Wood + lumber = 0.1342 + iron = 0.0404 + tools = 0.0175 + + produced = firearms + output = 0.15 + + category = guild_input + + + debug_max_profit = guild_profit_margin + } + + guns_guild_bronze_maintenance = { + icon_type = goods + icon = copper + # Bronze + copper = 0.4804 + tin = 0.0963 + tools = 0.2888 + + produced = firearms + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + guns_guild_iron_maintenance = { + icon_type = goods + icon = iron + # Wrought Iron + iron = 0.5207 + tools = 0.3126 + + produced = firearms + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + + + } + + unique_production_methods = { + guns_guild_ammunition_lead_maintenance = { + icon_type = goods + icon = lead + lead = 0.1 + saltpeter = 0.1 + produced = firearms + output = 0.16 + debug_max_profit = guild_profit_margin + category = guild_input + } + guns_guild_ammunition_iron_maintenance = { + icon_type = goods + icon = iron + iron = 0.1 + saltpeter = 0.1 + produced = firearms + output = 0.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + + construction_demand = guild_construction + + modifier = { + } +} + +guns_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = weapons_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + + guns_workshop_bronze_maintenance = { + # Bronze + copper = 0.5008 + tin = 0.0999 + tools = 0.3125 + + produced = firearms + output = 1.1 + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + guns_workshop_iron_maintenance = { + # Wrought Iron + iron = 0.4928 + tools = 0.3072 + + produced = firearms + output = 1.0 + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + + } + + unique_production_methods = { + guns_workshop_ammunition_lead_maintenance = { + icon_type = goods + icon = lead + lead = 0.12 + saltpeter = 0.12 + produced = firearms + output = 0.2 + debug_max_profit = workshop_profit_margin + category = workshop_input + } + guns_workshop_ammunition_iron_maintenance = { + icon_type = goods + icon = iron + iron = 0.12 + saltpeter = 0.12 + produced = firearms + output = 0.25 + debug_max_profit = workshop_profit_margin + category = workshop_input + } + } + + obsolete = gun_smith + + construction_demand = workshop_construction + + modifier = { + } + custom_tags = { workshop } +} + +firearms_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level #Mass Production + startup_ramp_target = manufactory_startup_ramp_target + + category = weapons_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = guns_workshop + + build_time = manufactory_build_time + + unique_production_methods = { + firearms_manufactory_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.342 + coal = 0.342 + iron = 0.9115 + + lead = 0.1144 + saltpeter = 0.2275 + + category = manufactory_input + produced = firearms + output = 2.0 + debug_max_profit = manufactory_profit_margin + } + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +firearms_factory = { + audio_tier = 6 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = weapons_industry_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = firearms_manufactory + + unique_production_methods = { + + firearms_factory_maintenance = { + icon_type = goods + icon = steel + steel = 1.3464 + + lead = 0.4044 #Ammunition + + #Gunpowder + saltpeter = 0.674 + + + produced = firearms + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_furniture.txt b/in_game/common/building_types/production_furniture.txt new file mode 100644 index 0000000..c898e25 --- /dev/null +++ b/in_game/common/building_types/production_furniture.txt @@ -0,0 +1,178 @@ +# Age of Traditions + +furniture_guild = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + + category = consumer_goods_category + + employment_size = guild_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = guild_build_time + + + unique_production_methods = { + furniture_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.75 + dyes = 0.1468 + tools = 0.1468 + + produced = furniture + output = 1.25 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + construction_demand = guild_construction +} + +furniture_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + + category = consumer_goods_category + + employment_size = workshop_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = workshop_build_time + + + unique_production_methods = { + furniture_workshop_maintenance = { + icon_type = goods + icon = lumber + lumber = 1.1271 + dyes = 0.1356 + tools = 0.1356 + + produced = furniture + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + obsolete = furniture_guild + + construction_demand = workshop_construction +} + +########################################### +# Age of Absolutism +########################################### +furniture_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = furniture_workshop + + unique_production_methods = { + furniture_manufactory_maintenance = { + icon_type = goods + icon = lumber + lumber = 2.0272 + dyes = 0.2249 + tools = 0.2249 + + produced = furniture + output = 2.0 + + category = manufactory_input + + debug_max_profit = manufactory_profit_margin + } + + } + + construction_demand = manufactory_construction + +} + +########################################### +# Age of Revolutions +########################################### +furniture_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = consumer_goods_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = furniture_manufactory + + build_time = mills_build_time + + unique_production_methods = { + furniture_mill_maintenance = { + icon_type = goods + icon = lumber + lumber = 3.8377 + dyes = 0.4475 + tools = 0.4475 + + produced = furniture + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + } + + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_glass.txt b/in_game/common/building_types/production_glass.txt new file mode 100644 index 0000000..a04ea9a --- /dev/null +++ b/in_game/common/building_types/production_glass.txt @@ -0,0 +1,209 @@ +# Age of Traditions + +glass_guild = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.00 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + location_potential = { + is_produced_in_location_market = goods:sand + } + + + build_time = guild_build_time + + unique_production_methods = { + glass_guild_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.1933 + sand = 0.9657 + tools = 0.3674 + produced = glass + output = 1.0 + + debug_max_profit = guild_profit_margin + category = guild_input + } + metal_glass_guild_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.3126 + sand = 1.0103 + tools = 0.4141 + alum = 0.0408 + lead = 0.0805 + produced = glass + output = 1.2 + + debug_max_profit = guild_profit_margin #ok, with better, as it requires more. + + category = guild_input + } + } + construction_demand = guild_construction + + modifier = { + } + custom_tags = { guild } +} + +########################################### +glass_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + + + build_time = workshop_build_time + + unique_production_methods = { + metal_glass_workshop_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.3365 + sand = 1.0517 + tools = 0.4312 + alum = 0.0422 + lead = 0.0947 + produced = glass + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + construction_demand = workshop_construction + + custom_tags = { workshop } + obsolete = glass_guild + +} + +########################################### +glassworks = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + glassworks_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.4039 + sand = 2.1273 + stone = 0.1912 + tools = 0.6059 + coal = 0.4039 + alum = 0.0431 + + produced = glass + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = workshop_input + } + } + + obsolete = glass_workshop + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + + +glass_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = basic_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + unique_production_methods = { + glassmill_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.5556 + sand = 3.3378 + stone = 0.2785 + tools = 1.3348 + coal = 0.8341 + alum = 0.1452 + + produced = glass + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = guild_input + } + } + + obsolete = glassworks + + custom_tags = { lategame_manufactory } + construction_demand = manufactory_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_lacquerware.txt b/in_game/common/building_types/production_lacquerware.txt new file mode 100644 index 0000000..c5aa8b7 --- /dev/null +++ b/in_game/common/building_types/production_lacquerware.txt @@ -0,0 +1,82 @@ +lacquerware_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = consumer_goods_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + + build_time = guild_build_time + + unique_production_methods = { + lacquerware_shop_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.6 + dyes = 0.3756 + tools = 0.0903 + + produced = lacquerware + output = 1.2 + + category = guild_input + debug_max_profit = guild_profit_margin + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +lacquerware_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + town = yes + city = yes + megalopolis = yes + + obsolete = lacquerware_guild + + build_time = manufactory_build_time + + unique_production_methods = { + + lacquerware_manufactory_maintenance = { + icon_type = goods + icon = lumber + + lumber = 1.6969 + dyes = 0.6786 + tools = 0.1699 + + produced = lacquerware + output = 2 + + + debug_max_profit = manufactory_profit_margin + category = manufactory_input + } + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} \ No newline at end of file diff --git a/in_game/common/building_types/production_leather.txt b/in_game/common/building_types/production_leather.txt new file mode 100644 index 0000000..b40bd27 --- /dev/null +++ b/in_game/common/building_types/production_leather.txt @@ -0,0 +1,248 @@ +tannery = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 0.25 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + leather_guild_maintenance = { + icon_type = goods + icon = livestock + livestock = 0.75 + sand = 0.4345 + tar = 0.0819 + tools = 0.1627 + + + debug_max_profit = guild_profit_margin + produced = leather + output = 1.2 + + category = guild_input + } + + tannery_maintenance = { + icon_type = goods + icon = wild_game + wild_game = 0.8 + sand = 0.4345 + tar = 0.0819 + tools = 0.1627 + + produced = leather + output = 1.2 + + debug_max_profit = guild_profit_margin + + category = guild_input + } + + } + + + custom_tags = { guild } + construction_demand = guild_construction +} + +tanning_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + leather_livestock_workshop_maintenance = { + icon_type = goods + icon = livestock + livestock = 1.145 + sand = 0.4452 + tar = 0.064 + tools = 0.1906 + + produced = leather + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + leather_wildgame_workshop_maintenance = { + icon_type = goods + icon = wild_game + wild_game = 1.7374 + sand = 0.4347 + tar = 0.0626 + tools = 0.1867 + + produced = leather + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + + } + + obsolete = tannery + + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +tannery_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + leather_manufactory_maintenance = { + icon_type = goods + icon = livestock + livestock = 2.065 + sand = 0.9679 + tar = 0.1292 + tools = 0.2585 + + + + produced = leather + output = 2.0 + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + tannery_manufactory_maintenance = { + icon_type = goods + icon = wild_game + wild_game = 3.0549 + sand = 0.9963 + tar = 0.1333 + tools = 0.2652 + + produced = leather + output = 2.0 + debug_max_profit = manufactory_profit_margin + category = manufactory_input + } + + } + + obsolete = tanning_workshop + + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +tannery_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = basic_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + unique_production_methods = { + leather_mill_maintenance = { + icon_type = goods + icon = livestock + livestock = 4.2156 + sand = 1.7567 + tar = 0.2103 + tools = 0.4222 + + + + produced = leather + output = 4.0 + debug_max_profit = mills_profit_margin + + category = mills_input + } + + tannery_mill_maintenance = { + icon_type = goods + icon = wild_game + wild_game = 6.511 + sand = 1.6277 + tar = 0.1955 + tools = 0.391 + + produced = leather + output = 4.0 + debug_max_profit = mills_profit_margin + category = mills_input + } + + } + + obsolete = tannery_manufactory + + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_liquor.txt b/in_game/common/building_types/production_liquor.txt new file mode 100644 index 0000000..059d9a6 --- /dev/null +++ b/in_game/common/building_types/production_liquor.txt @@ -0,0 +1,421 @@ +distillers_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 0.25 + + category = consumer_goods_category + + employment_size = guild_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = guild_build_time + construction_demand = guild_construction + + unique_production_methods = { + sugar_liquor_guild_maintenance = { + icon_type = goods + icon = sugar + sugar = 0.6 + pottery = 0.0972 + glass = 0.0779 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + rice_liquor_guild_maintenance = { + icon_type = goods + icon = rice + rice = 1.0 + pottery = 0.0971 + glass = 0.0971 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + potato_liquor_guild_maintenance = { + icon_type = goods + icon = potato + potato = 1.0 + pottery = 0.0971 + glass = 0.0971 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + wheat_liquor_guild_maintenance = { + icon_type = goods + icon = wheat + wheat = 1.0 + pottery = 0.0971 + glass = 0.0971 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + beer_liquor_guild_maintenance = { + icon_type = goods + icon = beer + beer = 0.8 + pottery = 0.099 + glass = 0.099 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + wine_liquor_guild_maintenance = { + icon_type = goods + icon = wine + wine = 0.8 + pottery = 0.099 + glass = 0.099 + + produced = liquor + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + custom_tags = { guild } +} + +distillers_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + + category = consumer_goods_category + + employment_size = workshop_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = workshop_build_time + construction_demand = workshop_construction + + unique_production_methods = { + sugar_liquor_workshop_maintenance = { + icon_type = goods + icon = sugar + sugar = 0.6258 + pottery = 0.1037 + glass = 0.0729 + + produced = liquor + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + rice_liquor_workshop_maintenance = { + icon_type = goods + icon = rice + rice = 1.8417 + pottery = 0.1049 + glass = 0.0845 + + produced = liquor + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + potato_liquor_workshop_maintenance = { + icon_type = goods + icon = potato + potato = 1.8417 + pottery = 0.1049 + glass = 0.0845 + + produced = liquor + output = 1.1 + + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + wheat_liquor_workshop_maintenance = { + icon_type = goods + icon = wheat + wheat = 1.8417 + pottery = 0.1049 + glass = 0.0845 + + produced = liquor + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + beer_liquor_workshop_maintenance = { + icon_type = goods + icon = beer + beer = 0.8902 + pottery = 0.1049 + glass = 0.1049 + + produced = liquor + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + wine_liquor_workshop_maintenance = { + icon_type = goods + icon = wine + wine = 0.8902 + pottery = 0.1049 + glass = 0.1049 + + produced = liquor + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + custom_tags = { workshop } + obsolete = distillers_guild +} + +distiller_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = distillers_workshop + + unique_production_methods = { + sugar_distillery_maintenance = { +icon_type = goods +icon = sugar + + sugar = 1.0649 + pottery = 0.1064 + glass = 0.1817 + + produced = liquor + output = 2.0 + + category = manufactory_input + + debug_max_profit = manufactory_profit_margin + } + + rice_distillery_maintenance = { + icon_type = goods + icon = rice + rice = 3.1948 + pottery = 0.1063 + glass = 0.1817 + + + produced = liquor + output = 2.0 + + category = manufactory_input + debug_max_profit = manufactory_profit_margin + } + + potato_distillery_maintenance = { + icon_type = goods + icon = potato + potato = 3.1948 + pottery = 0.1063 + glass = 0.1817 + + produced = liquor + output = 2.0 + + category = manufactory_input + debug_max_profit = manufactory_profit_margin + } + wheat_distillery_maintenance = { + icon_type = goods + icon = wheat + pottery = 0.1063 + wheat = 3.1948 + glass = 0.1817 + produced = liquor + output = 2.0 + + category = manufactory_input + debug_max_profit = manufactory_profit_margin + } + + scottish_whisky_distillery_maintenance = { + icon_type = goods + icon = millet + millet = 3.1948 + pottery = 0.1063 + glass = 0.1817 + + + produced = liquor + output = 2.0 + + category = manufactory_input + debug_max_profit = manufactory_profit_margin + } + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +distiller_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = consumer_goods_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = distiller_manufactory + + unique_production_methods = { + sugar_distillery_mill_maintenance = { +icon_type = goods +icon = sugar + + sugar = 2.0082 + pottery = 0.1112 + glass = 0.4239 + + produced = liquor + output = 4.0 + + category = mills_input + + debug_max_profit = mills_profit_margin + } + + rice_distillery_mill_maintenance = { + icon_type = goods + icon = rice + rice = 5.6248 + pottery = 0.1378 + glass = 0.5483 + + + produced = liquor + output = 4.0 + + category = mills_input + debug_max_profit = mills_profit_margin + } + + potato_distillery_mill_maintenance = { + icon_type = goods + icon = potato + potato = 5.6737 + pottery = 0.1334 + glass = 0.5334 + + produced = liquor + output = 4.0 + + category = mills_input + debug_max_profit = mills_profit_margin + } + wheat_distillery_mill_maintenance = { + icon_type = goods + icon = wheat + pottery = 0.1334 + wheat = 5.6737 + glass = 0.5334 + produced = liquor + output = 4.0 + + + + category = mills_input + debug_max_profit = mills_profit_margin + } + + scottish_whisky_distillery_mill_maintenance = { + icon_type = goods + icon = millet + millet = 5.5917 + pottery = 0.14 + glass = 0.5586 + + + produced = liquor + output = 4.0 + + category = mills_input + debug_max_profit = mills_profit_margin + } + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_naval_supplies.txt b/in_game/common/building_types/production_naval_supplies.txt new file mode 100644 index 0000000..f2c0f70 --- /dev/null +++ b/in_game/common/building_types/production_naval_supplies.txt @@ -0,0 +1,181 @@ +naval_supplies_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 0.25 + category = weapons_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + naval_supplies_guild_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.1963 + fiber_crops = 0.35 + tar = 0.35 + cloth = 0.0486 + + produced = naval_supplies + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +naval_supplies_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = weapons_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + naval_supplies_workshop_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.1638 + fiber_crops = 0.4351 + tar = 0.5989 + cloth = 0.1088 + + produced = naval_supplies + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + obsolete = naval_supplies_guild + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +naval_supplies_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = weapons_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = naval_supplies_workshop + + unique_production_methods = { + naval_supplies_manufactory_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.8791 + fiber_crops = 0.6596 + tar = 0.6596 + cloth = 0.2194 + + produced = naval_supplies + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + } + + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +naval_supplies_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = weapons_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = naval_supplies_manufactory + + unique_production_methods = { + naval_supplies_mill_maintenance = { + icon_type = goods + icon = lumber + lumber = 1.8236 + fiber_crops = 1.3673 + tar = 1.3673 + cloth = 0.2281 + + produced = naval_supplies + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_paper.txt b/in_game/common/building_types/production_paper.txt new file mode 100644 index 0000000..36d2a18 --- /dev/null +++ b/in_game/common/building_types/production_paper.txt @@ -0,0 +1,222 @@ +paper_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.00 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + paper_guild_leather_maintenance = { + icon_type = goods + icon = leather + leather = 0.1852 + lumber = 0.1852 + produced = paper + output = 0.8 + + debug_max_profit = guild_profit_margin + + category = guild_input + } + paper_guild_fiber_pulp_maintenance = { + icon_type = goods + icon = fiber_crops + # unlocked by paper_guild_fiber_pulp_maintenance_advance + fiber_crops = 0.7 + lumber = 0.2222 + produced = paper + output = 1.2 + + debug_max_profit = guild_profit_margin + + category = guild_input + } + paper_guild_cloth_maintenance = { + icon_type = goods + icon = cloth + # unlocked by paper_guild_cloth_maintenance_advance + cloth = 0.6 + lumber = 0.1008 + produced = paper + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +paper_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + + paper_workshop_fiber_pulp_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 0.8 + produced = paper + output = 1.0 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + paper_workshop_cloth_maintenance = { + icon_type = goods + icon = cloth + cloth = 0.5279 + lumber = 0.1176 + produced = paper + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + + obsolete = paper_guild + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +paper_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + paper_manufactory_maintenance = { + icon_type = goods + icon = cloth + + cloth = 0.3696 #Lump + fiber_crops = 0.9841 + lumber = 0.2464 + + + produced = paper + output = 2.0 + + debug_max_profit = manufactory_profit_margin + category = manufactory_input + } + + } + + obsolete = paper_workshop + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +paper_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = basic_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + unique_production_methods = { + paper_mill_maintenance = { + icon_type = goods + icon = cloth + cloth = 0.1288 + fiber_crops = 1.2882 + + produced = paper + output = 2.0 + + debug_max_profit = mills_profit_margin + category = mills_input + } + + paper_wood_pulp_maintenance = { + icon_type = goods + icon = lumber + # unlocked by paper_guild_wood_pulp_maintenance_advance + lumber = 4.4444 + produced = paper + output = 4.5 + + debug_max_profit = mills_profit_margin #better one + + category = mills_input + } + + } + + obsolete = paper_manufactory + + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_porcelain.txt b/in_game/common/building_types/production_porcelain.txt new file mode 100644 index 0000000..a8e5ec7 --- /dev/null +++ b/in_game/common/building_types/production_porcelain.txt @@ -0,0 +1,84 @@ +porcelain_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = consumer_goods_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + porcelain_guild_maintenance = { + icon_type = goods + icon = clay + clay = 2.4 + coal = 0.3905 + tools = 0.0392 + produced = porcelain + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +porcelain_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + + porcelain_manufactory_maintenance = { + icon_type = goods + icon = clay + + + clay = 3.6924 + coal = 0.4616 + tools = 0.2308 + + produced = porcelain + output = 2 + + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + } + + obsolete = porcelain_guild + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} \ No newline at end of file diff --git a/in_game/common/building_types/production_pottery.txt b/in_game/common/building_types/production_pottery.txt new file mode 100644 index 0000000..b07979c --- /dev/null +++ b/in_game/common/building_types/production_pottery.txt @@ -0,0 +1,173 @@ +pottery_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 0.25 + + category = basic_industry_category + + employment_size = guild_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = guild_build_time + + unique_production_methods = { + pottery_maintenance = { + icon_type = goods + icon = clay + clay = 1.0 + lumber = 0.1201 + tools = 0.0504 + + produced = pottery + output = 1.2 + + debug_max_profit = guild_profit_margin + category = guild_input + } + } + construction_demand = guild_construction +} + +pottery_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + + category = basic_industry_category + + employment_size = workshop_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = workshop_build_time + + + obsolete = pottery_guild + + unique_production_methods = { + pottery_w_maintenance = { + icon_type = goods + icon = clay + clay = 1.0987 + lumber = 0.1102 + tools = 0.0551 + + produced = pottery + output = 1.1 + + debug_max_profit = workshop_profit_margin + + category = workshop_input + } + } + construction_demand = workshop_construction +} + +pottery_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = pottery_workshop + + unique_production_methods = { + pottery_manufactory_maintenance = { + icon_type = goods + icon = clay + clay = 1.1249 + lumber = 0.1682 + tools = 0.113 + + produced = pottery + output = 1.5 + + category = manufactory_input + + debug_max_profit = manufactory_profit_margin + } + + } + + + + construction_demand = manufactory_construction + +} + +########################################### +# Age of Revolutions +########################################### +pottery_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = consumer_goods_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = pottery_manufactory + + build_time = mills_build_time + + unique_production_methods = { + pottery_mill_maintenance = { + icon_type = goods + icon = clay + clay = 3.1427 + lumber = 0.2787 + tools = 0.1393 + + + produced = pottery + output = 3.25 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + } + + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_saltpeter.txt b/in_game/common/building_types/production_saltpeter.txt new file mode 100644 index 0000000..d6f26be --- /dev/null +++ b/in_game/common/building_types/production_saltpeter.txt @@ -0,0 +1,175 @@ +saltpeter_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + location_potential = { + market ?= { + is_produced_in_market = goods:livestock + is_produced_in_market = goods:clay + } + } + + + unique_production_methods = { + saltpeter_guild_demands = { + icon_type = goods + icon = pottery + pottery = 0.1961 + livestock = 1.0 + produced = saltpeter + output = 1.2 + debug_max_profit = guild_profit_margin + category = guild_input + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +saltpeter_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + + + + unique_production_methods = { + saltpeter_workshop_demands = { + icon_type = goods + icon = pottery + pottery = 0.1766 + livestock = 1.0556 + produced = saltpeter + output = 1.1 + debug_max_profit = workshop_profit_margin + category = workshop_input + } + } + + obsolete = saltpeter_guild + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +putrefaction_works = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = basic_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = saltpeter_workshop + + unique_production_methods = { + putrefaction_demands = { + icon_type = goods + icon = pottery + pottery = 0.7687 + livestock = 1.5388 + produced = saltpeter + output = 2.0 + + debug_max_profit = manufactory_profit_margin + + category = manufactory_input + } + + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +putrefaction_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = basic_industry_category + + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + obsolete = putrefaction_works + + unique_production_methods = { + putrefaction_mill_demands = { + icon_type = goods + icon = pottery + pottery = 1.5898 + livestock = 2.8907 + produced = saltpeter + output = 4.0 + + debug_max_profit = mills_profit_margin + + category = mills_input + } + + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_tools.txt b/in_game/common/building_types/production_tools.txt new file mode 100644 index 0000000..413498f --- /dev/null +++ b/in_game/common/building_types/production_tools.txt @@ -0,0 +1,208 @@ +# Age of Traditions + +tools_guild = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = basic_industry_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + metalwork_guild_maintenance = { + icon_type = goods + icon = iron + iron = 0.8 + produced = tools + output = 1.25 + + debug_max_profit = guild_profit_margin + category = guild_input + } + stone_tools_guild_maintenance = { + icon_type = goods + icon = stone + stone = 0.625 + produced = tools + output = 0.75 + debug_max_profit = guild_profit_margin + + category = guild_input + } + + bronze_tools_guild_maintenance = { + icon_type = goods + icon = copper + copper = 0.475 + tin = 0.038 + produced = tools + output = 0.8 + debug_max_profit = guild_profit_margin + + category = guild_input + } + copper_tools_guild_maintenance = { + icon_type = goods + icon = copper + # unlocked by copperworking advance + copper = 0.35 + produced = tools + output = 0.6 + debug_max_profit = guild_profit_margin + + category = guild_input + } + } + + construction_demand = guild_construction + +} + +tools_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = basic_industry_category + + employment_size = workshop_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + metalwork_workshop_maintenance = { + icon_type = goods + icon = iron + iron = 0.88 + produced = tools + output = 1.4 + debug_max_profit = workshop_profit_margin + category = workshop_input + } + + } + + construction_demand = workshop_construction + + obsolete = tools_guild + +} + +iron_foundry = { + audio_tier = 3 + is_foreign = no + pop_type = laborers #unique + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + employment_size = manufactory_employment + + + category = basic_industry_category + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + unique_production_methods = { + + iron_foundry_maintenance = { + icon_type = goods + icon = iron + iron = 1.3187 + coal = 0.3297 + + category = manufactory_input + produced = tools + output = 2.0 + + debug_max_profit = manufactory_profit_margin + } + } + + obsolete = tools_workshop + + construction_demand = manufactory_construction +} + +iron_mill = { + audio_tier = 5 + is_foreign = no + pop_type = laborers + is_mill = yes #unique + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + employment_size = mills_employment + + + category = basic_industry_category + town = yes + city = yes + megalopolis = yes + + + + build_time = mills_build_time + + unique_production_methods = { + + iron_mill_maintenance = { + icon_type = goods + icon = iron + iron = 2.5393 + coal = 0.6356 + + category = mills_input + produced = tools + output = 4.0 + + debug_max_profit = mills_profit_margin + } + + steel_tools = { + icon_type = goods + icon = steel + steel = 1.7778 + + category = mills_input + produced = tools + output = 4.0 + + debug_max_profit = mills_profit_margin + } + } + + obsolete = iron_foundry + + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_weapons.txt b/in_game/common/building_types/production_weapons.txt new file mode 100644 index 0000000..883969b --- /dev/null +++ b/in_game/common/building_types/production_weapons.txt @@ -0,0 +1,191 @@ +weapon_guild = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = base_price + increase_per_level_cost = 1.00 + category = weapons_industry_category + + employment_size = guild_employment + + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + pre_columbian_weapon_smith_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.0633 + stone = 0.6 + produced = weaponry + output = 0.6 + category = guild_input + + debug_max_profit = guild_profit_margin + } + weapon_smith_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.2521 + coal = 0.3 + tools = 0.4 + category = guild_input + produced = weaponry + output = 1.2 + debug_max_profit = guild_profit_margin + } + weapon_guild_obsidian_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.111 + stone = 0.5 + gems = 0.093 + produced = weaponry + output = 0.6 + category = guild_input + + debug_max_profit = guild_profit_margin + } + } + + custom_tags = { guild } + construction_demand = guild_construction +} + +weapon_workshop = { + audio_tier = 2 + is_foreign = no + pop_type = burghers + max_levels = workshop_max_level + startup_ramp_target = workshop_startup_ramp_target + + category = weapons_industry_category + + employment_size = workshop_employment + + + + town = yes + city = yes + megalopolis = yes + + + + build_time = workshop_build_time + + unique_production_methods = { + weapon_workshop_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.3302 + coal = 0.3302 + iron = 0.275 + tools = 0.2197 + category = workshop_input + produced = weaponry + output = 1.1 + + debug_max_profit = workshop_profit_margin + } + + } + + obsolete = weapon_guild + + custom_tags = { workshop } + construction_demand = workshop_construction +} + +weapon_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = weapons_industry_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = weapon_workshop + + build_time = manufactory_build_time + + unique_production_methods = { + weapon_manufactory_maintenance = { + icon_type = goods + icon = lumber + lumber = 0.5565 + coal = 0.5565 + iron = 0.4446 + tools = 0.4446 + category = manufactory_input + produced = weaponry + output = 2.0 + debug_max_profit = manufactory_profit_margin + } + } + + custom_tags = { midgame_manufactory } + construction_demand = manufactory_construction +} + +weapon_factory = { + audio_tier = 6 + is_foreign = no + pop_type = laborers + is_mill = yes + max_levels = mills_max_level + startup_ramp_target = mills_startup_ramp_target + + category = weapons_industry_category + employment_size = mills_employment + + + town = yes + city = yes + megalopolis = yes + + + + obsolete = weapon_manufactory + + build_time = mills_build_time + + unique_production_methods = { + weapon_factory_maintenance = { + icon_type = goods + icon = steel + steel = 1.4689 + coal = 0.4413 + lumber = 0.4413 + category = mills_input + produced = weaponry + output = 4.0 + + debug_max_profit = mills_profit_margin + } + } + + custom_tags = { lategame_manufactory } + construction_demand = mill_construction + + raw_modifier = { + local_burghers_desired_pop = 0.05 + } +} \ No newline at end of file diff --git a/in_game/common/building_types/production_wine.txt b/in_game/common/building_types/production_wine.txt new file mode 100644 index 0000000..f8cb9be --- /dev/null +++ b/in_game/common/building_types/production_wine.txt @@ -0,0 +1,136 @@ +winery = { + is_foreign = no + pop_type = burghers + max_levels = guild_max_level + startup_ramp_target = guild_startup_ramp_target + price = low_base_price + increase_per_level_cost = 1.00 + category = consumer_goods_category + + employment_size = guild_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = guild_build_time + + unique_production_methods = { + fruit_winery_maintenance = { + icon_type = goods + icon = fruit + fruit = 0.6 + lumber = 0.1178 + tools = 0.069 + + produced = wine + output = 1.2 + category = guild_input + + debug_max_profit = guild_profit_margin + } + + rice_winery_maintenance = { + icon_type = goods + icon = rice + rice = 0.6 + lumber = 0.1118 + tools = 0.0698 + + produced = wine + output = 1.2 + category = guild_input + + debug_max_profit = guild_profit_margin + } + + honey_winery_maintenance = { + icon_type = goods + icon = beeswax + beeswax = 0.417 + lumber = 0.1388 + tools = 0.0698 + + produced = wine + output = 1.2 + + category = guild_input + + debug_max_profit = guild_profit_margin + } + } +} + +winery_manufactory = { + audio_tier = 3 + is_foreign = no + pop_type = burghers + max_levels = manufactory_max_level + startup_ramp_target = manufactory_startup_ramp_target + + category = consumer_goods_category + + employment_size = manufactory_employment + + + town = yes + city = yes + megalopolis = yes + + + + build_time = manufactory_build_time + + obsolete = winery + + unique_production_methods = { + fruit_winery_manufactory_maintenance = { + icon_type = goods + icon = fruit + fruit = 1.4146 + lumber = 0.2982 + tools = 0.1487 + + produced = wine + output = 2 + category = guild_input + + debug_max_profit = manufactory_profit_margin + } + + rice_winery_manufactory_maintenance = { + icon_type = goods + icon = rice + rice = 1.4146 + lumber = 0.2982 + tools = 0.1487 + + produced = wine + output = 2 + category = manufactory_input + + debug_max_profit = manufactory_profit_margin + } + + honey_winery_manufactory_maintenance = { + icon_type = goods + icon = beeswax + beeswax = 0.7209 + lumber = 0.2883 + tools = 0.1446 + + produced = wine + output = 2 + + category = manufactory_input + + debug_max_profit = manufactory_profit_margin + } + } + + construction_demand = manufactory_construction + +} \ No newline at end of file diff --git a/in_game/common/building_types/rural_buildings.txt b/in_game/common/building_types/rural_buildings.txt new file mode 100644 index 0000000..efd21a5 --- /dev/null +++ b/in_game/common/building_types/rural_buildings.txt @@ -0,0 +1,807 @@ +bailiff = { + audio_tier = 2 + is_foreign = no + max_levels = 1 + pop_type = bureaucrats + + employment_size = 0.250 + category = government_category + + rural_settlement = yes + expensive = yes + build_time = rural_build_time + + forbidden_for_estates = yes + + location_potential = { + is_overseas_for_owner = no + } + + allow = { + trigger_if = { + limit = { + scope:actor = { + modifier:num_bailiffs <= 0 + } + } + custom_tooltip = { + text = no_local_bailiff_tt + always = no + } + } + trigger_else = { + custom_tooltip = { + text = local_bailiff_tt + scope:actor = { + total_building_levels_including_construction:bailiff < modifier:num_bailiffs + } + } + } + owner = scope:actor #not in subjects + } + + + unique_production_methods = { + bailiff_input = { + icon_type = goods + icon = paper + paper = 0.1 + tools = 0.15 + weaponry = 0.25 + stone = 0.1 + category = building_maintenance + } + } + + modifier = { + local_peasant_enfranchisment = -0.25 + local_bureaucrats_desired_pop_scaled = 0.0025 + + } + + +} + +fishing_village = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = peasants + + is_village = yes + + category = village_category + employment_size = village_employment_size + + rural_settlement = yes + + AI_optimization_flag_coastal = yes + location_potential = { + is_coastal = yes + } + + + + build_time = village_build_time + + possible_production_methods = { + fishing_village_maintenance + arctic_fishing_village_maintenance + coastal_boatyard + rural_pottery_maker + } + + construction_demand = village_construction + + modifier = { + local_merchant_capacity = 0.25 + local_peasants_estate_power = 0.25 #25% higher here. + local_food_capacity = 50 + local_peasant_enfranchisment = 0.01 + + local_maritime_presence = 0.01 + + harbor_suitability = 0.02 + + local_sailors = 0.001 + + + + } + raw_modifier = { + local_laborers_desired_pop = 0.1 + local_soldiers_desired_pop = 0.05 + } +} + +farming_village = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = peasants + + is_village = yes + + category = village_category + employment_size = village_employment_size + + rural_settlement = yes + + location_potential = { + OR = { + raw_material = goods:wheat + raw_material = goods:maize + raw_material = goods:rice + raw_material = goods:millet + raw_material = goods:legumes + raw_material = goods:potato + raw_material = goods:livestock + raw_material = goods:olives + raw_material = goods:fruit + raw_material = goods:wool + } + } + + + + build_time = village_build_time + + unique_production_methods = { + farming_village_maintenance = { + icon_type = goods + icon = tools + tools = 0.0267 + clay = 1.0896 + + output = 0.5 + + produced = livestock + + debug_max_profit = rural_profit_margin + + category = building_maintenance + } + } + + construction_demand = village_construction + + modifier = { + local_food_capacity = 100 + local_raw_material_output = 0.025 + local_peasants_estate_power = 0.25 #25% higher here. + local_peasant_enfranchisment = 0.01 + + } + raw_modifier = { + local_laborers_desired_pop = 0.1 + local_soldiers_desired_pop = 0.05 + } +} + +forest_village = { + audio_tier = 1 + is_foreign = no + is_village = yes + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = peasants + + category = village_category + employment_size = village_employment_size + + + rural_settlement = yes + + location_potential = { + OR = { + raw_material = goods:wild_game + vegetation = forest + vegetation = woods + vegetation = jungle + } + } + + + + build_time = village_build_time + + + possible_production_methods = { + forest_tannery + hunting_lodges + rural_weaponmaker + rural_blacksmith + } + + + construction_demand = village_construction + + modifier = { + local_monthly_food = 1.0 + local_peasants_estate_power = 0.25 #25% higher here. + local_peasant_enfranchisment = 0.01 + + } + raw_modifier = { + local_laborers_desired_pop = 0.1 + local_soldiers_desired_pop = 0.05 + } +} + +market_village = { + audio_tier = 1 + is_foreign = no + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + pop_type = peasants + + is_village = yes + + employment_size = village_employment_size + + rural_settlement = yes + + category = village_category + + + + build_time = village_build_time + + construction_demand = village_construction + + + possible_production_methods = { + rural_blacksmith + rural_millet_brewery + rural_weaponmaker + rural_jewelry_carver + rural_pottery_maker + } + + modifier = { + local_merchant_capacity = 0.10 + local_merchant_power = 0.10 + local_market_access = 0.005 + + local_food_capacity = 50 + local_peasants_estate_power = 0.25 + local_peasant_enfranchisment = 0.01 + + } + raw_modifier = { + local_burghers_desired_pop = 0.01 + local_laborers_desired_pop = 0.1 + local_soldiers_desired_pop = 0.05 + } +} + +rural_glassmaker = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = guild_max_level + startup_ramp_target = rural_startup_ramp_target + + forbidden_for_estates = yes + + category = basic_industry_category + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + + town = no + city = no + + location_potential = { + is_produced_in_location_market = goods:sand + } + + build_time = rural_build_time + + unique_production_methods = { + rural_glassmaker_maintenance = { + icon_type = goods + icon = sand + sand = 1.0 + + produced = glass + output = 0.2 + + debug_max_profit = rural_profit_margin + category = guild_input + } + } + + construction_demand = village_construction + + modifier = { + } +} + +rural_clothmaker = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = guild_max_level + startup_ramp_target = rural_startup_ramp_target + + forbidden_for_estates = yes + + category = consumer_goods_category + + employment_size = rural_peasant_produce_employment + + rural_settlement = yes + + + town = no + city = no + + + + + build_time = rural_build_time + + unique_production_methods = { + + + + rural_wool_clothmaker = { + icon_type = goods + icon = wool + wool = 0.5 + + produced = cloth + output = 0.5 + + debug_max_profit = rural_profit_margin + category = guild_input + } + + rural_cotton_clothmaker = { + icon_type = goods + icon = cotton + cotton = 0.417 + + produced = cloth + output = 0.5 + + debug_max_profit = rural_profit_margin + category = guild_input + } + + rural_fiber_clothmaker = { + icon_type = goods + icon = fiber_crops + fiber_crops = 0.5 + + produced = cloth + output = 0.4 + + debug_max_profit = rural_profit_margin + category = guild_input + } + + + } + + construction_demand = village_construction + + modifier = { + } +} + +charcoal_maker = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + + + category = rgo_building_category + + rural_settlement = yes + + + + build_time = rural_build_time + + unique_production_methods = { + char_coal_maintenance = { + icon_type = goods + icon = lumber + produced = coal + output = 0.8 + + debug_max_profit = rural_profit_margin + + lumber = 0.8889 + category = guild_input + } + + } + + construction_demand = guild_construction +} + +improved_charcoal_maker = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + obsolete = charcoal_maker + + category = rgo_building_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + + + build_time = rural_build_time + + unique_production_methods = { + improved_char_coal_maintenance = { + icon_type = goods + icon = lumber + produced = coal + output = 1.2 + + debug_max_profit = rural_profit_margin + + lumber = 1.3333 + category = guild_input + } + + } + + construction_demand = guild_construction +} + +elephant_hunting_grounds = { + audio_tier = 1 + is_foreign = no + max_levels = { + value = rural_building_cap + if = { + limit = { + owner ?= { + has_variable = ori_double_elephant_hunting_ground_level_flag + } + } + add = { + desc = "INCREASED_MAX_LEVEL_ELEPHANT_HUNTING_GROUND" + value = 2 + } + } + } + startup_ramp_target = rural_startup_ramp_target + pop_type = peasants + + category = rgo_building_category + employment_size = elephant_hunting_grounds_employment + + rural_settlement = yes + + country_potential = { + produced_in_country:elephants > 0 + } + + location_potential = { + raw_material = goods:elephants + } + + + + build_time = rural_build_time + + + unique_production_methods = { + elephant_hunting_grounds_maintenance = { + icon_type = goods + icon = tools + produced = ivory + output = 1 + + tools = 0.208 + weaponry = 0.208 + elephants = 0.417 + debug_max_profit = rural_profit_margin + category = guild_input + } + + } + + modifier = { + local_monthly_food_modifier = -0.05 + } + raw_modifier = { + local_nobles_desired_pop = 0.010 + } + + + construction_demand = village_construction + +} + +windmill = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = 1 + + employment_size = rural_peasant_enhance_employment + + + category = rgo_building_category + + rural_settlement = yes + + location_potential = { + OR = { + raw_material = goods:wheat + raw_material = goods:rice + raw_material = goods:millet + raw_material = goods:maize + } + } + + unique_production_methods = { + + grain_windmill_maintenance = { + icon_type = goods + icon = tools + tools = 0.05 + lumber = 0.1 + cloth = 0.05 + category = building_maintenance + } + } + + modifier = { + local_wheat_output_modifier = 0.50 + local_rice_output_modifier = 0.50 + local_millet_output_modifier = 0.50 + local_maize_output_modifier = 0.50 + local_food_capacity = 100 + } + + + + build_time = rural_build_time + + + construction_demand = farm_constructions +} + +local_smelters = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = 1 + + employment_size = rural_peasant_enhance_employment + + + category = rgo_building_category + + rural_settlement = yes + + location_potential = { + OR = { + raw_material = goods:iron + raw_material = goods:copper + raw_material = goods:tin + raw_material = goods:lead + } + + } + + unique_production_methods = { + + local_smelters_maintenance = { + icon_type = goods + icon = tools + tools = 0.025 + lumber = 0.05 + coal = 0.05 + category = building_maintenance + } + } + + modifier = { + local_iron_output_modifier = 0.1 + local_copper_output_modifier = 0.1 + local_tin_output_modifier = 0.1 + local_lead_output_modifier = 0.1 + } + + + + build_time = rural_build_time + + + construction_demand = farm_constructions +} + +sawmill = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = 1 + + employment_size = rural_peasant_enhance_employment + + forbidden_for_estates = yes + + category = rgo_building_category + + rural_settlement = yes + + location_potential = { + OR = { + vegetation = woods + vegetation = forest + vegetation = farmland + vegetation = jungle + raw_material = goods:lumber + } + } + + unique_production_methods = { + + sawmill_maintenance = { + icon_type = goods + icon = tools + tools = 0.05 + category = building_maintenance + } + } + + modifier = { + local_lumber_output_modifier = 0.2 + } + + + + build_time = rural_build_time + + + construction_demand = farm_constructions +} + +sheep_farms = { + audio_tier = 1 + is_foreign = no + pop_type = laborers + max_levels = rural_building_cap + startup_ramp_target = rural_startup_ramp_target + + employment_size = rural_peasant_produce_employment + + + category = rgo_building_category + + rural_settlement = yes + + location_potential = { + OR = { + vegetation = sparse + vegetation = farmland + vegetation = grasslands + } + } + + unique_production_methods = { + + sheep_farm_maintenance = { + icon_type = goods + icon = lumber + produced = wool + output = 0.5 + + lumber = 0.496 + tools = 0.099 + debug_max_profit = rural_profit_margin + category = building_maintenance + } + } + + modifier = { + } + + + + build_time = rural_build_time + + + construction_demand = farm_constructions +} + +settlement_building = { + audio_tier = 1 + is_foreign = no + max_levels = 1 + pop_type = peasants + + + category = infrastructure_category + + employment_size = tiny_rural_peasant_produce_employment + + + rural_settlement = yes + town = no + city = no + + + location_potential = { + location_population_percentage < 0.05 + } + remove_if = { + location = { + location_population_percentage > 0.1 + } + } + + + possible_production_methods = { + colony_maintenance + } + construction_demand = colony_construction + + + build_time = village_build_time + + modifier = { + local_migration_attraction = 1.0 + local_population_growth = 0.01 + } + +} + +kilwan_shipwrights = { + audio_tier = 1 + is_special = yes + is_foreign = no + max_levels = 1 + pop_type = soldiers + + category = naval_category + employment_size = dock_employment + + rural_settlement = yes + town = no + city = no + + location_potential = { + is_port = yes + } + + build_time = medium_port_building_time + + + + possible_production_methods = { + kilwan_shipwrights_maintenance + } + + construction_demand = port_building_construction + + + modifier = { + local_sailors = 0.01 + harbor_suitability = 0.05 + } +} diff --git a/in_game/common/building_types/terraformer.txt b/in_game/common/building_types/terraformer.txt new file mode 100644 index 0000000..f6001cb --- /dev/null +++ b/in_game/common/building_types/terraformer.txt @@ -0,0 +1,151 @@ +# Clear forest for construction - adds debuff compensation without changing vegetation +cveg_clear_forest_for_construction = { + is_foreign = no + max_levels = 1 + pop_type = laborers + employment_size = 0.001 + category = infrastructure_category + city = yes + town = yes + rural_settlement = yes + price = cveg_clear_forest_for_construction_price + build_time = cveg_clear_forest_for_construction_build_time + forbidden_for_estates = yes + location_potential = { + OR = { + vegetation = forest + vegetation = woods + } + NOT = { has_location_modifier = cveg_compensate_forest_debuff } + cveg_is_changing_vegetation = no + trigger_if = { + limit = { has_variable = cveg_temporary_remove_clear_building } + custom_tooltip = { + text = cveg_temporary_clear_building_tooltip + NOT = { has_variable = cveg_temporary_remove_clear_building } + } + } + } + unique_production_methods = { + cveg_clear_forest_for_construction_maintenance = { + icon_type = goods + icon = tools + tools = 0.01 + category = building_maintenance + } + } + on_construction_started = { + location = { + add_location_modifier = { + modifier = cveg_extra_construction_slot + } + } + } + on_construction_ended = { + location = { + remove_location_modifier = cveg_extra_construction_slot + } + } + on_built = { + location = { + add_location_modifier = { + modifier = cveg_compensate_forest_debuff + } + set_variable = { + name = cveg_temporary_remove_clear_building + months = 2 + } + } + } + construction_demand = cveg_clear_forest_for_construction_construction + modifier = { + movement_cost = -0.25 + local_rgo_build_time = -0.33 + local_road_building_time = -0.50 + local_distance_from_capital_speed_propagation = 0.125 + local_monthly_development_modifier = 0.05 + } + remove_if = { + location = { + has_variable = cveg_temporary_remove_clear_building + } + } +} + +# Drain wetlands for construction - adds debuff compensation without changing topography +cveg_drain_wetlands_for_construction = { + is_foreign = no + max_levels = 1 + pop_type = laborers + employment_size = 0.001 + category = infrastructure_category + city = yes + town = yes + rural_settlement = yes + price = cveg_drain_wetlands_for_construction_price + build_time = cveg_drain_wetlands_for_construction_build_time + forbidden_for_estates = yes + location_potential = { + topography = wetlands + NOT = { has_location_modifier = wsf_wetlands_to_flatland } + NOT = { has_location_modifier = cveg_compensate_wetlands_debuff } + cveg_is_changing_vegetation = no + NOT = { + any_buildings_in_location = { + building_levels_under_construction > 0 + building_type = building_type:cveg_drain_wetlands_for_construction + } + } + trigger_if = { + limit = { has_variable = cveg_temporary_remove_clear_building } + custom_tooltip = { + text = cveg_temporary_clear_building_tooltip + NOT = { has_variable = cveg_temporary_remove_clear_building } + } + } + } + unique_production_methods = { + cveg_drain_wetlands_for_construction_maintenance = { + icon_type = goods + icon = tools + tools = 0.01 + category = building_maintenance + } + } + on_construction_started = { + location = { + add_location_modifier = { + modifier = cveg_extra_construction_slot + } + } + } + on_construction_ended = { + location = { + remove_location_modifier = cveg_extra_construction_slot + } + } + on_built = { + location = { + add_location_modifier = { + modifier = cveg_compensate_wetlands_debuff + } + set_variable = { + name = cveg_temporary_remove_clear_building + months = 2 + } + } + } + construction_demand = cveg_drain_wetlands_for_construction_construction + modifier = { + movement_cost = -0.5 + local_rgo_build_time = -0.25 + local_road_building_time = -1.0 + local_distance_from_capital_speed_propagation = 0.25 + local_monthly_development_modifier = 0.30 + } + remove_if = { + location = { + has_variable = cveg_temporary_remove_clear_building + } + } +} \ No newline at end of file diff --git a/in_game/common/building_types/town_buildings.txt b/in_game/common/building_types/town_buildings.txt new file mode 100644 index 0000000..fc928f4 --- /dev/null +++ b/in_game/common/building_types/town_buildings.txt @@ -0,0 +1,629 @@ +construction_center = { + audio_tier = 2 + + is_foreign = no + max_levels = construction_center_max_level + pop_type = bureaucrats + forbidden_for_estates = yes + + employment_size = construction_employment + + category = infrastructure_category + + town = yes + city = yes + megalopolis = yes + + + increase_per_level_cost = 1.0 + + build_time = government_build_time + + + unique_production_methods = { + construction_center_maintenance = { + icon_type = goods + icon = masonry + masonry = 0.2 + tools = 0.25 + category = building_maintenance + } + } + + + construction_demand = town_building_construction + + + modifier = { + max_constructions_at_same_time = 1 + } + +} + +minting_office = { + audio_tier = 1 + is_foreign = no + max_levels = 1 + pop_type = bureaucrats + forbidden_for_estates = yes + + + category = government_category + employment_size = generic_burgher_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + + build_time = government_build_time + + possible_production_methods = { + mint_maintenance + } + + construction_demand = minting_office_construction + + + modifier = { + local_crown_estate_power = 0.25 + local_bureaucrats_desired_pop_scaled = 0.001 + } + +} + +granary = { + audio_tier = 2 + is_foreign = no + max_levels = guild_max_level + + pop_type = laborers + + employment_size = granary_employment + AI_ignore_available_worker_flag = yes # we want this for pop growth so build it anyway + + category = infrastructure_category + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + + build_time = government_build_time + + + unique_production_methods = { + granary_maintenance = { + icon_type = goods + icon = masonry + masonry = 0.2 + category = building_maintenance + } + } + + + construction_demand = granary_construction + + + + modifier = { + local_food_capacity = 500 + local_food_decay_modifier = -0.05 + } + + ai_forbid_shutdown = yes +} + +fortress_granary = { #https://en.wikipedia.org/wiki/Agadir_(granary) + audio_tier = 2 + is_special = yes + is_foreign = no + max_levels = 1 + pop_type = peasants + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + employment_size = granary_employment + category = defense_category + + build_time = medium_fort_building + + country_potential = { + culture ?= { has_culture_group = culture_group:maghrebi_group } + } + + location_potential = { + } + + expensive = yes + + construction_demand = fortress_granary_construction + + modifier = { + local_garrison_size = 0.1 + local_food_capacity = 500 + local_defensive = 0.25 + } + + unique_production_methods = { + fortress_granary_maintenance = { + icon_type = goods + icon = wheat + wheat = 0.1 + masonry = 0.2 + weaponry = 0.05 + cloth = 0.05 + copper = 0.025 + tin = 0.01 + potential = { + any_market_present_in_country = { + is_produced_in_market = goods:wheat + } + } + allow = { + scope:target ?= { market ?= { is_produced_in_market = goods:wheat } } + } + category = building_maintenance + } + + fortress_millet_granary_maintenance = { + icon_type = goods + icon = millet + millet = 0.1 + masonry = 0.2 + weaponry = 0.05 + cloth = 0.05 + copper = 0.025 + tin = 0.01 + potential = { + any_market_present_in_country = { + is_produced_in_market = goods:millet + } + } + allow = { + scope:target ?= { market ?= { is_produced_in_market = goods:millet } } + } + category = building_maintenance + } + + fortress_rice_granary_maintenance = { + icon_type = goods + icon = rice + rice = 0.1 + masonry = 0.2 + weaponry = 0.05 + cloth = 0.05 + copper = 0.025 + tin = 0.01 + potential = { + any_market_present_in_country = { + is_produced_in_market = goods:rice + } + } + allow = { + scope:target ?= { market ?= { is_produced_in_market = goods:rice } } + } + category = building_maintenance + } + + fortress_maize_granary_maintenance = { + icon_type = goods + icon = maize + maize = 0.1 + masonry = 0.2 + weaponry = 0.05 + cloth = 0.05 + copper = 0.025 + tin = 0.01 + potential = { + any_market_present_in_country = { + is_produced_in_market = goods:maize + } + } + allow = { + scope:target ?= {market ?= { is_produced_in_market = goods:maize } } + } + category = building_maintenance + } + + fortress_qullqa_maintenance = { + icon_type = goods + icon = potato + potato = 0.08 + maize = 0.02 + masonry = 0.2 + weaponry = 0.05 + cloth = 0.05 + copper = 0.025 + tin = 0.01 + potential = { + any_market_present_in_country = { + is_produced_in_market = goods:potato + is_produced_in_market = goods:maize + } + } + allow = { + scope:target ?= { market ?= { + is_produced_in_market = goods:potato + is_produced_in_market = goods:maize + } + } + } + category = building_maintenance + } + } +} + +grain_house = { + audio_tier = 1 + is_foreign = no + max_levels = guild_max_level + + pop_type = laborers + + employment_size = granary_employment + + category = infrastructure_category + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + build_time = government_build_time + + country_potential = { + has_reform = government_reform:everyone_serves_reform + } + + possible_production_methods = { + granary_maintenance + } + + construction_demand = granary_construction + + modifier = { + local_food_capacity = 100 + local_supply_limit_modifier = 0.01 + } +} + +medical_school = { + audio_tier = 2 + is_foreign = no + pop_type = bureaucrats + + max_levels = 1 + employment_size = burghers_medical_employment + + category = infrastructure_category + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + + build_time = huge_unique_build_time + graphical_tags = { medium_religious } + + expensive = yes + + modifier = { + local_life_expectancy = 3 + local_disease_resistance = 0.33 + } + + possible_production_methods = { + temple_maintenance + } + + + construction_demand = town_building_construction +} + +lazaretto = { + audio_tier = 1 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + employment_size = clergy_medical_employment + category = infrastructure_category + town = yes + city = yes + megalopolis = yes + location_potential = { + is_coastal = yes + } + expensive = yes + build_time = generic_town_build_time + + unique_production_methods = { + lazaretto_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 0.15 + books = 0.05 + medicaments = 0.03 + category = building_maintenance + } + } + construction_demand = town_building_construction + modifier = { + local_disease_resistance = 0.25 + } +} + +pest_house = { + audio_tier = 1 + is_foreign = no + pop_type = clergy + max_levels = 1 + employment_size = clergy_medical_employment + category = infrastructure_category + + rural_settlement = yes + town = yes + city = yes + megalopolis = yes + + build_time = super_fast_temporary_house + + country_potential = { + is_situation_active = situation:black_death + custom_tooltip = { + text = pest_house_tt + modifier:enable_pest_house = yes + } + } + + remove_if = { + OR = { + NOT = { is_situation_active = situation:black_death } + owner = { + AND = { + modifier:enable_pest_house = no + trigger_if = { + limit = { + is_subject = yes + } + overlord = { modifier:enable_pest_house = no } + } + } + } + } + } + + unique_production_methods = { + pest_house_maintenance = { + icon_type = goods + icon = fiber_crops + fiber_crops = 0.10 + incense = 0.10 + category = building_maintenance + } + } + construction_demand = town_building_construction + modifier = { + local_disease_resistance = 0.3 + local_unrest = 0.1 + } +} + +hospital = { + audio_tier = 2 + is_foreign = no + pop_type = bureaucrats + max_levels = 1 + employment_size = clergy_medical_employment + + category = infrastructure_category + + town = yes + city = yes + megalopolis = yes + + location_potential = { + development >= 20 + } + + expensive = yes + + build_time = generic_town_build_time + + + possible_production_methods = { + hospital_maintenance + } + graphical_tags = { medium_religious } + + + construction_demand = town_building_construction + + modifier = { + local_disease_resistance = 0.1 + local_life_expectancy = 5 + } +} + +slave_market = { + audio_tier = 2 + is_foreign = no + max_levels = slave_market_max_level + startup_ramp_target = rural_startup_ramp_target + pop_type = burghers + + category = government_category + + + employment_size = trade_employment + + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + + country_potential = { + religion ?= { + group != religion_group:christian + } + } + + + allow = { + scope:actor = { + has_slavery = yes + } + } + + remove_if = { + scope:actor = { + has_slavery = no + } + } + + + + build_time = generic_town_build_time + + unique_production_methods = { + + slave_market_maintenance = { + icon_type = goods + icon = leather + leather = 0.526 + tools = 0.478 + weaponry = 0.421 + paper = 0.363 + + produced = slaves_goods + output = 2.0 + + debug_max_profit = rural_profit_margin + category = building_maintenance + } + + + } + + modifier = { + building_enslavement_power = 0.10 + local_slave_pop_satisfaction = -0.025 + } + + + + construction_demand = town_building_construction + +} + + +#Aqueducts + +aqueduct_system = { + audio_tier = 5 + content_priority = 100 + is_foreign = no + max_levels = aqueduct_system_max_level + pop_type = laborers + forbidden_for_estates = yes + + employment_size = aqueduct_system_employment + price = expand_aqueduct_system + + category = infrastructure_category + + town = yes + city = yes + megalopolis = yes + + build_time = infrastructure_build_time + + country_potential = { + OR = { + tag = BYZ + tag = ROM + + owns = location:constantinople + owns = location:rome + owns = location:avignon + owns = location:segovia + } + } + + location_potential = { + OR = { + this = location:constantinople + this = location:rome + this = location:avignon + this = location:segovia + } + } + + possible_production_methods = { aqueduct_system_maintenance } + + construction_demand = aqueduct_system_construction + + modifier = { + local_disease_resistance = 0.1 + local_monthly_food_modifier = 0.15 + local_monthly_prosperity = 0.001 + local_monthly_development_modifier = 0.1 + } + + capital_country_modifier = { + monthly_legitimacy = 0.1 + monthly_republican_tradition = 0.1 + monthly_devotion = 0.1 + } +} + +provincial_chancery = { + audio_tier = 1 + is_foreign = no + pop_type = burghers + max_levels = chancery_max_level + + category = government_category + + employment_size = generic_burgher_employment + + town = yes + city = yes + megalopolis = yes + + expensive = yes + build_time = generic_town_build_time + + + country_potential = { + has_reform = government_reform:provincial_consulates_reform + } + + remove_if = { + location.owner = { + NOT = { + has_reform = government_reform:provincial_consulates_reform + } + } + } + + modifier = { + local_burghers_max_literacy = 2.5 + local_nobles_max_literacy = 2.5 + local_pop_join_rebel_threshold = -0.05 + } + + + possible_production_methods = { chancery_maintenance } + + + construction_demand = town_building_construction +} \ No newline at end of file diff --git a/in_game/common/building_types/trade_buildings.txt b/in_game/common/building_types/trade_buildings.txt new file mode 100644 index 0000000..44d0150 --- /dev/null +++ b/in_game/common/building_types/trade_buildings.txt @@ -0,0 +1,224 @@ +marketplace = { + audio_tier = 1 + is_foreign = no + max_levels = marketplace_max_level + pop_type = burghers + forbidden_for_estates = yes + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + build_time = merchant_build_time + + unique_production_methods = { + marketplace_maintenance = { + icon_type = building_type + icon = marketplace + cloth = 0.05 + jewelry = 0.05 + paper = 0.05 + salt = 0.1 + + category = building_maintenance + } + } + + construction_demand = town_building_construction + + modifier = { + local_pop_assimilation_speed_modifier = 0.01 + local_burghers_estate_power = 0.1 + + local_market_access = 0.05 + + + local_merchant_power = 1.5 + local_trades_per_burgher = 2.5 + local_merchant_capacity = 2.5 + } +} + +merchants_quarters = { + audio_tier = 2 + + is_foreign = no + max_levels = market_max_level + pop_type = burghers + forbidden_for_estates = yes + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = merchant_build_time + unique_production_methods = { + merchants_quarters_maintenance = { + icon_type = building_type + icon = merchants_quarters + cloth = 0.1 + jewelry = 0.1 + paper = 0.1 + salt = 0.2 + + category = building_maintenance + } + + } + construction_demand = town_building_construction + + modifier = { + local_pop_assimilation_speed_modifier = 0.01 + local_burghers_estate_power = 0.1 + + local_market_access = 0.01 + + local_merchant_power = 1.5 + local_trades_per_burgher = 1.5 + local_merchant_capacity = 1.5 + } + + obsolete = marketplace +} + +grand_marketplace = { + audio_tier = 3 + is_foreign = no + max_levels = market_max_level + pop_type = burghers + forbidden_for_estates = yes + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + build_time = merchant_build_time + + unique_production_methods = { + grand_marketplace_maintenance = { + icon_type = building_type + icon = grand_marketplace + cloth = 0.2 + jewelry = 0.2 + paper = 0.2 + salt = 0.4 + + category = building_maintenance + } + + } + construction_demand = town_building_construction + + modifier = { + local_pop_assimilation_speed_modifier = 0.01 + local_burghers_estate_power = 0.1 + + local_market_access = 0.015 + + local_merchant_power = 2.0 + local_trades_per_burgher = 2.0 + local_merchant_capacity = 2.0 + } + + obsolete = merchants_quarters +} + +commerce_center = { + audio_tier = 5 + forbidden_for_estates = yes + is_foreign = no + max_levels = market_max_level + pop_type = burghers + + + category = trade_category + + employment_size = trade_employment + + town = yes + city = yes + megalopolis = yes + + + build_time = merchant_build_time + + + unique_production_methods = { + commerce_center_maintenance = { + icon_type = building_type + icon = commerce_center + cloth = 0.2 + jewelry = 0.2 + paper = 0.2 + salt = 0.4 + + category = building_maintenance + } + + } + construction_demand = town_building_construction + + modifier = { + local_pop_assimilation_speed_modifier = 0.01 + local_burghers_estate_power = 0.1 + + local_market_access = 0.02 + + local_merchant_power = 4.0 + local_trades_per_burgher = 4.0 + local_merchant_capacity = 4.0 + } + + obsolete = grand_marketplace +} + +port_authority = { + audio_tier = 2 + is_foreign = no + stronger_power_projection = no + max_levels = market_max_level + pop_type = burghers + forbidden_for_estates = yes + category = trade_category + + employment_size = trade_employment + + rural_settlement = no + town = yes + city = yes + megalopolis = yes + + allow = { + is_port = yes + } + + location_potential = { + is_coastal = yes + } + + possible_production_methods = { + port_authority_maintenance + } + + construction_demand = town_building_construction + + build_time = merchant_build_time + + modifier = { + local_merchant_capacity = 0.5 + local_trade_protection_factor = 0.10 + local_trades_per_burgher = 0.25 + + local_market_access = 0.005 + } +} \ No newline at end of file diff --git a/in_game/common/bureaucracies/bob_generalbureau.txt b/in_game/common/bureaucracies/bob_generalbureau.txt new file mode 100644 index 0000000..1e308ec --- /dev/null +++ b/in_game/common/bureaucracies/bob_generalbureau.txt @@ -0,0 +1,327 @@ +REPLACE:honorary_titles_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + estates_that_like = { + nobles_estate + crown_estate + } + estates_that_dislike = { + burghers_estate + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + #neutral + neutral_modifier = { + country_cabinet_efficiency = 0.1 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + global_estate_target_satisfaction = small_permanent_target_satisfaction + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + global_estate_satisfaction_from_legitimacy = -0.1 + } +} + +REPLACE:court_eunuchs_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + estates_that_like = { + crown_estate + clergy_estate + } + estates_that_dislike = { + nobles_estate + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + #neutral + neutral_modifier = { + may_hire_eunuch_advisors = yes + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + country_child_education = 0.1 + global_monthly_literacy = 0.01 + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + stability_decay = 0.0025 + } +} + +REPLACE:ritualistic_court_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + estates_that_like = { + crown_estate + clergy_estate + } + estates_that_dislike = { + burghers_estate + } + + #neutral + neutral_modifier = { + monthly_legitimacy = 0.1 + monthly_republican_tradition = 0.1 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + diplomatic_reputation = 1 + annexation_speed_modifier = 0.15 + cultural_influence_modifier = 0.2 + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + global_estate_target_satisfaction = medium_permanent_target_satisfaction_penalty + } +} + +REPLACE:imperial_senate_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + estates_that_like = { + nobles_estate + } + estates_that_dislike = { + crown_estate + } + + #neutral + neutral_modifier = { + parliament_duration_modifier = 0.5 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + parliament_base_support = 0.1 + num_local_governors = 1 + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + monthly_legitimacy = -0.2 + monthly_republican_tradition = -0.2 + } +} + +REPLACE:kephalai_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + allow = { + } + + estates_that_like = { + crown_estate + burghers_estate + } + estates_that_dislike = { + nobles_estate + } + + #neutral + neutral_modifier = { + government_size = 1 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + global_crown_estate_power = 0.25 + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + estate_enrichment = 0.2 + global_non_rural_monthly_prosperity = -0.002 + } +} + +REPLACE:magister_militum_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + allow = { + } + + estates_that_like = { + crown_estate + burghers_estate + } + estates_that_dislike = { + nobles_estate + } + + #neutral + neutral_modifier = { + monthly_army_tradition = 0.2 + monthly_navy_tradition = 0.2 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + + train_general_ability = 25 + train_admiral_ability = 25 + military_tactics = 0.2 + } + + #negative + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + monthly_legitimacy = -0.2 + global_nobles_estate_power = 0.5 + } +} + +REPLACE:allelengyon_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.003 + } + + potential = { + has_dlc = "d008_fate_of_the_phoenix" + } + + allow = { + OR = { + custom_tooltip = { + text = won_fate_of_the_phoenix_disaster_tt + has_variable = won_fate_of_the_phoenix_disaster_variable + } + + AND = { + has_or_had_tag = TRE + owns = location:constantinople + } + + } + } + + estates_that_like = { + peasants_estate + } + estates_that_dislike = { + nobles_estate + burghers_estate + } + + #neutral + neutral_modifier = { + estate_enrichment = -0.3 + global_peasant_enfranchisment = 0.05 + } + + #positive + positive_modifier = { + scale = { value = scope:maintenance } + global_monthly_prosperity = 0.0025 + } + + #negative + negative_modifier = { + scale = { + value = 1 + add = scope:entrenchment + multiply = { value = 1 subtract = scope:maintenance } + } + global_monthly_development = -0.001 + } +} + diff --git a/in_game/common/bureaucracies/bureaucracies.txt b/in_game/common/bureaucracies/bureaucracies.txt new file mode 100644 index 0000000..ec5af61 --- /dev/null +++ b/in_game/common/bureaucracies/bureaucracies.txt @@ -0,0 +1,39 @@ +imperial_bureaucracy = { + implementation_price = price:implement_bureaucracy_price + maintenance_price = price:maintain_bureaucracy_price + removal_price = price:remove_bureaucracy_price + + maintenance_price_modifier = { + value = country_economical_base + multiply = 0.01 + } + + potential = { + country_rank = country_rank:rank_empire + } + allow = { } + + estates_that_like = { + crown_estate + } + estates_that_dislike = { + nobles_estate + } + + neutral_modifier = { + country_cabinet_efficiency = 0.25 + } + + positive_modifier = { + scale = { value = scope:maintenance } + global_crown_estate_power = 0.50 + } + + negative_modifier = { + scale = { + value = 1 + subtract = scope:maintenance + } + nobles_estate_income_modifier = -0.15 + } +} \ No newline at end of file diff --git a/in_game/common/bureaucracies/readme.txt b/in_game/common/bureaucracies/readme.txt new file mode 100644 index 0000000..ea33f2e --- /dev/null +++ b/in_game/common/bureaucracies/readme.txt @@ -0,0 +1,22 @@ +# Government bureaucracy! Stuff you implement with good intentions but ends up costing you an arm and a leg. +# +# +# - potential: trigger for whether the action is possible (root = country) +# - allow: trigger for whether the action can start (root = country) +# - years: +# - months: +# - weeks: +# - days: all used to define how long it takes to become fully implemented. Modifiers will be scaled by how much of this time is completed. +# - on_activate: fired when the action is chosen (root = country) +# - on_fully_activated: fired when the action's implementation reaches 100% (instant if there's no time delay): root = country +# - on_deactivate: fired when the action is removed (root = country) +# - neutral_modifier: which is applied to whole countries: root = country; scope:maintenance = maintenance; scope:entrenchment = entrenchment. +# - positive_modifier: which is applied to whole countries: root = country; scope:maintenance = maintenance; scope:entrenchment = entrenchment. +# - negative_modifier: which is applied to whole countries: root = country; scope:maintenance = maintenance; scope:entrenchment = entrenchment. +# - implementation_price = a scripted standard price, listed in \common\prices\ and referenced by name (like price:) or as a result of a script (like scope:target.price) +# - implementation_price_modifier = calculated value, multiplies the price; root is the country +# - removal_price = a scripted standard price, listed in \common\prices\ and referenced by name (like price:) or as a result of a script (like scope:target.price) +# - removal_price_modifier = calculated value, multiplies the price; root is the country +# - maintenance_price = a scripted standard price, listed in \common\prices\ and referenced by name (like price:) or as a result of a script (like scope:target.price) +# - maintenance_price_modifier = calculated value, multiplies the price; root is the country +# - on_maintenance_changed: called on the next day after a maintenance setting is changed: root = country; scope:old_maintenance = previous value; scope:new_maintenance = new value \ No newline at end of file diff --git a/in_game/common/cabinet_actions/increase_control.txt b/in_game/common/cabinet_actions/increase_control.txt new file mode 100644 index 0000000..a8af927 --- /dev/null +++ b/in_game/common/cabinet_actions/increase_control.txt @@ -0,0 +1,87 @@ +increase_control_province = { + ability = adm + helps_with = "location" + + potential = { + num_locations > 0 + modifier:can_send_royal_inspectors = no + + exists = low_control_best_tax_base + } + + allow = { + or = { + scope:is_active ?= yes + any_province = { + province_average_control < define:NCountry|LOW_CONTROL_THRESHOLD_FOR_BEST_TAX + } + } + } + + select_trigger = { + looking_for_a = province + source = actor + target_flag = selected_province + + ai_interaction_source_list = { + scope:actor = { + low_control_best_tax_base = { + add_to_list = source + } + } + } + + + + name = "increase_control_province_select_province" + none_available_msg_key = "increase_control_no_provinces" + pre_evaluation_sort_value = { + value = province_tax_base + } + pre_evaluation_number_to_evaluate_fully = 5 + default_sort = province_uncontrolled_wealth + column = { + data = name + } + column = { + data = control + } + column = { + data = game_concept_max_control + } + column = { + data = population + } + column = { + data = province_uncontrolled_wealth + } + visible = { + province_average_control < 0.95 + NOT = { cabinet_already_performing_same_task_on_target = { cabinet_action = increase_control_province interaction_target = selected_province } } + NOT = { cabinet_already_performing_same_task_on_target = { cabinet_action = noblesse_oblige_cabinet_action interaction_target = selected_province } } + NOT = { cabinet_control_area_action_covers_province = yes } + } + map_color = { + lerp = { + min_color = define:NMapColors|MAP_COLOR_LOW + max_color = define:NMapColors|MAP_COLOR_HIGH + factor = local_control + } + } + } + + location_modifier = { + local_max_control = 0.10 + local_monthly_control = 0.01 + } + + progress = { + scope:selected_province = { + value = province_average_control + } + } + + map_marker = { + show_for_owner = yes + } +} diff --git a/in_game/common/cabinet_actions/increase_control_area.txt b/in_game/common/cabinet_actions/increase_control_area.txt new file mode 100644 index 0000000..da26cf2 --- /dev/null +++ b/in_game/common/cabinet_actions/increase_control_area.txt @@ -0,0 +1,71 @@ +increase_control_area = { + ability = adm + + potential = { + num_locations > 0 + modifier:can_send_royal_inspectors = no + exists = low_control_best_tax_base + } + + allow = { + or = { + scope:is_active ?= yes + any_province = { + province_average_control < define:NCountry|LOW_CONTROL_THRESHOLD_FOR_BEST_TAX + } + } + } + + select_trigger = { + looking_for_a = area + source = actor + source_flags = areas_with_owned_presence + target_flag = selected_area + + ai_interaction_source_list = { + scope:actor = { + low_control_best_tax_base.area = { + add_to_list = source + } + } + } + + + name = "increase_control_area_select_area" + none_available_msg_key = "increase_control_no_provinces" + column = { + data = name + } + column = { + data = population + } + visible = { + "area_average_control(scope:actor)" < 0.95 + NOT = { cabinet_already_performing_same_task_on_target = { cabinet_action = increase_control_area interaction_target = selected_area } } + NOT = { cabinet_control_province_action_in_area = { cabinet_action = increase_control_province } } + NOT = { cabinet_control_province_action_in_area = { cabinet_action = noblesse_oblige_cabinet_action } } + } + map_color = { + lerp = { + min_color = define:NMapColors|MAP_COLOR_LOW + max_color = define:NMapColors|MAP_COLOR_HIGH + factor = local_control + } + } + } + + location_modifier = { + local_max_control = 0.15 + local_monthly_control = 0.005 + } + + progress = { + scope:selected_area = { + value = "area_average_control(scope:actor)" + } + } + + map_marker = { + show_for_owner = yes + } +} diff --git a/in_game/common/cabinet_actions/integrate_province.txt b/in_game/common/cabinet_actions/integrate_province.txt new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/in_game/common/cabinet_actions/integrate_province.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/in_game/common/casus_belli/conquest.txt b/in_game/common/casus_belli/conquest.txt new file mode 100644 index 0000000..edab14e --- /dev/null +++ b/in_game/common/casus_belli/conquest.txt @@ -0,0 +1,16 @@ +#root is country +#scope:target is the target + + +cb_conquer_province = { + allow_creation = { + always = yes + } + + #scopes are actor/recipient for countries, while root = province checked. + province = { + always = yes + } + + war_goal_type = conquer_province +} diff --git a/in_game/common/character_interactions/promote_to_head_of_cabinet.txt b/in_game/common/character_interactions/promote_to_head_of_cabinet.txt new file mode 100644 index 0000000..063484c --- /dev/null +++ b/in_game/common/character_interactions/promote_to_head_of_cabinet.txt @@ -0,0 +1,107 @@ +promote_to_head_of_cabinet = { + + sound = PROMOTE_TO_HEAD_OF_CABINET + + message = yes + on_own_nation = yes + + price = price:head_of_cabinet_promotion + + potential = { + scope:actor = { + #country + } + } + + ai_tick = daily + ai_tick_frequency = 360 + + allow = { + scope:actor = { + country_can_promote_head_of_cabinet = yes + NOT = { + any_cabinet_character = { + modifier:is_head_of_cabinet = yes + } + } + } + } + + select_trigger = { + looking_for_a = character + source = actor + target_flag = recipient + name = "choose_character" + column = { + data = name + } + visible = { + is_alive = yes + is_adult = yes + in_cabinet = yes + NOT = { has_character_modifier = head_of_the_cabinet_modifier } + } + enabled = { + custom_tooltip = { + text = promote_to_head_of_cabinet_timer + in_cabinet = yes + } + NOT = { has_character_modifier = head_of_the_cabinet_modifier } + } + } + + effect = { + scope:actor = { + if = { + limit = { + scope:recipient = { has_variable = no_cost_for_promotion } + } + add_political_influence = 25 + } + promote_to_head_of_cabinet_effect = { + target = scope:recipient + } + } + } + + ai_will_do = { + if = { + limit = { + scope:actor.political_influence <= 90 + } + + add = { + value = -250 + desc = "low PI" + } + } + + add = { + desc = "reluctance" + value = -250 + } + + add = { + desc = "total abilities" + value = scope:recipient.total_abilities + } + + if = { + limit = { + scope:recipient = { has_trait = corrupt } + } + + add = { + desc = "corrupt" + subtract = 250 + } + } + + if = { + limit = { + scope:actor = { has_reform = government_reform:powerful_vizierships_reform } + } + add = 1000 + } + } +} \ No newline at end of file diff --git a/in_game/common/child_educations/00_default.txt b/in_game/common/child_educations/00_default.txt new file mode 100644 index 0000000..1165452 --- /dev/null +++ b/in_game/common/child_educations/00_default.txt @@ -0,0 +1,71 @@ +#scope for allow is the character. + +balanced_education = +{ + allow = { + } + modifier = { + character_child_education = 0.75 + } + +} + + + +administrative_education = +{ + allow = { + } + modifier = { + character_child_education = 0.50 + character_adm_child_education = 0.5 + } + country_modifier = { + court_spending_efficiency = -0.05 + } +} + +diplomatic_education = +{ + allow = { + } + modifier = { + character_child_education = 0.50 + character_dip_child_education = 0.5 + } + country_modifier = { + court_spending_efficiency = -0.05 + } +} + + +military_education = +{ + allow = { + } + modifier = { + character_child_education = 0.50 + character_mil_child_education = 0.5 + } + country_modifier = { + court_spending_efficiency = -0.05 + } +} + + + +expensive_in_depth_education = +{ + allow = { + } + + price_to_select = select_expensive_child_education + price_to_deselect = deselect_expensive_child_education + + modifier = { + character_child_education = 1.25 + } + country_modifier = { + court_spending_efficiency = -0.1 + } +} diff --git a/in_game/common/child_educations/D008_orthodox_education.txt b/in_game/common/child_educations/D008_orthodox_education.txt new file mode 100644 index 0000000..3e5d428 --- /dev/null +++ b/in_game/common/child_educations/D008_orthodox_education.txt @@ -0,0 +1,33 @@ +#scope for allow is the character. + +orthodox_education = +{ + potential = { + has_dlc = "d008_fate_of_the_phoenix" + owner = { religion = religion:orthodox } + } + allow = { + owner = { + is_leader_of_international_organization_of_type = { + type = autocephalous_patriarchate + } + } + } + + price_to_select = select_orthodox_education + price_to_deselect = deselect_orthodox_education + + modifier = { + character_child_education = 0.8 + } + country_modifier = { + monthly_religious_influence = -0.1 + } + + on_education_start_effect = { + if = { + limit = { religion != owner.religion } + change_character_religion = owner.religion + } + } +} diff --git a/in_game/common/child_educations/readme.txt b/in_game/common/child_educations/readme.txt new file mode 100644 index 0000000..f316637 --- /dev/null +++ b/in_game/common/child_educations/readme.txt @@ -0,0 +1,9 @@ +# = { +# modifier = { } +# country_modifier = { } +# price_to_select = +# price_to_deselect = +# potential = { } +# allow = { } +# on_education_start_effect = { } # when chosen +#} \ No newline at end of file diff --git a/in_game/common/country_ranks/bob_bureau.txt b/in_game/common/country_ranks/bob_bureau.txt new file mode 100644 index 0000000..d97e339 --- /dev/null +++ b/in_game/common/country_ranks/bob_bureau.txt @@ -0,0 +1,91 @@ +REPLACE:rank_empire = { + color = color_rank_empire + + rank_modifier = { + max_diplomats = 2 + diplomatic_range = 1000 + great_power_score_exempt_from_forfeit = 50 + + monthly_prestige = 0.2 + + num_possible_rivals = 4 + num_possible_artists = 2 + + fort_limit = 2 + + cultures_capacity = 2 + government_size = 1 + possible_industry_promotions = 3 + diplomatic_capacity = 3 + + allowed_alliance = yes + allowed_guarantee = yes + allowed_support_rebels = yes + + mercenary_range_modifier = 1 + + + allow_bureaucracy = yes + global_max_bureaucracy_slots = 3 + + } + + level = 4 + + victory_card = yes + + ai_level = 4 + + language_power_scale = 2 + + allow = { + can_upgrade_country_rank = { rank = rank_empire } + trigger_if = { + limit = { + exists = international_organization:hre + } + modifier:block_from_change_to_empire_rank_catholic = no + } + modifier:block_from_change_to_empire_rank = no + } +} + +REPLACE:rank_kingdom = { + color = color_rank_kingdom + rank_modifier = { + max_diplomats = 1 + diplomatic_range = 500 + great_power_score_exempt_from_forfeit = 25 + + num_possible_rivals = 3 + + monthly_prestige = 0.1 + + fort_limit = 1 + + num_possible_artists = 1 + cultures_capacity = 1 + possible_industry_promotions = 2 + diplomatic_capacity = 2 + + allowed_alliance = yes + allowed_guarantee = yes + allowed_support_rebels = yes + + allow_bureaucracy = yes + global_max_bureaucracy_slots = 2 + mercenary_range_modifier = 0.5 + } + + level = 3 + + victory_card = yes + ai_level = 3 + + language_power_scale = 1 + + allow = { + can_upgrade_country_rank = { rank = rank_kingdom } + modifier:block_from_change_to_kingdom_rank = no + } +} \ No newline at end of file diff --git a/in_game/common/country_ranks/readme.txt b/in_game/common/country_ranks/readme.txt new file mode 100644 index 0000000..51b4ab1 --- /dev/null +++ b/in_game/common/country_ranks/readme.txt @@ -0,0 +1,8 @@ +# - color: color on map +# - rank_modifier: , modifier given to the country +# - level: +# - ai_level: , default = 1, values from 1 to 4, higher values are treated as 4, used to limit scope of interactable countries for diplomacy AI. When adding new ranks between vanilla ranks set this value to the rough equivalent of your new rank in vanilla. +# - allow: , is country allowed to change to this rank +# - language_power_scale: , multiplies amount of power a language gets from being the court language in a country with this rank +# - character_ai_cooldown: , default = 1, modifies how often character interactions are checked +# - diplomacy_ai_cooldown: , default = 1, modifies how often country interactions are checked \ No newline at end of file diff --git a/in_game/common/estate_privileges/bureaucrats_estate.txt b/in_game/common/estate_privileges/bureaucrats_estate.txt new file mode 100644 index 0000000..7534d66 --- /dev/null +++ b/in_game/common/estate_privileges/bureaucrats_estate.txt @@ -0,0 +1,947 @@ +# ================= НАЛОГООБЛОЖЕНИЕ, УРОВЕНЬ 1 (даётся всем на старте) ================= +Early_tax_collection = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:regular_salaries + } + country_modifier = { + # --- Ядро: бюрократы платят короне --- + bureaucrats_estate_min_tax = 0.75 + bureaucrats_estate_target_satisfaction = 0.05 + crown_power_from_population = 0.05 + building_upkeep_multiplier = -0.1 + # --- Ранний аппарат — кормушка сословия --- + estate_power_from_cabinet = 1.0 + # --- Дебаффы раннего аппарата --- + country_cabinet_efficiency = -0.25 + court_spending_efficiency = 0.10 + max_trade_subventions = -0.10 + nobles_estate_target_satisfaction = -0.10 + burghers_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = -0.05 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_bureaucrats_desired_pop_scaled = 0.0025 + } +} + +# ================= НАЛОГООБЛОЖЕНИЕ, УРОВЕНЬ 2 ================= +regular_salaries = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:Early_tax_collection + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.33 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:office_sale_banned + } + country_modifier = { + bureaucrats_estate_min_tax = 0.825 + bureaucrats_estate_target_satisfaction = 0.15 + crown_power_from_population = 0.10 + estate_power_from_cabinet = 0.5 + tax_income_efficiency = small_tax_income_efficiency_bonus + nobles_estate_target_satisfaction = -0.15 + max_trade_subventions = 0.05 + burghers_estate_target_satisfaction = -0.10 + peasants_estate_target_satisfaction = -0.10 + monthly_political_influence = -0.1 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_bureaucrats_desired_pop_scaled = 0.0075 + } +} + +# ================= НАЛОГООБЛОЖЕНИЕ, УРОВЕНЬ 3 ================= +office_sale_banned = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:regular_salaries + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:limited_tenure + } + country_modifier = { + bureaucrats_estate_min_tax = 0.90 + bureaucrats_estate_target_satisfaction = 0.25 + crown_power_from_population = 0.15 + tax_income_efficiency = medium_tax_income_efficiency_bonus + country_cabinet_efficiency = 0.25 + court_spending_efficiency = -0.10 + max_trade_subventions = 0.15 + # --- Торговые модификаторы (профессиональный налоговый аппарат) --- + max_trade_subventions = 0.10 + # --- Сословия --- + nobles_estate_target_satisfaction = -0.20 + burghers_estate_target_satisfaction = -0.15 + peasants_estate_target_satisfaction = -0.15 + monthly_political_influence = -0.25 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_bureaucrats_desired_pop_scaled = 0.015 + } +} + +# ================= НАЛОГООБЛОЖЕНИЕ, УРОВЕНЬ 4 ================= +limited_tenure = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:office_sale_banned + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + } + can_revoke = { + always = no + } + country_modifier = { + bureaucrats_estate_min_tax = 0.975 + bureaucrats_estate_target_satisfaction = 0.35 + crown_power_from_population = 0.20 + estate_power_from_cabinet = -0.5 + tax_income_efficiency = large_tax_income_efficiency_bonus + country_cabinet_efficiency = 0.50 + court_spending_efficiency = -0.20 + max_trade_subventions = 0.25 + # --- Торговые модификаторы (максимальная эффективность сбора) --- + max_trade_subventions = 0.25 + # --- Сословия --- + nobles_estate_target_satisfaction = -0.25 + burghers_estate_target_satisfaction = -0.20 + peasants_estate_target_satisfaction = -0.20 + monthly_political_influence = -0.5 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_bureaucrats_desired_pop_scaled = 0.025 + } +} + +# ================= НАДЗОР, УРОВЕНЬ 1 (даётся всем на старте) ================= +kormlenie = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:occasional_audits + } + country_modifier = { + # --- Аппарат без надзора: застой и произвол --- + monthly_complacency = 0.025 + rebel_progress = 0.10 + global_estate_power = 0.25 + court_spending_efficiency = 0.1 + global_peasant_enfranchisment = -0.50 + # --- Бюрократам рай, остальные страдают --- + bureaucrats_estate_target_satisfaction = 0.25 + nobles_estate_target_satisfaction = -0.05 + burghers_estate_target_satisfaction = -0.025 + peasants_estate_target_satisfaction = -0.025 + } +} + +# ================= НАДЗОР, УРОВЕНЬ 2 ================= +occasional_audits = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:kormlenie + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.3 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:permanent_inspectors + } + country_modifier = { + monthly_complacency = 0.005 + global_peasant_enfranchisment = -0.25 + rebel_progress = 0.05 + global_estate_power = 0.10 + stability_cost_efficiency = 0.1 + court_spending_efficiency = -0.1 + bureaucrats_estate_target_satisfaction = 0.1 + nobles_estate_target_satisfaction = -0.075 + burghers_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = -0.05 + monthly_political_influence = -0.1 + } +} + +# ================= НАДЗОР, УРОВЕНЬ 3 ================= +permanent_inspectors = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:occasional_audits + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + has_estate_privilege = estate_privilege:regular_salaries + } + can_revoke = { + has_estate_privilege = estate_privilege:institutional_oversight + } + country_modifier = { + monthly_complacency = -0.1 + stability_cost_efficiency = 0.25 + global_peasant_enfranchisment = 0.25 + global_estate_power = -0.25 + court_spending_efficiency = -0.15 + nobles_estate_target_satisfaction = -0.10 + burghers_estate_target_satisfaction = -0.075 + peasants_estate_target_satisfaction = -0.075 + bureaucrats_estate_target_satisfaction = -0.25 + monthly_political_influence = -0.25 + } +} + +# ================= НАДЗОР, УРОВЕНЬ 4 ================= +institutional_oversight = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:permanent_inspectors + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.6 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + has_estate_privilege = estate_privilege:office_sale_banned + } + can_revoke = { + always = no + } + country_modifier = { + monthly_complacency = -0.2 + rebel_progress = -0.10 + global_peasant_enfranchisment = 0.50 + stability_cost_efficiency = 0.5 + global_estate_power = -0.5 + court_spending_efficiency = -0.25 + bureaucrats_estate_target_satisfaction = -0.50 + nobles_estate_target_satisfaction = -0.125 + burghers_estate_target_satisfaction = -0.10 + peasants_estate_target_satisfaction = -0.10 + monthly_political_influence = -0.5 + } +} + +# ================= ДЕЛОПРОИЗВОДСТВО, УРОВЕНЬ 1 (даётся всем на старте) ================= +record_keeping_chaotic = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:record_keeping_basic + } + country_modifier = { + # --- Государство без записей: медленное и дикое --- + legislative_efficiency = -0.25 + casus_belli_creation_speed = -0.25 + monthly_prestige = -0.1 + province_integration_speed = -0.25 + annexation_speed_base = -0.25 + monthly_reform_progress_modifier = -0.05 + court_spending_efficiency = 0.10 + max_tariff = -0.10 + # --- Бюрократам рай, остальные страдают --- + bureaucrats_estate_target_satisfaction = 0.05 + nobles_estate_target_satisfaction = -0.05 + burghers_estate_target_satisfaction = -0.025 + peasants_estate_target_satisfaction = -0.025 + } +} + +# ================= ДЕЛОПРОИЗВОДСТВО, УРОВЕНЬ 2 ================= +record_keeping_basic = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:record_keeping_chaotic + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.30 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:record_keeping_systematic + } + country_modifier = { + legislative_efficiency = -0.1 + casus_belli_creation_speed = -0.1 + monthly_prestige = -0.05 + province_integration_speed = -0.10 + annexation_speed_base = -0.10 + max_tariff = 0.075 + monthly_reform_progress_modifier = -0.025 + bureaucrats_estate_target_satisfaction = 0.10 + nobles_estate_target_satisfaction = -0.075 + burghers_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = -0.05 + monthly_political_influence = -0.1 + } +} + +# ================= ДЕЛОПРОИЗВОДСТВО, УРОВЕНЬ 3 ================= +record_keeping_systematic = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:record_keeping_basic + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + has_estate_privilege = estate_privilege:regular_salaries + } + can_revoke = { + has_estate_privilege = estate_privilege:record_keeping_comprehensive + } + country_modifier = { + legislative_efficiency = 0.25 + casus_belli_creation_speed = 0.25 + monthly_prestige = 0.2 + province_integration_speed = 0.10 + annexation_speed_base = 0.10 + max_tariff = 0.15 + change_policy_cost_modifier = -0.10 + monthly_reform_progress_modifier = 0.10 + court_spending_efficiency = -0.10 + # --- Законодательная база для высоких тарифов --- + max_tariff = 0.15 + # --- Сословия --- + nobles_estate_target_satisfaction = -0.10 + burghers_estate_target_satisfaction = -0.075 + peasants_estate_target_satisfaction = -0.075 + bureaucrats_estate_target_satisfaction = 0.2 + monthly_political_influence = -0.25 + } +} + +# ================= ДЕЛОПРОИЗВОДСТВО, УРОВЕНЬ 4 ================= +record_keeping_comprehensive = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:record_keeping_systematic + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + has_estate_privilege = estate_privilege:office_sale_banned + } + can_revoke = { + always = no + } + country_modifier = { + legislative_efficiency = 0.5 + casus_belli_creation_speed = 0.5 + monthly_prestige = 0.5 + province_integration_speed = 0.25 + annexation_speed_base = 0.25 + change_policy_cost_modifier = -0.20 + government_reform_slots = 1 + max_tariff = 0.30 + monthly_reform_progress_modifier = 0.25 + court_spending_efficiency = -0.15 + # --- Максимальный законодательный контроль над тарифами --- + max_tariff = 0.25 + # --- Сословия --- + bureaucrats_estate_target_satisfaction = 0.3 + nobles_estate_target_satisfaction = -0.125 + burghers_estate_target_satisfaction = -0.10 + peasants_estate_target_satisfaction = -0.10 + monthly_political_influence = -0.5 + } +} + +# ================= ОБРАЗОВАНИЕ, УРОВЕНЬ 1 (даётся всем на старте) ================= +church_schools = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:basic_literacy + } + country_modifier = { + # --- Образование в руках церкви: дёшево, но страна не учится --- + research_speed_modifier = -0.1 + monthly_institution_spread = -0.1 + embrace_institution_cost_modifier = 0.25 + country_child_education = -0.25 + monthly_towards_spiritualist = societal_value_minor_monthly_move + court_spending_efficiency = 0.05 + # --- Церковь довольна монополией --- + bureaucrats_estate_target_satisfaction = 0.1 + clergy_estate_target_satisfaction = 0.1 + nobles_estate_target_satisfaction = -0.025 + burghers_estate_target_satisfaction = 0.025 + peasants_estate_target_satisfaction = 0.025 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_monthly_literacy = -0.01 + } +} + +# ================= ОБРАЗОВАНИЕ, УРОВЕНЬ 2 ================= +basic_literacy = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:church_schools + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.30 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:state_schools + } + country_modifier = { + embrace_institution_cost_modifier = 0.1 + bureaucrats_estate_target_satisfaction = -0.1 + nobles_estate_target_satisfaction = -0.05 + burghers_estate_target_satisfaction = 0.05 + peasants_estate_target_satisfaction = 0.05 + monthly_political_influence = -0.1 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_max_literacy = 25 + } +} + +# ================= ОБРАЗОВАНИЕ, УРОВЕНЬ 3 ================= +state_schools = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:basic_literacy + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + has_estate_privilege = estate_privilege:record_keeping_basic + } + can_revoke = { + has_estate_privilege = estate_privilege:education_system + } + country_modifier = { + research_speed_modifier = 0.1 + monthly_institution_spread = 0.1 + country_child_education = 0.25 + monthly_towards_humanist = societal_value_minor_monthly_move + court_spending_efficiency = -0.1 + bureaucrats_estate_target_satisfaction = -0.15 + clergy_estate_target_satisfaction = -0.1 + nobles_estate_target_satisfaction = -0.075 + burghers_estate_target_satisfaction = 0.075 + peasants_estate_target_satisfaction = 0.075 + monthly_political_influence = -0.25 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_monthly_literacy = 0.01 + local_max_literacy = 50 + } +} + +# ================= ОБРАЗОВАНИЕ, УРОВЕНЬ 4 ================= +education_system = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:state_schools + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + has_estate_privilege = estate_privilege:record_keeping_systematic + } + can_revoke = { + always = no + } + country_modifier = { + research_speed_modifier = 0.25 + monthly_institution_spread = 0.25 + embrace_institution_cost_modifier = -0.25 + country_child_education = 0.5 + monthly_towards_humanist = societal_value_monthly_move + court_spending_efficiency = -0.15 + bureaucrats_estate_target_satisfaction = -0.20 + clergy_estate_target_satisfaction = -0.15 + nobles_estate_target_satisfaction = -0.1 + burghers_estate_target_satisfaction = 0.1 + peasants_estate_target_satisfaction = 0.1 + monthly_political_influence = -0.5 + } + location_modifier = { + potential_trigger = { + total_population > 0 + } + local_monthly_literacy = 0.02 + local_max_literacy = 75 + } +} + +# ================= ВОЕННАЯ АДМИНИСТРАЦИЯ, УРОВЕНЬ 1 (даётся всем на старте) ================= +feudal_obligations = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:basic_logistics + } + country_modifier = { + # --- Феодальный хаос: армия голодает, крепости рушатся --- + global_defensive = -0.5 + global_levy_size_modifier = 0.25 + supply_lines = -0.5 + manpower_recovery_speed = -0.1 + war_exhaustion = 0.05 + levy_recovery_modifier = -0.1 + fort_maintenance_efficiency = -0.2 + supply_limit_modifier = -0.1 + court_spending_efficiency = 0.2 + # --- Дворяне владеют армией, крестьян выжимают на рекрутов --- + bureaucrats_estate_target_satisfaction = 0.05 + nobles_estate_target_satisfaction = 0.1 + peasants_estate_target_satisfaction = -0.025 + } +} + +# ================= ВОЕННАЯ АДМИНИСТРАЦИЯ, УРОВЕНЬ 2 ================= +basic_logistics = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:feudal_obligations + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.30 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:war_department + } + country_modifier = { + global_manpower_modifier = 0.1 + global_defensive = -0.25 + supply_lines = -0.25 + fort_maintenance_efficiency = -0.1 + court_spending_efficiency = 0.1 + bureaucrats_estate_target_satisfaction = 0.15 + nobles_estate_target_satisfaction = 0.05 + peasants_estate_target_satisfaction = -0.05 + monthly_political_influence = -0.1 + } +} + +# ================= ВОЕННАЯ АДМИНИСТРАЦИЯ, УРОВЕНЬ 3 ================= +war_department = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:basic_logistics + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + has_estate_privilege = estate_privilege:record_keeping_basic + } + can_revoke = { + has_estate_privilege = estate_privilege:general_staff + } + country_modifier = { + global_manpower_modifier = 0.15 + global_defensive = 0.5 + global_levy_size_modifier = -0.25 + supply_lines = 0.25 + manpower_recovery_speed = 0.1 + war_exhaustion = -0.05 + levy_recovery_modifier = 0.1 + fort_maintenance_efficiency = 0.1 + supply_limit_modifier = 0.1 + court_spending_efficiency = -0.1 + bureaucrats_estate_target_satisfaction = 0.15 + nobles_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = -0.075 + monthly_political_influence = -0.25 + } +} + +# ================= ВОЕННАЯ АДМИНИСТРАЦИЯ, УРОВЕНЬ 4 ================= +general_staff = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:war_department + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + has_estate_privilege = estate_privilege:institutional_oversight + } + can_revoke = { + always = no + } + country_modifier = { + global_manpower_modifier = 0.2 + global_defensive = 1.0 + global_levy_size_modifier = -0.5 + supply_lines = 0.5 + manpower_recovery_speed = 0.25 + war_exhaustion = -0.1 + levy_recovery_modifier = 0.25 + fort_maintenance_efficiency = 0.25 + supply_limit_modifier = 0.25 + court_spending_efficiency = -0.15 + bureaucrats_estate_target_satisfaction = 0.25 + nobles_estate_target_satisfaction = -0.1 + peasants_estate_target_satisfaction = -0.1 + monthly_political_influence = -0.5 + } +} + +# ================= ЦЕНТРАЛИЗАЦИЯ, УРОВЕНЬ 1 (даётся всем на старте) ================= +customary_levies = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:early_centralization + } + country_modifier = { + # --- Корона слаба: привилегии неприкосновенны, элиты вольны --- + revoke_privilege_cost_modifier = 0.25 + estate_building_destruction_satisfaction_impact = 0.25 + building_upkeep_multiplier = 0.10 + monthly_legitimacy = -0.1 + court_spending_efficiency = 0.10 + # --- Сословия довольны феодальной вольницей --- + bureaucrats_estate_target_satisfaction = 0.1 + nobles_estate_target_satisfaction = 0.1 + clergy_estate_target_satisfaction = 0.05 + burghers_estate_target_satisfaction = 0.05 + peasants_estate_target_satisfaction = 0.025 + } +} + +# ================= ЦЕНТРАЛИЗАЦИЯ, УРОВЕНЬ 2 ================= +early_centralization = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:customary_levies + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.30 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.01 + } + } + can_revoke = { + has_estate_privilege = estate_privilege:systematic_centralization + } + country_modifier = { + revoke_privilege_cost_modifier = -0.10 + estate_building_destruction_satisfaction_impact = -0.25 + building_upkeep_multiplier = -0.05 + monthly_legitimacy = -0.05 + court_spending_efficiency = 0.05 + bureaucrats_estate_target_satisfaction = 0.15 + nobles_estate_target_satisfaction = -0.05 + clergy_estate_target_satisfaction = -0.05 + burghers_estate_target_satisfaction = -0.025 + peasants_estate_target_satisfaction = -0.025 + monthly_political_influence = -0.1 + } +} + +# ================= ЦЕНТРАЛИЗАЦИЯ, УРОВЕНЬ 3 ================= +systematic_centralization = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:early_centralization + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.025 + } + has_estate_privilege = estate_privilege:record_keeping_systematic + } + can_revoke = { + has_estate_privilege = estate_privilege:absolute_centralization + } + country_modifier = { + revoke_privilege_cost_modifier = -0.25 + estate_building_destruction_satisfaction_impact = -0.50 + building_upkeep_multiplier = -0.10 + court_spending_efficiency = -0.10 + bureaucrats_estate_target_satisfaction = 0.2 + nobles_estate_target_satisfaction = -0.1 + clergy_estate_target_satisfaction = -0.075 + burghers_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = -0.05 + monthly_political_influence = -0.25 + } +} + +# ================= ЦЕНТРАЛИЗАЦИЯ, УРОВЕНЬ 4 ================= +absolute_centralization = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:systematic_centralization + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + pop_type_percentage_in_country = { + pop_type = pop_type:bureaucrats + value >= 0.05 + } + has_estate_privilege = estate_privilege:office_sale_banned + } + can_revoke = { + always = no + } + country_modifier = { + revoke_privilege_cost_modifier = -0.5 + estate_building_destruction_satisfaction_impact = -0.75 + building_upkeep_multiplier = -0.25 + monthly_legitimacy = 0.1 + court_spending_efficiency = -0.15 + bureaucrats_estate_target_satisfaction = 0.25 + nobles_estate_target_satisfaction = -0.15 + clergy_estate_target_satisfaction = -0.1 + burghers_estate_target_satisfaction = -0.075 + peasants_estate_target_satisfaction = -0.075 + monthly_political_influence = -0.5 + } +} + +# ================= ТОРГОВАЯ РЕФОРМА, УРОВЕНЬ 1 (даётся всем на старте) ================= +guild_trade = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:trade_charters + } + country_modifier = { + # --- Гильдии монополизируют торговлю: высокий тариф, низкая эффективность --- + global_trades_per_burgher = 1.0 + global_merchant_capacity_modifier = -0.25 + # --- Баланс: высокий тариф, низкая эффективность продаж --- + tariff_income = 1.0 + selling_efficiency = -0.25 + # --- Влияние на сословия --- + bureaucrats_estate_target_satisfaction = 0.10 + burghers_estate_target_satisfaction = 0.15 + nobles_estate_target_satisfaction = 0.10 + clergy_estate_target_satisfaction = 0.05 + peasants_estate_target_satisfaction = -0.15 + } +} + +# ================= ТОРГОВАЯ РЕФОРМА, УРОВЕНЬ 2 ================= +trade_charters = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:guild_trade + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.30 + has_estate_privilege = estate_privilege:record_keeping_basic + } + can_revoke = { + has_estate_privilege = estate_privilege:ministry_of_trade + } + country_modifier = { + global_trades_per_burgher = 0.50 + merchant_maintenance_efficiency = 0.10 + global_merchant_capacity_modifier = -0.10 + trade_income = 0.05 + trade_protection = 0.1 + # --- Баланс: тариф снижается, эффективность растёт --- + tariff_income = 0.85 + selling_efficiency = 0.10 + # --- Сословия --- + bureaucrats_estate_target_satisfaction = 0.15 + burghers_estate_target_satisfaction = 0.05 + nobles_estate_target_satisfaction = 0.05 + clergy_estate_target_satisfaction = 0.02 + peasants_estate_target_satisfaction = -0.05 + monthly_political_influence = -0.1 + } +} + +# ================= ТОРГОВАЯ РЕФОРМА, УРОВЕНЬ 3 ================= +ministry_of_trade = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:trade_charters + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.45 + has_estate_privilege = estate_privilege:record_keeping_systematic + } + can_revoke = { + has_estate_privilege = estate_privilege:state_mercantilism + } + country_modifier = { + global_trades_per_burgher = 0.25 + merchant_maintenance_efficiency = 0.25 + global_merchant_capacity_modifier = 0.10 + trade_income = 0.10 + trade_protection = 0.25 + # --- Баланс: тариф ещё ниже, эффективность высокая --- + tariff_income = 0.65 + selling_efficiency = 0.25 + # --- Сословия --- + bureaucrats_estate_target_satisfaction = 0.20 + burghers_estate_target_satisfaction = -0.10 + nobles_estate_target_satisfaction = -0.05 + clergy_estate_target_satisfaction = -0.05 + peasants_estate_target_satisfaction = 0.10 + monthly_political_influence = -0.25 + } +} + +# ================= ТОРГОВАЯ РЕФОРМА, УРОВЕНЬ 4 ================= +state_mercantilism = { + estate = bureaucrats_estate + content_priority = 400 + potential = { + has_estate_privilege = estate_privilege:ministry_of_trade + } + allow = { + "estate_power(estate_type:crown_estate)" >= 0.60 + has_estate_privilege = estate_privilege:record_keeping_comprehensive + } + can_revoke = { + always = no + } + country_modifier = { + global_trades_per_burgher = -0.25 + merchant_maintenance_efficiency = 0.50 + global_merchant_capacity_modifier = -0.25 + trade_income = 0.25 + trade_protection = 0.50 + # --- Баланс: низкий тариф, максимальная эффективность продаж --- + tariff_income = 0.50 + selling_efficiency = 0.50 + # --- Сословия --- + bureaucrats_estate_target_satisfaction = 0.25 + burghers_estate_target_satisfaction = -0.25 + nobles_estate_target_satisfaction = -0.15 + clergy_estate_target_satisfaction = -0.10 + peasants_estate_target_satisfaction = 0.20 + monthly_political_influence = -0.5 + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/burghers_estate.txt b/in_game/common/estate_privileges/burghers_estate.txt new file mode 100644 index 0000000..e79130c --- /dev/null +++ b/in_game/common/estate_privileges/burghers_estate.txt @@ -0,0 +1,1255 @@ +formal_guilds = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Инфраструктура и политический вес --- + allow_guild_hall = yes + + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.75 # +75% к влиянию буржуазии (гильдии контролируют городскую экономику) + burghers_estate_target_satisfaction = large_privilege_target_satisfaction # +5% к довольствию горожан + burghers_estate_max_tax = -0.075 # +7.5% к максимальному налогу (компенсация за влияние) + + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (монополии гильдий мешают строительству дворянских мануфактур и повышают цены) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (запрет на сельское ремесло и высокие цены на городские товары) + + # --- Влияние на общественные ценности --- + monthly_towards_plutocracy = societal_value_monthly_move + monthly_towards_traditional_economy = societal_value_minor_monthly_move + } +} + +trade_monopolies = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.75 # +75% к влиянию буржуазии (контроль над торговыми маршрутами и гильдиями) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Налоги и Торговые эффекты (Монополия и логистика) --- + burghers_estate_max_tax = -0.05 # +5% к максимальному налогу с горожан (менее 2.5%, как вы просили) + trade_income = -0.05 # -5% к доходам от торговли (купеческие монополии и откаты снижают общие поступления в казну) + merchant_maintenance_efficiency = 0.25 # +25% к эффективности содержания купцов/караванов (профессиональная логистика буржуазии) + + # --- Экономические эффекты и Штрафы --- + global_trades_per_burgher = 1.0 # +1 торговля на каждого горожанина + global_merchant_capacity_modifier = -0.25 # -25% к вместимости купцов (монополия ограничивает вход на рынок для новых игроков) + global_building_establishment_speed = -0.05 # -5% к скорости возведения зданий (капитал уходит в торговлю, а не в городскую застройку) + } +} + +control_over_monetary_policy = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.25 # +25% к влиянию буржуазии (контроль над финансами и эмиссией) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Финансовая стабильность и налоги --- + monthly_inflation = -0.0005 # -0.0005 к ежемесячной инфляции (банкиры не дают короне портить монету) + burghers_estate_max_tax = -0.05 # -2.5% к максимальному налогу с горожан (частичное уклонение от налогов через сложные схемы) + + # --- Банковские услуги (Бафф для короны) --- + bank_interest = -0.01 # -1% к проценту по займам (банкиры предоставляют короне более дешевые кредиты) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (переход от земельной ренты к банковским процентам подрывает их традиционное богатство) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (ужесточение долговой кабалы и огораживание земель под коммерческие культуры) + + # --- Влияние на общественные ценности --- + monthly_towards_innovative = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +building_rights = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.5 # +50% к влиянию буржуазии (УВЕЛИЧЕНО) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Экономические эффекты (Городская экспансия и монополия на стройку) --- + global_urban_build_buildings_efficiency = 0.50 # +50% к эффективности строительства ТОЛЬКО в городах (профессиональные гильдии и отлаженная логистика) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (вынуждены платить монополистам завышенную цену за постройку поместий) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (городская экспансия отнимает земли, принудительный труд на стройках) + + # --- Влияние на общественные ценности --- + monthly_towards_plutocracy = societal_value_minor_monthly_move + monthly_towards_innovative = societal_value_minor_monthly_move + } +} + +burghers_royal_burgh_commissioners = { + content_priority = 400 + estate = burghers_estate + potential = { + OR = { + has_or_had_tag = SCO + has_or_had_tag = SBL + } + } + allow = { + num_of_non_rural >= 1 + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.25 # +25% к влиянию буржуазии (прямая связь с короной через магистраты) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Контроль и Администрация (Цена концентрации на городах) --- + global_max_urban_control = 0.05 # +5% к максимальному контролю в городах (королевские чиновники и магистраты наводят порядок) + global_max_rural_control = -0.025 # -2,5% к максимальному контролю в сельской местности (корона и города игнорируют нужды деревень) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (лишение права взимать традиционные пошлины и судить жителей бургов) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (городские комиссары диктуют заниженные цены и сгоняют на работы) + + # --- Влияние на общественные ценности --- + monthly_towards_plutocracy = societal_value_monthly_move + monthly_towards_centralization = societal_value_minor_monthly_move + } +} + +burghers_land_rights = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 1.0 # +100% к влиянию буржуазии (абсолютное политическое доминирование городской элиты) + burghers_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию горожан (игрок будет крайне неохотно убирать эту привилегию) + + # --- Налоговая компенсация (по новой формуле: 1.0 влияния = +0.15) --- + burghers_estate_max_tax = -0.10 # +15% к максимальному налогу с горожан + + # --- Экономические эффекты (Частная собственность и инвестиции) --- + global_production_efficiency = 0.2 # +15% к эффективности производства (инвестиции буржуазии в частные предприятия и мануфактуры) + global_max_rgo_size_modifier_in_non_rural = -0.20 # -20% к максимальному размеру RGO в городах (огораживание и приватизация лучших участков) + + # --- Штраф Государству (Цена частной собственности) --- + global_max_urban_control = -0.075 # -75% к максимальному контролю в городах (частные владения создают зоны вне досягаемости королевских чиновников) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = mediem_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (лишение феодальных прав на городскую землю) + peasants_estate_target_satisfaction = mediem_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (огораживание пригородных общинных земель) + + # --- Влияние на общественные ценности --- + monthly_towards_individualism = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +commercial_advisory_council = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.5 # +50% к влиянию буржуазии (УВЕЛИЧЕНО, контроль над торговой политикой) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан (УВЕЛИЧЕНО до 5%) + burghers_estate_max_tax = -0.05 # +5% к максимальному налогу (компенсация за влияние по нашей формуле) + + # --- Торговая и Административная инфраструктура --- + global_merchant_capacity_modifier = 0.10 # +10% к вместимости купцов (интеграция торговых сетей) + country_cabinet_efficiency = 0.25 # +25% к эффективности кабинета (профессиональные купцы в управлении экономикой) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (потеря контроля над пошлинами и тарифами) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (рост цен и огораживания под экспортные культуры) + + # --- Влияние на общественные ценности --- + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +milanese_cloth_guilds_privileges = { + content_priority = 700 + estate = burghers_estate + + potential = { has_or_had_tag = MLO } + + allow = { + custom_tooltip = { + text = produce_any_fine_cloth_or_silk_tt + OR = { + produced_in_country:fine_cloth > 0 + produced_in_country:silk > 0 + } + } + } + + country_modifier = { + global_burghers_estate_power = 0.25 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_fine_cloth_output_modifier = 0.1 + global_silk_output_modifier = 0.1 + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +florence_guilds = { + estate = burghers_estate + + potential = { has_or_had_tag = FLO } + + country_modifier = { + allow_guilds_of_florence_law = yes + global_burghers_estate_power = 0.25 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + bank_interest = -0.01 + monthly_inflation = -0.00025 + monthly_towards_plutocracy = societal_value_monthly_move + } +} + +arte_della_lana = { + estate = burghers_estate + + potential = { has_or_had_tag = FLO } + + allow = { + custom_tooltip = { + text = produce_any_fine_cloth_or_silk_tt + OR = { + produced_in_country:fine_cloth > 0 + produced_in_country:silk > 0 + } + } + } + + can_revoke = { + } + + country_modifier = { + global_fine_cloth_output_modifier = 0.10 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.15 + trade_land_efficiency = tiny_trade_land_efficiency_bonus + } +} + +novgorod_ivans_hundred = { + estate = burghers_estate + potential = { has_or_had_tag = NOV } + allow = {} + country_modifier = { + merchant_maintenance_efficiency = 0.50 + global_burghers_estate_power = 0.25 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_republican_tradition = 0.2 + global_crown_estate_power = -0.10 + } + country_modifier = { + potential_trigger = { + custom_tooltip = { + text = ivan_hundred_strengthened_requirement + has_variable = ivan_hundred_strengthened + } + } + global_crown_estate_power = -0.05 + global_merchant_capacity_modifier = 0.2 + } + country_modifier = { + potential_trigger = { + custom_tooltip = { + text = ivan_hundred_beeswax_increase_requirement + has_variable = ivan_hundred_beeswax + } + } + export_efficiency = small_trade_efficiency_bonus + global_beeswax_output_modifier = 0.25 + } + can_revoke = {} +} + +kbo_lake_chad_trade_privilege = { + estate = burghers_estate + potential = { + has_or_had_tag = KBO + } + allow = { + owns = location:gambaru + owns = location:yo + owns = location:bodou_sailay + owns = location:nguigmi + } + country_modifier = { + global_burghers_estate_power = 0.25 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + export_efficiency = tiny_trade_efficiency_bonus + global_merchant_capacity_modifier = 0.1 + } +} + +kbo_serfdom_economy = { + estate = burghers_estate + potential = { + has_or_had_tag = KBO + custom_tooltip = { + text = gained_access_to_this_privilege_tt + has_variable = serfom_improved_goods_variable + } + } + country_modifier = { + global_burghers_estate_power = 0.1 + monthly_towards_serfdom = societal_value_large_monthly_move + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + slave_raid_efficiency = 0.1 + global_max_rgo_size_modifier = 0.1 + global_monthly_food_modifier = 0.1 + } +} + +amenokal_salt_traders = { + estate = burghers_estate + potential = { + has_or_had_tag = KBO + } + allow = { + custom_tooltip = { + text = gained_access_to_this_privilege_tt + has_variable = amenokal_salt_traders_variable + } + } + country_modifier = { + global_burghers_estate_power = 0.25 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_salt_output_modifier = 0.1 + tax_income_efficiency = medium_tax_income_efficiency_bonus + } +} + +burghers_protected_faith = { + estate = burghers_estate + allow = { + religious_unity < 0.66 + } + country_modifier = { + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.25 + global_burghers_conversion_blocked = yes + } + + can_revoke = {} +} + +land_of_commerce = { + estate = burghers_estate + + country_modifier = { + allow_apprenticeships_education = yes + global_production_efficiency = small_production_efficiency_bonus + monthly_towards_capital_economy = societal_value_minor_monthly_move + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +treasury_rights = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.75 # +50% к влиянию буржуазии (контроль над финансами и казначейством) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Финансовая стабильность и оптимизация --- + tax_income_efficiency = 0.05 # +5% к эффективности сбора налогов (профессиональные финансисты оптимизируют налоговые потоки) + + # --- Штраф Государству (Цена финансового контроля) --- + country_cabinet_efficiency = -0.10 # -10% к эффективности кабинета (любые срочные расходы требуют долгих согласований с финансовыми комитетами буржуазии) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (казна приоритизирует выплату долгов над военными нуждами и содержанием двора) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (профессиональные сборщики налогов действуют жестко и безжалостно, не делая скидок на неурожай) + + # --- Влияние на общественные ценности --- + monthly_towards_innovative = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +urban_development_grants = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 2.5% довольствия (small) = 15% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.15 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.5 # +50% к влиянию буржуазии (УВЕЛИЧЕНО с 0.25, контроль над градостроительной политикой) + burghers_estate_target_satisfaction = small_privilege_target_satisfaction # +2.5% к довольствию горожан (УМЕНЬШЕНО с medium) + burghers_estate_max_tax = 0.025 # +2.5% к максимальному налогу (обновлено по нашей формуле для влияния 0.5) + + # --- Развитие и Инфраструктура --- + global_monthly_development = 0.002 # +0.002 к ежемесячному развитию городов (частные инвестиции и гранты буржуазии ускоряют рост) + + # --- Штраф Государству (Цена хаотичной урбанизации) --- + global_max_urban_control = -0.025 # -2.5% к максимальному контролю в городах (новые частные районы неподконтрольны королевским чиновникам) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (казна тратится на города, а не на провинции и армию) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (налоговое бремя и принудительные работы на городских стройках) + + # --- Влияние на общественные ценности --- + monthly_towards_innovative = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +sponsor_maritime_contracts = { + estate = burghers_estate + + potential = { + num_of_ports > 0 + } + + country_modifier = { + global_maritime_presence_modifier = 0.05 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +control_over_the_coinage = { + estate = burghers_estate + + allow = { + trigger_if = { + limit = { has_or_had_tag = ZAN } + NOT = { has_reform = government_reform:control_of_the_mahdali_coinage_reform } + } + } + country_modifier = { + minting_inflation_threshold = 0.01 + global_goods_gold_output_modifier = 0.05 + global_silver_output_modifier = 0.05 + global_copper_output_modifier = 0.05 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.5 + } +} + +allow_trade_center_sponsorship = { + estate = burghers_estate + + + country_modifier = { + global_trade_center_power = 0.05 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +shipwright_contracts = { + estate = burghers_estate + + allow = { + OR = { + num_of_ports > 0 + any_owned_foreign_building_location = { + modifier:can_build_ships_in_this_location = yes + } + } + } + + + country_modifier = { + ship_build_speed = 0.2 + navy_maintenance_efficiency = 0.1 + monthly_towards_naval = societal_value_minor_monthly_move + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +market_fairs = { + estate = burghers_estate + + country_modifier = { + monthly_towards_decentralization = societal_value_monthly_move + global_monthly_prosperity = 0.0025 + global_building_establishment_speed = -0.1 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.25 + } +} + +fund_karimi = { + estate = burghers_estate + + potential = { + OR = { + produced_in_country:pepper > 0 + } + religion ?= { + group ?= religion_group:muslim + } + } + + country_modifier = { + burghers_estate_max_tax = 0.1 + burghers_estate_target_satisfaction = small_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +toll_and_tariff_exemptions = { + estate = burghers_estate + + potential = { + government_type = government_type:republic + } + + + country_modifier = { + burghers_estate_max_tax = -0.1 + trade_land_efficiency = small_trade_land_efficiency_bonus + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.2 + monthly_towards_individualism = societal_value_monthly_move + } +} + +dedicated_merchant_courts = { + estate = burghers_estate + + potential = { + government_type = government_type:republic + } + + + country_modifier = { + monthly_towards_plutocracy = societal_value_minor_monthly_move + burghers_estate_satisfaction_decay = 0.05 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +noble_patronage = { + estate = burghers_estate + + potential = { + government_type = government_type:republic + } + + + country_modifier = { + monthly_towards_plutocracy = societal_value_minor_monthly_move + export_efficiency = tiny_trade_efficiency_bonus + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + burghers_estate_target_satisfaction = large_privilege_target_satisfaction + global_burghers_estate_power = 0.5 + } +} + +polish_merchant_seal = { + estate = burghers_estate + + potential = { + OR = { + has_or_had_tag = POL + has_or_had_tag = PLC + } + } + + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.5 + } + + country_modifier = { + burghers_estate_max_tax = 0.05 + export_efficiency = tiny_trade_efficiency_bonus + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +privateer_contracts = { + estate = burghers_estate + + potential = { + num_of_ports > 0 + modifier:can_hire_privateers = yes + } + + country_modifier = { + hire_privateer_cost_modifier = -0.2 + privateer_maintenance_cost_modifier = -0.1 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.25 + } +} + +ceremonial_tax_exemptions = { + estate = burghers_estate + + potential = { + religion = religion:nahuatl + has_advance = taxation_advance + } + + country_modifier = { + monthly_doom = -0.03 + burghers_estate_max_tax = -0.1 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +kulm_law = { + estate = burghers_estate + + potential = { + OR = { + culture ?= culture:prussian + culture ?= { has_culture_group = culture_group:german_group } + } + capital ?= { + region = region:baltic_region + } + } + + + country_modifier = { + allow_kulm_town_rights = yes + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.4 + monthly_towards_mercantilism = societal_value_monthly_move + } + + country_modifier = { #when changing, adjust teu_impact_on_kulm_law tooltip as well. + potential_trigger = { + custom_tooltip = { + text = kulm_law_revised_tooltip + has_variable = kulm_law_revised + } + } + rural_migration_attraction = 0.1 + burghers_estate_max_tax = -0.1 + } + + country_modifier = { #when changing, adjust teu_impact_on_kulm_law_not_revised tooltip as well. + potential_trigger = { + custom_tooltip = { + text = kulm_law_not_revised_tooltip + has_variable = did_not_revise_kulm_law + } + } + german_migration_attraction_modifier = 0.5 + } +} + +villes_franches = { + estate = burghers_estate + + potential = { + has_or_had_tag = FRA + } + + country_modifier = { + allow_ville_franche_town_rights = yes + monthly_towards_centralization = societal_value_monthly_move + global_migration_speed_modifier = 0.05 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.33 + } +} + +fra_leadership_of_marcel = { + estate = burghers_estate + + potential = { + has_or_had_tag = FRA + character:etienne_marcel ?= { + is_alive = yes + } + } + + country_modifier = { + global_burghers_estate_power = 0.50 + parliament_base_support = -0.20 + global_max_control = -0.03 + import_efficiency = small_trade_efficiency_bonus + global_trades_per_burgher = 0.10 + } + can_revoke = { + always = no + } +} + +fra_marcel_great_ordinance = { + estate = burghers_estate + + potential = { + has_variable = allowed_marcel_ordinance + has_or_had_tag = FRA + } + + country_modifier = { + minting_income_factor = 0.05 + burghers_estate_max_tax = 0.2 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 1 + global_crown_estate_power = -0.15 + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.33 + } +} + +fra_marcel_compromise_ordinance = { + estate = burghers_estate + + potential = { + has_variable = compromise_marcel_ordinance + has_or_had_tag = FRA + } + + country_modifier = { + minting_income_factor = 0.05 + burghers_estate_max_tax = 0.1 + burghers_estate_target_satisfaction = small_privilege_target_satisfaction + global_burghers_estate_power = 0.25 + global_crown_estate_power = -0.05 + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.33 + } +} + + +petty_bureaucracy = { #https://en.wikipedia.org/wiki/Jungin + estate = burghers_estate + + potential = { + OR = { + culture ?= { has_culture_group = culture_group:confucian_group } + any_international_organizations_member_of = { + international_organization_type = international_organization_type:sect + international_organization_has_policy = policy:confucianism_policy + } + has_variable = has_neo_confucianism + is_member_of_international_organization = international_organization:middle_kingdom + } + } + allow = { + has_imperial_examinations = yes + } + + can_revoke = { + not = { has_imperial_examinations = yes } + } + + country_modifier = { + burghers_estate_max_tax = -0.05 + global_burghers_estate_power = 0.33 + + global_burghers_max_literacy = 5 + country_cabinet_efficiency = 0.1 + monthly_towards_centralization = societal_value_large_monthly_move + } +} + +cardinal_lead_guilds = { + estate = burghers_estate + + potential = { + government_type = government_type:theocracy + religion = religion:catholic + } + + country_modifier = { + global_burghers_estate_power = 0.2 + global_clergy_estate_power = 0.2 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_pop_promotion_speed_modifier = -0.10 + monthly_towards_plutocracy = societal_value_monthly_move + } +} + +libro_d_argento = { #https://it.wikipedia.org/wiki/Cittadini_(Venezia) + estate = burghers_estate + + potential = { + OR = { + has_or_had_tag = VEN + any_overlord_or_above = { + has_or_had_tag = VEN + } + } + } + + country_modifier = { + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_pop_promotion_speed_modifier = -0.10 + global_burghers_estate_power = 0.05 + legislative_efficiency = 0.05 + global_migration_speed_modifier = -0.1 + + monthly_towards_quality = societal_value_monthly_move + } +} + + + +bra_kreditwerk = { + estate = burghers_estate + potential = { + has_variable = bra_kreditwerk + } + country_modifier = { + global_burghers_estate_power = 0.33 + tax_income_efficiency = medium_tax_income_efficiency_penalty + minting_income_factor = 0.25 + } +} + +bra_kreditwerk_reformed = { + estate = burghers_estate + potential = { + has_variable = bra_kreditwerk_reformed + } + country_modifier = { + global_burghers_estate_power = 0.10 + bank_interest = -0.01 + } +} + +vij_tamil_trading_rights = { + estate = burghers_estate + potential = { + has_unlocked_estate_privilege_trigger = { type = vij_tamil_trading_rights } + } + country_modifier = { + global_merchant_power = 0.2 + global_burghers_estate_power = 0.2 + } + location_modifier = { + potential_trigger = { + dominant_culture = culture:tamil + OR = { + location_rank = location_rank:town + location_rank = location_rank:city + location_rank = location_rank:megalopolis + } + } + local_max_control = -0.20 + local_burghers_estate_power = 1 + } +} + +jain_banking_rights = { + estate = burghers_estate + potential = { + NOT = { religion ?= religion:jain } + religion ?= { + OR = { + group ?= religion_group:dharmic + group ?= religion_group:muslim + } + } + capital ?= { + sub_continent = sub_continent:south_asia + } + + religion_percentage_in_country = { + religion = religion:jain + value > 0 + } + } + country_modifier = { + bank_interest = -0.02 + global_burghers_estate_power = 0.2 + scale = { + value = "religion_percentage_in_country(religion:jain)" + add = 1 + } + } + location_modifier = { + potential_trigger = { + dominant_religion ?= religion:jain + } + local_burghers_conversion_blocked = yes + } +} + +jain_scholars = { + estate = burghers_estate + potential = { + NOT = { religion ?= religion:jain } + religion ?= { + OR = { + group ?= religion_group:dharmic + group ?= religion_group:muslim + } + } + capital ?= { + sub_continent = sub_continent:south_asia + } + religion_percentage_in_country ?= { + religion = religion:jain + value > 0 + } + } + country_modifier = { + research_speed_modifier = 0.1 + global_clergy_estate_power = -0.10 + clergy_estate_target_satisfaction = large_privilege_target_satisfaction_penalty + scale = { + value = "religion_percentage_in_country(religion:jain)" + add = 1 + } + } + country_modifier = { + global_burghers_estate_power = 0.2 + } + location_modifier = { + potential_trigger = { + dominant_religion ?= religion:jain + } + local_clergy_conversion_blocked = yes + } +} + +consolidated_corruption_of_the_burghers = { + estate = burghers_estate + + potential = { + has_estate_privilege = estate_privilege:consolidated_corruption_of_the_burghers + } + + can_revoke = { + government_power > 95 + } + + + country_modifier = { + import_efficiency = medium_trade_efficiency_penalty + export_efficiency = medium_trade_efficiency_penalty + burghers_estate_max_tax = -0.05 + global_burghers_estate_power = 0.5 + } + + country_modifier = { + potential_trigger = { legitimacy < 100 } + scale = { + value = legitimacy + multiply = -0.01 + add = 1 + } + burghers_estate_max_tax = -0.1 + } + + country_modifier = { + display_trigger = { + custom_description = { + text = fate_of_the_phoenix_disaster_active_trigger_text + any_active_disaster = { + disaster_type = disaster_type:fate_of_the_phoenix + } + } + } + trade_income = -0.05 + } +} + +magdeburg_rights = { + estate = burghers_estate + + potential = { + capital ?= { + OR = { + area ?= area:baltic_area + region ?= region:north_german_region + region ?= region:south_german_region + area ?= area:alsace_area + area ?= area:franche_comte_area + area ?= area:lorraine_area + area ?= area:picardy_area + area ?= area:slovenia_area + area ?= area:silesia_area + } + } + is_member_of_international_organization = international_organization:hre + } + + country_modifier = { + allow_magdeburg_rights_town_rights = yes + allow_nuremberg_rights_town_rights = yes + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.4 + monthly_towards_free_trade = societal_value_monthly_move + } +} + +novi_fori = { + estate = burghers_estate + + potential = { + capital ?= { + OR = { + region ?= region:carpathia_region + region ?= region:baltic_region + region ?= region:ruthenia_region + } + } + } + + country_modifier = { + allow_novi_fori_town_rights = yes + monthly_towards_free_subjects = societal_value_monthly_move + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.2 + } +} + +shooting_societies = { + estate = burghers_estate + + potential = { has_variable = unlock_shooting_societies_variable } + + country_modifier = { + global_burghers_estate_power = 0.3 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_defensive = 0.1 + } +} + +building_roads_rights = { + estate = burghers_estate + potential = { + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность буржуазии --- + global_burghers_estate_power = 0.5 # +50% к влиянию буржуазии (УВЕЛИЧЕНО) + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию горожан + + # --- Инфраструктура и логистика --- + burghers_estate_allowed_to_build_roads = yes # Разрешает буржуазии строить дороги + global_build_roads_efficiency = 0.10 # +25% к эффективности строительства дорог (частные подрядчики работают быстрее) + + # --- Штраф Государству (Цена частной инфраструктуры) --- + global_max_rural_control = -0.05 # -5% к максимальному контролю в сельской местности (инвестиции идут только в прибыльные направления, глубинка заброшена) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию дворян (потеря феодальных прав на дорожные сборы) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (новые дорожные пошлины и принудительные работы на ремонтах) + + # --- Влияние на общественные ценности --- + monthly_towards_centralization = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + } +} + +kannada_literature_aid = { + estate = burghers_estate + + potential = { + has_unlocked_estate_privilege_trigger = { type = kannada_literature_aid } + } + + country_modifier = { + global_burghers_estate_power = 0.3 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_max_literacy = 5 + cultural_tradition = 0.1 + global_monthly_art_start_chance = 0.05 + } +} + +vij_allowance_of_religious_practices = { + estate = burghers_estate + + potential = { + has_unlocked_estate_privilege_trigger = { type = vij_allowance_of_religious_practices } + } + + country_modifier = { + tolerance_heretic = 1 + tolerance_heathen = 1 + global_pop_conversion_speed = -0.1 + global_burghers_estate_power = 0.2 + } +} + +mam_muhtasibs = { + estate = burghers_estate + potential = { + has_unlocked_estate_privilege_trigger = { type = mam_muhtasibs } + } + country_modifier = { + global_merchant_power = 0.1 + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + selling_efficiency = tiny_trade_efficiency_bonus + global_burghers_estate_power = 0.3 + } +} + +trunk_road_to_erzurum_privilege = { + estate = burghers_estate + + potential = { has_reform = government_reform:anatolian_beylik } + allow = { + OR = { + owns = location:konya + owns = location:sivas + owns = location:erzurum + owns = location:tabriz + } + } + + country_modifier = { + monthly_towards_free_trade = societal_value_monthly_move + trade_land_efficiency = tiny_trade_land_efficiency_bonus + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.25 + scale = { + value = 0 + if = { + limit = { owns = location:konya } + add = 1 + } + if = { + limit = { owns = location:sivas } + add = 1 + } + if = { + limit = { owns = location:erzurum } + add = 1 + } + if = { + limit = { owns = location:tabriz } + add = 1 + } + } + } +} + +cas_mita_system = { + estate = burghers_estate + + potential = { + has_unlocked_estate_privilege_trigger = { type = cas_mita_system } + } + + country_modifier = { + global_max_rgo_size_modifier = 0.1 + global_burghers_estate_power = 0.2 + global_production_efficiency = small_production_efficiency_bonus + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + } +} + +royal_factories_privilege = { + estate = burghers_estate + + potential = { + has_unlocked_estate_privilege_trigger = { type = royal_factories_privilege } + } + + country_modifier = { + global_burghers_estate_power = 0.1 + global_crown_estate_power = -0.1 + monthly_towards_capital_economy = societal_value_monthly_move + global_production_efficiency = small_production_efficiency_bonus + } +} + +ira_iranian_art_patronage = { + estate = burghers_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = ira_iranian_art_patronage + } + } + + country_modifier = { + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction + global_burghers_estate_power = 0.3 + hire_artist_cost_modifier = -0.15 + skill_of_new_artists = 0.1 + } +} + +guild_investments = { + estate = burghers_estate + + country_modifier = { + burghers_estate_target_satisfaction = small_privilege_target_satisfaction + monthly_towards_innovative = societal_value_monthly_move + monthly_towards_capital_economy = societal_value_minor_monthly_move + global_burghers_estate_power = 0.5 + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/cossacks_estate.txt b/in_game/common/estate_privileges/cossacks_estate.txt new file mode 100644 index 0000000..03d9ea7 --- /dev/null +++ b/in_game/common/estate_privileges/cossacks_estate.txt @@ -0,0 +1,146 @@ +#generic privileges +cossacks_land_rights = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = medium_privilege_target_satisfaction + global_cossacks_estate_power = 0.25 + monthly_towards_decentralization = societal_value_minor_monthly_move + } +} + +cossacks_sanctioned_atamans = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = medium_privilege_target_satisfaction + global_cossacks_estate_power = 0.25 + country_cabinet_efficiency = 0.05 + } +} + +cossacks_allowed_free_roaming = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribesmen_migration_allowed = yes + global_cossacks_estate_power = 0.33 + } +} + +cossacks_government_positions = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_allowed_in_cabinet = yes + global_cossacks_estate_power = 0.3 + cossacks_estate_target_satisfaction = large_privilege_target_satisfaction + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + } +} + +cossacks_military_service = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = medium_privilege_target_satisfaction + cossacks_estate_levy_size = 0.1 + global_cossacks_estate_power = 0.25 + } +} + +cossacks_protected_faith = { + estate = cossacks_estate + + allow = { + religious_unity < 0.66 + } + + country_modifier = { + cossacks_estate_target_satisfaction = small_privilege_target_satisfaction + tolerance_heretic = 1 + global_cossacks_estate_power = 0.33 + } +} + +cossacks_respected_traditions = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = medium_privilege_target_satisfaction + cultural_influence_modifier = -0.15 + global_cossacks_estate_power = 0.2 + } +} + +cossacks_rada_autonomy = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = small_privilege_target_satisfaction + legislative_efficiency = 0.05 + global_cossacks_estate_power = 0.2 + } +} + +cossacks_register = { + estate = cossacks_estate + + country_modifier = { + military_tactics = 0.1 + global_cossacks_estate_power = 0.5 + cossacks_estate_target_satisfaction = large_privilege_target_satisfaction + } +} + +cossacks_explorers = { + estate = cossacks_estate + + country_modifier = { + exploration_maintenance_efficiency = 0.10 + exploration_preparation_time_modifier = -0.05 + global_cossacks_estate_power = 0.1 + } +} + +cossacks_colonization = { + estate = cossacks_estate + + country_modifier = { + colonial_maintenance_efficiency = 0.10 + colonial_migration_size_modifier = 0.1 + global_cossacks_estate_power = 0.15 + } +} + +plc_cossack_treaty_of_hadiach = { + estate = cossacks_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = plc_cossack_treaty_of_hadiach + } + } + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + global_cossacks_estate_power = 0.1 + cossacks_estate_allowed_in_cabinet = yes + cossacks_estate_allowed_leading_military = yes + cossacks_estate_blocked_from_leading_military = no + army_light_cavalry_power = 0.1 + amount_looted_modifier = 0.5 + } +} + +cossack_identity = { + estate = cossacks_estate + + country_modifier = { + cossacks_estate_target_satisfaction = large_privilege_target_satisfaction + global_cossacks_estate_power = 0.1 + block_tribal_promotion = yes + global_tribesmen_assimilation_blocked = yes + monthly_cossacks_estate_rebel_growth = -0.1 + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/dhimmi_estate.txt b/in_game/common/estate_privileges/dhimmi_estate.txt new file mode 100644 index 0000000..c1cbcdc --- /dev/null +++ b/in_game/common/estate_privileges/dhimmi_estate.txt @@ -0,0 +1,204 @@ +#generic privileges +dhimmi_land_rights = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_jurisprudence = societal_value_minor_monthly_move + + global_dhimmi_estate_power = 0.25 + } +} + +dhimmi_lighter_taxes = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = large_privilege_target_satisfaction + dhimmi_estate_max_tax = -0.25 + global_dhimmi_estate_power = 0.5 + } + + ai_weight = { + if = { + limit = { + has_or_had_tag = TUR + } + add = 999999 + } + } +} + +dhimmi_military_service = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + dhimmi_estate_levy_size = 0.1 + global_dhimmi_estate_power = 0.25 + } +} + +dhimmi_promote_tolerance = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty + tolerance_heathen = 1 + global_dhimmi_estate_power = 0.5 + } + + ai_weight = { + add = 25 + } +} + +dhimmi_administrative_posts = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + global_dhimmi_estate_power = 0.25 + } + country_modifier = { + country_cabinet_efficiency = 0.05 + } + + ai_weight = { + add = 25 + } +} + +dhimmi_traditions = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction + cultural_influence_modifier = -0.15 + tolerance_heathen = 1 + global_dhimmi_estate_power = 0.33 + } +} + +dhimmi_legal_autonomy = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty + legislative_efficiency = 0.05 + global_dhimmi_estate_power = 0.2 + } +} + +dhimmi_promote_dhimmi_hierarchy = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + nobles_estate_max_tax = 0.1 + dhimmi_estate_max_tax = -0.1 + global_dhimmi_estate_power = 0.2 + } +} + +dhimmi_pact_of_umar = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction + monthly_towards_humanist = societal_value_minor_monthly_move + cultures_capacity = 0.5 + global_dhimmi_estate_power = 1.0 + } +} + +dhimmi_mazalim_court = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + global_dhimmi_estate_power = 0.33 + monthly_towards_jurisprudence = societal_value_minor_monthly_move + clergy_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + } +} + +dhimmi_abrahamic_communities = { + estate = dhimmi_estate + potential = { + religion ?= { + group ?= religion_group:muslim + } + any_non_state_religion_location = { + dominant_religion ?= { + OR = { + group = religion_group:christian + group = religion_group:israelite_group + } + } + } + } + allow = {} + location_modifier = { + potential_trigger = { + dominant_religion ?= { + OR = { + group = religion_group:christian + group = religion_group:israelite_group + } + } + } + local_pop_conversion_speed_modifier = -1 + local_unrest = -0.1 + } + country_modifier = { + tolerance_heathen = 1 + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + global_dhimmi_estate_power = 1 + } + + ai_weight = { + add = 25 + } +} + +dhimmi_in_administration = { + estate = dhimmi_estate + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + global_dhimmi_estate_power = 0.5 + dhimmi_estate_allowed_in_cabinet = yes + monthly_towards_humanist = societal_value_monthly_move + } +} + +habshi_advisors_privilege = { + estate = dhimmi_estate + + potential = { + has_unlocked_estate_privilege_trigger = { type = habshi_advisors_privilege } + capital ?= { + sub_continent = sub_continent:south_asia + } + } + + allow = { + has_slavery = yes + has_estate_privilege = estate_privilege:dhimmi_in_administration + NOT = { has_estate_privilege = estate_privilege:noble_leaders_only } + } + + country_modifier = { + dhimmi_estate_target_satisfaction = medium_privilege_target_satisfaction + global_dhimmi_estate_power = 1 + dhimmi_estate_allowed_leading_military = yes + dhimmi_estate_blocked_from_leading_military = no + monthly_towards_free_subjects = societal_value_monthly_move + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/nobles_estate.txt b/in_game/common/estate_privileges/nobles_estate.txt new file mode 100644 index 0000000..6aa7ae1 --- /dev/null +++ b/in_game/common/estate_privileges/nobles_estate.txt @@ -0,0 +1,2081 @@ +#generic privileges +nobles_offensive_military_doctrine = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + has_estate_privilege = estate_privilege:war_department + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + global_nobles_estate_power = 0.5 # +50% к влиянию дворян + + # --- Мощные бонусы армии (Наступательный фокус и элитная кавалерия) --- + land_morale_modifier = 0.10 # +10% к морали армии + army_heavy_cavalry_power = 0.20 # +20% к боевой мощи тяжелой кавалерии + heavy_cavalry_flanking_modifier = 0.10 # +10% к фланговым ударам тяжелой кавалерии + nobles_estate_max_tax = -0.05 + # --- Штрафы казне и логистике (Цена элитных подразделений) --- + heavy_cavalry_cost_modifier = 0.20 # +20% к стоимости найма тяжелой кавалерии + heavy_cavalry_maintenance_modifier = 0.15 # +15% к стоимости содержания тяжелой кавалерии + army_maintenance_efficiency = -0.10 # -10% к общей эффективности содержания армии + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян + global_peasant_enfranchisment = -0.10 # -10% к правам крестьян + + # --- Влияние на общественные ценности --- + monthly_towards_offensive = societal_value_monthly_move + } +} + +nobles_land_rights = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.30 + societal_value:centralization > 30 + has_estate_privilege = estate_privilege:systematic_centralization + } + country_modifier = { + # --- Строительные и экономические права дворянства --- + nobles_estate_allowed_to_build_rgo = yes # Разрешение строить RGO (виллы убраны) + + # --- Политический вес и лояльность дворянства --- + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию (увеличено с medium) + global_nobles_estate_power = 1.25 # +125% к влиянию дворян (сословно-образующая привилегия) + nobles_estate_max_tax = -0.15 # +10% к максимальному налогу (компенсация за колоссальное влияние) + + # --- Штраф государственному контролю (Цена феодальной автономии) --- + global_max_control = -0.10 # -10% к максимальному контролю + + # --- Перекрестные штрафы (Явные цифровые значения) --- + global_peasant_enfranchisment = -0.25 # -25% к правам крестьян + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан + + # --- Влияние на общественные ценности --- + monthly_towards_land = societal_value_minor_monthly_move + monthly_towards_serfdom = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +auxilium_et_consilium = { + estate = nobles_estate + potential = { + government_type = government_type:monarchy + } + allow = { + has_advance = noble_knights + NOT = { has_estate_privilege = estate_privilege:monetary_fiefs } + } + can_revoke = { + OR = { + "estate_power(estate_type:crown_estate)" >= 0.50 + } + } + country_modifier = { + # --- Инфраструктура и политический вес --- + global_nobles_estate_power = 1.0 # +75% к влиянию дворян (право на "совет") + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.075 # +10% к максимальному налогу (компенсация за высокое влияние) + + # --- Гражданская помощь и "Совет" (Consilium) --- + country_cabinet_efficiency = 0.25 # +25% к эффективности кабинета (знать помогает в управлении государством) + # Альтернатива: monthly_legitimacy = 0.1 (если хотите упор на легитимность, а не контроль) + + + # --- Влияние на общественные ценности --- + monthly_towards_serfdom = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +noble_serfdom_rights = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.30 + has_estate_privilege = estate_privilege:permanent_inspectors + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + global_nobles_estate_power = 0.5 # +50% к влиянию дворян + nobles_estate_max_tax = -0.05 # +5% к максимальному налогу (компенсация за влияние) + + # --- Экономическая выгода дворян (Эксплуатация низов) --- + global_peasants_food_consumption = -0.1 # -10% к потреблению еды крестьянами + global_laborers_food_consumption = -0.1 # -10% к потреблению еды работниками + + # --- Штрафы Государству (Цена закрепощения и произвола) --- + global_max_rural_control = -0.05 # -25% к максимальному контролю в сельской местности + levy_recovery_modifier = 0.25 # -10% к скорости восстановления ополчения + + # --- Перекрестные штрафы (Явные цифровые значения) --- + peasants_estate_target_satisfaction = large_privilege_target_satisfaction_penalty # -5% к довольствию крестьян + global_peasant_enfranchisment = -0.50 # -50% к правам крестьян + burghers_estate_target_satisfaction = tiny_privilege_target_satisfaction_penalty # -1% к довольствию горожан + + # --- Влияние на общественные ценности --- + monthly_towards_serfdom = societal_value_large_monthly_move + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +noble_fortification_licenses = { + estate = nobles_estate + potential = { + } + allow = { + has_advance = castle_advance + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Инфраструктура и политический вес --- + allow_nobility_fortifications = yes + fort_limit_modifier = 0.25 # +25% к лимиту фортов + fort_maintenance_efficiency = 0.75 # +75% к эффективности содержания (дворяне платят сами) + + # --- Политический вес и лояльность дворянства --- + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + global_nobles_estate_power = 0.5 # +50% к влиянию дворян + nobles_estate_max_tax = -0.05 # +10% к максимальному налогу (компенсация за влияние) + + # --- Бонус и штрафы контролю/гарнизонам --- + global_max_control = 0.05 # +2.5% к максимальному контролю (УМЕНЬШЕНО) + global_garrison_size_modifier = -0.05 # -5% к размеру королевских гарнизонов (лучшие солдаты уходят к баронам) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty # -5% к довольствию горожан (незаконные пошлины на дорогах) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (барщина на стройке) + + # --- Влияние на общественные ценности --- + monthly_towards_decentralization = societal_value_large_monthly_move + monthly_towards_land = societal_value_minor_monthly_move + } +} + + +noble_marriage_rights = { + estate = nobles_estate + potential = { + OR = { + government_type = government_type:monarchy + government_type = government_type:tribe + } + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.25 # +25% к влиянию дворян (династические сети) + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.025 # +5% к максимальному налогу (компенсация за влияние) + + # --- Династическая стабильность и Административные эффекты --- + monthly_legitimacy = 0.05 # +0.05 к ежемесячной легитимности (династические браки укрепляют престол) + country_cabinet_efficiency = 0.10 # +10% к эффективности кабинета (родственные связи и координация) + replace_cabinet_member_cost_modifier = 0.10 # +10% к стоимости замены министра (увольнение "своего" вызывает скандал) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (блокировка социального лифта и меритократии) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (усиление локального гнета через консолидацию поместий) + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_minor_monthly_move + monthly_towards_traditionalist = societal_value_minor_monthly_move + } +} + +banal_lordship = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.05 # +5% к максимальному налогу (компенсация за влияние) + + # --- Штрафы Государству (Цена вотчинной автономии и монополий) --- + global_max_rural_control = 0.025 # -2.5% к максимальному контролю в сельской местности (королевские судьи бессильны в вотчинах) + + # --- Социальные эффекты (Жесткий контроль низов сеньором) --- + global_peasant_enfranchisment = -0.05 # -5% к правам крестьян + pop_join_rebel_threshold = 0.05 # +5% к порогу вступления в мятеж (дворяне сами подавляют беспорядки) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (нарушение свободы торговли, шлагбаумы на дорогах) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (обязанность платить за баналитеты: мельницу, печь и т.д.) + + # --- Влияние на общественные ценности --- + monthly_towards_serfdom = societal_value_monthly_move + monthly_towards_decentralization = societal_value_minor_monthly_move + } +} + +primacy_of_nobility = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (снижено с 1.0 для баланса) + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.05 # +10% к максимальному налогу (компенсация за влияние) + + # --- Военная мощь --- + discipline = 0.05 # +5% к дисциплине армии (жесткая дворянская иерархия и личный пример командиров) + + # --- Штраф Государству (Цена сужения элиты) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (кумовство и игнорирование талантов из других сословий) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty # -5% к довольствию горожан (отстранение от реальной власти) + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию духовенства (светская знать оттесняет церковь) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (закрепление статуса низшего сословия) + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_large_monthly_move + } +} + +noble_leaders_only = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Монополия на командование --- + no_lowborn_leaders = yes + peasants_estate_blocked_from_leading_military = yes + tribes_estate_blocked_from_leading_military = yes + burghers_estate_blocked_from_leading_military = yes + dhimmi_estate_blocked_from_leading_military = yes + cossacks_estate_blocked_from_leading_military = yes + clergy_estate_blocked_from_leading_military = yes + + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (увеличено с 0.25) + nobles_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию дворян + nobles_estate_max_tax = -0.05 # +5% к максимальному налогу (компенсация за влияние) + + # --- Штраф армии (Цена кровной монополии и отсутствия меритократии) --- + monthly_army_tradition = 0.05 # 0.05 к ежемесячным армейским традициям (консерватизм родовитых генералов) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян + cossacks_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию казаков + tribes_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию племен + dhimmi_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию зимми + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию духовенства + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_monthly_move + } +} + + +elaborate_court_ceremonies = { + estate = nobles_estate + potential = { + NOT = { government_type = government_type:tribe } + NOT = { government_type = government_type:steppe_horde } + } + allow = { + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + + + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.25 # +25% к влиянию дворян (престиж и этикет) + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.025 # +5% к максимальному налогу (компенсация за влияние) + + # --- Культурное доминирование и Легитимность --- + cultural_influence_modifier = 0.15 # +15% к культурному влиянию (двор задает моду и стандарты) + monthly_legitimacy = 0.025 # +0.025 к ежемесячной легитимности (пышный двор укрепляет авторитет монарха) + + # --- Штраф Государству (Цена показной роскоши) --- + court_spending_efficiency = -0.10 # -10% к эффективности расходов двора (поддержание церемоний требует больше золота) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (казна тратится на роскошь, а не на торговлю) + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию духовенства (церковь осуждает мирское тщеславие) + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_minor_monthly_move + monthly_towards_traditionalist = societal_value_minor_monthly_move + } +} + +nobles_protected_faith = { + estate = nobles_estate + allow = { + religious_unity < 0.66 + } + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + global_nobles_conversion_blocked = yes + } + can_revoke = {} +} + +nobility_council = { + estate = nobles_estate + potential = { + } + allow = { + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Инфраструктура и политический вес --- + allow_local_noble_delegation = yes + nobles_estate_agenda_impact = 0.25 # +25% к влиянию на повестку дворян + + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.25 # +25% к влиянию дворян (умеренный вес) + nobles_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию дворян (игрок будет очень неохотно убирать эту привилегию) + nobles_estate_max_tax = -0.025 # +5% к максимальному налогу (компенсация за влияние) + + # --- Стабильность и Легитимность (Опора Трона) --- + stability_investment = medium_stability_investment # Средний бонус к инвестициям в стабильность (авторитет совета помогает гасить кризисы) + monthly_legitimacy = 0.025 # +0.025 к ежемесячной легитимности (правление с оглядкой на элиту воспринимается как законное) + + # --- Штраф Государству (Цена бюрократии и компромиссов) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (долгие согласования с советом тормозят текущие дела) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (их интересы игнорируются в пользу землевладельцев) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (совет защищает права сеньоров) + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +manorial_courts = { + estate = nobles_estate + potential = { + government_type = government_type:monarchy + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (контроль над правосудием) + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.025 # +2,5% к максимальному налогу с дворян (судебные штрафы увеличивают налогооблагаемую базу) + + # --- Штрафы Государству (Цена правовой фрагментации) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (разрозненная правовая система тормозит реформы) + global_max_rural_control = -0.025 # -2.5% к максимальному контролю в сельской местности (воля лорда выше закона короны) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (предвзятость и произвол в судах) + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (отсутствие единого коммерческого права и барьеры для торговли) + + # --- Влияние на общественные ценности --- + monthly_towards_decentralization = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +increased_civic_engagement = { + estate = nobles_estate + potential = { + government_type = government_type:republic + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства (патрициев) --- + global_nobles_estate_power = 0.25 # +25% к влиянию дворян + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.025 # +5% к максимальному налогу (компенсация за влияние) + + # --- Республиканские бонусы --- + monthly_republican_tradition = 0.1 # +0.1 к ежемесячным республиканским традициям (УМЕНЬШЕНО с 0.15) + replace_cabinet_member_cost_modifier = -0.15 # -15% к стоимости замены членов кабинета (легкая ротация) + + # --- Штраф Государству (Цена олигархических дрязг) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (интриги важнее работы) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (отстранение от власти) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (забвение сельских территорий) + + # --- Влияние на общественные ценности --- + monthly_towards_innovative = societal_value_monthly_move + monthly_towards_plutocracy = societal_value_minor_monthly_move + } +} + +inherited_offices = { + estate = nobles_estate + potential = { + government_type = government_type:republic + } + allow = { + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Политический вес и лояльность дворянства (патрициев) --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (олигархическое доминирование) + nobles_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию дворян (игрок будет крайне неохотно убирать эту привилегию) + + # --- Смерть республики и олигархическая инертность --- + monthly_republican_tradition = -0.05 # -0.05 к ежемесячным республиканским традициям (наследование должностей убивает дух республики) + replace_cabinet_member_cost_modifier = 0.5 # +50% к стоимости замены членов кабинета (сместить министра из влиятельного клана стоит огромных усилий) + + # --- Штраф Государству (Цена закрытой олигархии) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (кумовство и защита кланов приводят к некомпетентности) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + burghers_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию горожан (отстранение новых денег от власти) + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (олигархи выжимают максимум из сельских территорий) + + # --- Влияние на общественные ценности --- + monthly_towards_plutocracy = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +recognized_communes = { + estate = nobles_estate + potential = { + government_type = government_type:republic + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Политический вес и лояльность дворянства (патрициев) --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (используют автономию городов как щит от сильного центра) + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию дворян + nobles_estate_max_tax = -0.05 # +2,5% к максимальному налогу (компенсация за влияние) + + # --- Экономический импульс (Процветание коммун) --- + global_monthly_prosperity = 0.002 # +0.002 к ежемесячному процветанию (эффективное управление ресурсами магистратами) + + # --- Штраф Государству (Цена городской автономии) --- + global_max_urban_control = 0.05 # -5% к максимальному контролю в городах (государственные чиновники не имеют власти внутри стен коммун) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию крестьян (города становятся убежищем для беглых крепостных) + clergy_estate_target_satisfaction = small_privilege_target_satisfaction_penalty # -2.5% к довольствию духовенства (светские магистраты оспаривают юрисдикцию церкви) + + # --- Влияние на общественные ценности --- + monthly_towards_decentralization = societal_value_monthly_move + monthly_towards_plutocracy = societal_value_minor_monthly_move + } +} + +appoint_ecclesiastical_offices = { + estate = nobles_estate + potential = { + government_type = government_type:theocracy + } + allow = { + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.30 + } + country_modifier = { + # --- Политический вес и лояльность дворянства --- + global_nobles_estate_power = 0.5 # +50% к влиянию дворян (контроль над церковным аппаратом) + nobles_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию дворян (доступ к богатым церковным бенефициям) + nobles_estate_max_tax = -0.025 # +10% к максимальному налогу (компенсация за влияние) + + # --- Образование элиты --- + global_nobles_max_literacy = 5 # +5 к максимальной грамотности (управление церковными землями и архивами требует образованности) + + # --- Штраф Государству (Цена политизации церкви) --- + country_cabinet_efficiency = -0.05 # -5% к эффективности кабинета (симония и интриги вокруг назначений тормозят управление) + + # --- Перекрестные штрафы (Явные цифровые значения) --- + clergy_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty # -5% к довольствию духовенства (светские лорды раздают духовные саны своим родственникам, игнорируя заслуженных священников) + + # --- Влияние на общественные ценности --- + monthly_towards_aristocracy = societal_value_monthly_move + monthly_towards_decentralization = societal_value_minor_monthly_move + } +} +feudal_mercenary_contracts = { + estate = nobles_estate + + potential = { + has_embraced_institution = institution:feudalism + } + + country_modifier = { + global_nobles_estate_power = -0.5 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + mercenary_maintenance_efficiency = 0.2 + hire_mercenary_premium_cost_modifier = -0.2 + } +} + +#special privileges +liberum_veto = { + content_priority = 900 + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = POL + has_or_had_tag = PLC + } + has_variable = unlock_liberum_veto_variable + } + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + "estate_power(estate_type:crown_estate)" >= 0.7 + } + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 5.0 + nobles_estate_agenda_impact = 0.25 + parliament_request_issue_support_needed = 0.2 + monthly_towards_aristocracy = societal_value_large_monthly_move + } + + on_activate = { + if = { + limit = { + has_country_modifier = plc_blackmail_of_the_nobles + } + remove_country_modifier = plc_blackmail_of_the_nobles + } + } +} + +visconti_city_states = { + content_priority = 800 + estate = nobles_estate + + potential = { has_or_had_tag = MLO } + + can_revoke = { + average_control_in_home_region >= 0.5 + + } + + country_modifier = { + monthly_legitimacy = -0.05 + global_max_control = -0.05 + monthly_towards_decentralization = societal_value_minor_monthly_move + global_nobles_estate_power = 0.50 + } + + +} + +general_privilege = { + content_priority = 400 + estate = nobles_estate + + potential = { has_or_had_tag = ARA } + + allow = { + + } + can_revoke = { + } + + country_modifier = { + monthly_legitimacy = 0.05 + global_nobles_estate_power = 0.2 + monthly_towards_aristocracy = societal_value_minor_monthly_move + monthly_towards_free_trade = societal_value_minor_monthly_move + } + + +} + +union_privilege = { + estate = nobles_estate + + potential = { + #This privilege can only be accessed trhought the war_of_the_aragonese_union_disaster.2 event + has_variable = union_privilege_flag + } + + allow = { + + } + can_revoke = { + } + + country_modifier = { + monthly_towards_aristocracy = societal_value_minor_monthly_move + monthly_towards_traditionalist = societal_value_minor_monthly_move + nobles_estate_max_tax = 0.1 + global_nobles_estate_power = 1.0 + } + +} + +signoria_council = { + estate = nobles_estate + + potential = { has_or_had_tag = FLO } + + allow = { + has_reform = government_reform:signoria_reform + } + + can_revoke = { + average_control_in_home_region >= 0.5 + estate_satisfaction:nobles_estate > 0.75 + } + + country_modifier = { + stability_decay = -0.00025 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + nobles_estate_max_tax = -0.1 + } +} + +tysiatskii_privilege = { + estate = nobles_estate + potential = { has_or_had_tag = NOV } + allow = {} + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + monthly_army_tradition = 0.1 + } + country_modifier = { + potential_trigger = { + custom_tooltip = { + text = nov_influential_tysiatskii_requirement + has_variable = nov_influential_tysiatskii + } + } + global_nobles_estate_power = 0.25 + army_heavy_infantry_power = 0.15 + } + country_modifier = { + potential_trigger = { + custom_tooltip = { + text = nov_tysiatskii_influence_weakened_requirement + has_variable = nov_tysiatskii_influence_weakened + } + } + stability_investment = large_stability_investment + global_nobles_estate_power = -0.25 + } + can_revoke = {} + +} + +the_ryad_privilege = { + estate = nobles_estate + potential = { culture ?= { has_culture_group = culture_group:russian_group } } + allow = {} + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + country_cabinet_efficiency = 0.05 + stability_decay = -0.00025 + } + can_revoke = {} + +} + +kbo_kaigama = { + estate = nobles_estate + + potential = { has_or_had_tag = KBO } + + can_revoke = { + stability > 50 + } + + country_modifier = { + monthly_army_tradition = 0.05 + monthly_legitimacy = -0.02 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + } +} + +kbo_yerima = { + estate = nobles_estate + + potential = { has_or_had_tag = KBO } + + can_revoke = { + stability > 50 + } + + country_modifier = { + global_levy_size_modifier = 0.1 + global_nobles_estate_power = 0.5 + } +} + +kbo_cima = { + estate = nobles_estate + + potential = { has_or_had_tag = KBO } + + can_revoke = { + + } + + country_modifier = { + global_distance_from_capital_speed_propagation = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + } +} + +office_of_the_farima_soura_privilege = { + content_priority = 300 + estate = nobles_estate + + potential = { + has_or_had_tag = MAL + } + allow = { + has_unlocked_estate_privilege_trigger = { + type = office_of_the_farima_soura_privilege + } + } + can_revoke = { + } + + country_modifier = { + build_gravel_road_cost_modifier = -0.25 + build_paved_road_cost_modifier = -0.25 + build_modern_road_cost_modifier = -0.25 + selling_efficiency = tiny_trade_efficiency_bonus + global_nobles_estate_power = 0.5 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +office_of_the_sankar_zouma_privilege = { + content_priority = 200 + estate = nobles_estate + + potential = { + has_or_had_tag = MAL + } + allow = { + has_unlocked_estate_privilege_trigger = { + type = office_of_the_sankar_zouma_privilege + } + } + can_revoke = { + } + + country_modifier = { + monthly_rebel_growth = -0.001 + global_trade_center_power = 0.05 + global_nobles_estate_power = 0.5 + monthly_towards_aristocracy = societal_value_minor_monthly_move + } +} + +golden_liberty = { + content_priority = 800 + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = POL + has_or_had_tag = PLC + } + OR = { + has_variable = rise_of_szlachta_szlachta_outcome_variable + any_active_disaster = { disaster_type = disaster_type:rise_of_the_szlachta } + } + } + + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + "estate_power(estate_type:crown_estate)" >= 0.5 + } + } + + country_modifier = { + monthly_towards_aristocracy = societal_value_large_monthly_move + nobles_estate_max_tax = -0.1 + nobles_estate_levy_size = 0.1 + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + global_nobles_estate_power = 2 + parliament_request_issue_support_needed = 0.1 + } +} + +nieszawa_privileges = { + content_priority = 500 + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = POL + has_or_had_tag = PLC + has_variable = rise_of_szlachta_szlachta_outcome_variable + } + } + + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + "estate_power(estate_type:crown_estate)" >= 0.5 + } + } + + country_modifier = { + + nobles_estate_max_tax = -0.1 + stability_investment = tiny_stability_investment + nobles_estate_agenda_impact = 0.2 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + parliament_request_issue_support_needed = 0.1 + global_nobles_estate_power = 0.5 + } +} + +pacta_conventa = { + content_priority = 400 + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = POL + has_or_had_tag = PLC + has_variable = rise_of_szlachta_szlachta_outcome_variable + } + } + + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + "estate_power(estate_type:crown_estate)" >= 0.5 + } + } + + country_modifier = { + + monthly_towards_decentralization = societal_value_minor_monthly_move + clergy_estate_target_satisfaction = small_privilege_target_satisfaction + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + parliament_request_issue_support_needed = 0.1 + global_nobles_estate_power = 0.5 + global_clergy_estate_power = 0.1 + } +} + +noble_armies = { + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = FRA + has_or_had_tag = KOR + } + } + + country_modifier = { + nobles_estate_levy_size = 0.5 + monthly_towards_aristocracy = societal_value_minor_monthly_move + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.50 + + nobles_estate_satisfaction_decay = 0.02 + + } +} +chancellor_nobles = { + estate = nobles_estate + + potential = { + has_or_had_tag = FRA + } + + country_modifier = { + country_cabinet_efficiency = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.50 + } +} + +great_offices_of_the_crown_of_france = { + estate = nobles_estate + content_priority = 100 + potential = { + has_or_had_tag = FRA + } + + country_modifier = { + + government_size = 1 + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + global_peasant_enfranchisment = -0.1 + } +} + +residence_in_versailles = { + estate = nobles_estate + + potential = { + has_or_had_tag = FRA + NOT = { has_estate_privilege = estate_privilege:permanent_residence_in_versailles } + has_variable = enable_residence_in_versailles + } + + country_modifier = { + monthly_towards_centralization = societal_value_minor_monthly_move + monthly_prestige = 0.10 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = -0.05 + } +} + +permanent_residence_in_versailles = { + estate = nobles_estate + content_priority = 600 + potential = { + has_or_had_tag = FRA + NOT = { has_estate_privilege = estate_privilege:residence_in_versailles } + has_variable = enable_permanent_residence_in_versailles + } + + country_modifier = { + monthly_towards_centralization = societal_value_minor_monthly_move + monthly_prestige = 0.10 + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + global_nobles_estate_power = -0.20 + } +} + +right_to_inherit = { + estate = nobles_estate + + potential = { + OR = { + #All Germans + culture ?= { has_culture_group = culture_group:german_group } + succession_law ?= heir_selection:partition_inheritance + } + } + + country_modifier = { + stability_cost_efficiency = 0.4 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +inaugural_diplomas = { + estate = nobles_estate + + potential = { + has_or_had_tag = BOH + } + + country_modifier = { + nobles_estate_max_tax = -0.1 + nobles_estate_levy_size = -0.1 + global_nobles_estate_power = 1.0 + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + } +} + +district_paving_privilege = { + estate = nobles_estate + + potential = { + has_variable = district_paving_taxes_variable + } + + country_modifier = { + build_gravel_road_cost_modifier = -0.2 + build_paved_road_cost_modifier = -0.2 + build_modern_road_cost_modifier = -0.2 + monthly_towards_decentralization = societal_value_monthly_move + global_nobles_estate_power = 0.4 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +joint_assembly_decrees = { + estate = nobles_estate + + potential = { + has_variable = joint_assembly_decrees_variable + root = international_organization:hre.leader_country + } + + country_modifier = { + monthly_towards_aristocracy = societal_value_minor_monthly_move + wrong_culture_levy_size = 0.1 + cultures_capacity = 1 + global_nobles_estate_power = 1.0 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +kormlenije = { + estate = nobles_estate + + potential = { + culture ?= { has_culture_group = culture_group:russian_group } + } + + country_modifier = { + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + nobles_estate_max_tax = -0.05 + monthly_towards_centralization = societal_value_monthly_move + global_nobles_estate_power = 0.2 + } +} + +ordinance_of_laborers = { + estate = nobles_estate + + potential = { + has_or_had_tag = ENG + has_variable = eng_ordinance_of_laborers_flag + } + allow = { + NOT = { has_estate_privilege = estate_privilege:peasants_free_peasantry } + } + can_revoke = { + "estate_power(estate_type:nobles_estate)" <= 0.2 + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + monthly_towards_serfdom = societal_value_monthly_move + } +} + +autonomous_local_commanders = { + estate = nobles_estate + + potential = { + has_or_had_tag = KNI + government_type = government_type:theocracy + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + monthly_army_tradition = 0.05 + monthly_towards_decentralization = societal_value_minor_monthly_move + } +} + +bashtinas_and_pronijas_grants = { + estate = nobles_estate + + potential = { + has_or_had_tag = SER + } + + country_modifier = { + monthly_towards_decentralization = societal_value_monthly_move + nobles_estate_max_tax = -0.1 + global_nobles_estate_power = 0.2 + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + } +} + +zupa_districts = { + estate = nobles_estate + + potential = { + has_or_had_tag = SER + } + + country_modifier = { + monthly_towards_defensive = societal_value_monthly_move + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.4 + } +} + +vlastele_krayishnik = { + estate = nobles_estate + + potential = { + has_or_had_tag = SER + } + + country_modifier = { + global_max_control = -0.05 + global_defensive = 0.15 + global_nobles_estate_power = 0.2 + } +} + +golden_bull_of_1222 = { + content_priority = 800 + estate = nobles_estate + potential = { + has_or_had_tag = HUN + } + country_modifier = { + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + nobles_estate_max_tax = -1 + global_nobles_estate_power = 0.5 + nobles_estate_levy_size = -0.15 + } +} + +monetary_fiefs = { #https://en.wikipedia.org/wiki/Bastard_feudalism https://en.wikipedia.org/wiki/English_feudal_barony + estate = nobles_estate + + allow = { + NOT = { has_estate_privilege = estate_privilege:auxilium_et_consilium } + } + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + nobles_estate_max_tax = -0.05 + nobles_estate_levy_size = -0.1 + global_nobles_estate_power = 0.2 + monthly_towards_centralization = societal_value_minor_monthly_move + } +} + +scholar_officials = { #https://en.wikipedia.org/wiki/Scholar-official + estate = nobles_estate + + potential = { + OR = { + culture ?= { has_culture_group = culture_group:confucian_group } + any_international_organizations_member_of = { + international_organization_type = international_organization_type:sect + international_organization_has_policy = policy:confucianism_policy + } + has_variable = has_neo_confucianism + is_member_of_international_organization = international_organization:middle_kingdom + } + } + allow = { + has_imperial_examinations = yes + } + + can_revoke = { + not = { has_imperial_examinations = yes } + } + + country_modifier = { + nobles_estate_max_tax = -0.05 + global_nobles_estate_power = 0.33 + + global_nobles_max_literacy = 5 + research_speed_modifier = 0.1 + + monthly_towards_innovative = societal_value_large_monthly_move + } +} + +ghazi_privilege = { + + estate = nobles_estate + + potential = { + religion ?= { group ?= religion_group:muslim } + culture ?= { has_culture_group = culture_group:turkic_group } + } + can_revoke = { + OR = { + societal_value:centralization_vs_decentralization > 0 + societal_value:spiritualist_vs_humanist > 25 + } + } + + country_modifier = { + land_morale_modifier = 0.05 + global_levy_size_modifier = 0.05 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 1 + monthly_towards_decentralization = societal_value_minor_monthly_move + monthly_towards_quality = societal_value_minor_monthly_move + + #This is a privilege you will want early on but eventually it will become a hinderance + #when you want to centralize + } +} + +share_of_the_spoils = { + estate = nobles_estate + + potential = { + has_tribal_government = yes + } + + country_modifier = { + court_spending_efficiency = -0.05 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + } +} + +tribal_host = { + estate = nobles_estate + + potential = { + has_tribal_government = yes + } + + allow = { + has_advance = ranching + } + + country_modifier = { + monthly_tribal_cohesion = 0.02 + global_horses_output_modifier = 0.1 + global_nobles_estate_power = 0.5 + } +} + +tribal_autonomy = { + estate = nobles_estate + + potential = { + has_tribal_government = yes + } + + country_modifier = { + monthly_tribal_cohesion = 0.02 + monthly_towards_unsinicized = societal_value_minor_monthly_move + global_max_rural_control = -0.05 + global_nobles_estate_power = 0.3 + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + } +} + +powerful_italian_families = { + estate = nobles_estate + + potential = { + tag = PAP + } + + can_revoke = { + custom_tooltip = { + text = powerful_italian_families.tt + capital.region = region:italy_region + } + } + location_modifier = { + + potential_trigger = { + region = region:italy_region + } + local_crown_estate_power = -0.5 + } + country_modifier = { + global_nobles_estate_power = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_decentralization = societal_value_large_monthly_move + } +} + +plc_empower_orthodox_nobility = { + estate = nobles_estate + + country_modifier = { + scale = { + value = "religion_percentage_in_country(religion:orthodox)" + } + global_pop_conversion_speed_modifier = -0.5 + global_nobles_estate_power = 1.0 + } + + country_modifier = { + global_nobles_estate_power = 0.1 + } + + potential = { + has_unlocked_estate_privilege_trigger = { + type = plc_empower_orthodox_nobility + } + } +} + +scottish_clans = { + estate = nobles_estate + + potential = { + culture ?= { + has_culture_group = culture_group:scottish_group + } + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + NOT = { has_variable = preserved_clan_autonomy} + } + allow = { + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" > 0.33 + } + country_modifier = { + allow_dun_fort = yes + global_nobles_estate_power = 0.2 + nobles_estate_levy_size = 0.3 + nobles_estate_max_tax = 0.05 + monthly_towards_traditionalist = societal_value_minor_monthly_move + } +} + +autonomous_scottish_clans = { + estate = nobles_estate + + potential = { + culture ?= { + has_culture_group = culture_group:scottish_group + } + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + has_variable = preserved_clan_autonomy + } + allow = { + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" > 0.33 + } + country_modifier = { + allow_dun_fort = yes + global_nobles_estate_power = -0.05 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + nobles_estate_max_tax = 0.05 + } +} + +sco_statutes_of_iona = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = sco_statutes_of_iona + } + } + allow = { + } + can_revoke = { + always = no + } + country_modifier = { + global_nobles_estate_power = -0.2 + nobles_estate_levy_size = 0.10 + nobles_estate_max_tax = 0.10 + monthly_towards_centralization = 0.03 + } +} + +coign_and_livery_privilege = { + estate = nobles_estate + + potential = { + OR = { + culture ?= { has_culture_group = culture_group:hibernian_group } + has_reform = government_reform:celtic_traditions_reform + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + nobles_estate_max_tax = 0.1 + global_nobles_estate_power = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + army_maintenance_efficiency = 0.15 + } +} + +libro_d_oro = { #https://en.wikipedia.org/wiki/Libro_d%27Oro + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = VEN + any_overlord_or_above = { + has_or_had_tag = VEN + } + } + } + + on_activate = { + if = { + limit = { + NOT = { has_variable = year_of_start_of_libro_d_oro } + } + set_variable = { + name = year_of_start_of_libro_d_oro + value = current_year + } + } + } + + on_deactivate = { + #Deactivating the privilege does not remove the varible "year_of_start_of_joint_rule" + #to avoid the player reseting it at will + } + country_modifier = { + global_nobles_estate_power = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_pop_promotion_speed_modifier = -0.20 + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +avogadoria_de_comun = { + estate = nobles_estate + potential = { + OR = { + has_or_had_tag = VEN + any_overlord_or_above = { + has_or_had_tag = VEN + } + } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.75 + } + country_modifier = { + global_nobles_estate_power = 0.5 + legislative_efficiency = 0.1 + country_cabinet_efficiency = 0.1 + } +} + +zontas = { + estate = nobles_estate + potential = { + OR = { + has_or_had_tag = VEN + any_overlord_or_above = { + has_or_had_tag = VEN + } + } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= "estate_power(estate_type:nobles_estate)" + } + country_modifier = { + global_nobles_estate_power = 0.2 + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + global_crown_estate_power = -0.1 + country_cabinet_efficiency = 0.1 + diplomatic_reputation = diplomatic_reputation_weak_bonus + } +} + +rajput_society = { + estate = nobles_estate + potential = { + culture ?= { NOT = { language ?= language:rajasthani_language } } + OR = { + religion ?= { group = religion_group:dharmic } + religion ?= { group = religion_group:muslim } + } + capital ?= { + sub_continent = sub_continent:south_asia + } + any_present_culture_in_country = { + language ?= language:rajasthani_language + } + } + country_modifier = { + discipline = 0.05 + scale = { + add = { + desc = "relevant_culture_percentage_in_country" + value = "culture_percentage_in_country(culture:mewari)" + add = "culture_percentage_in_country(culture:harauti)" + add = "culture_percentage_in_country(culture:dhundhari)" + add = "culture_percentage_in_country(culture:shekhawati)" + add = "culture_percentage_in_country(culture:mewati)" + add = 1 + } + } + } + country_modifier = { + global_nobles_estate_power = 0.5 + } +} + +zamindar_tax_privilege = { + estate = nobles_estate + potential = { + has_advance = mug_zamindar_system + } + country_modifier = { + potential_trigger = { + at_war = yes + } + global_estate_max_tax = 0.3 + global_estate_min_tax = 0.3 + global_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_war_exhaustion = 0.1 + } + country_modifier = { + global_nobles_estate_power = 0.5 + country_cabinet_efficiency = 0.05 + } +} + +consolidated_corruption_of_the_nobles = { + estate = nobles_estate + + + potential = { + has_estate_privilege = estate_privilege:consolidated_corruption_of_the_nobles + } + + can_revoke = { + government_power > 95 + } + + country_modifier = { + nobles_estate_max_tax = -0.05 + land_morale_modifier = -0.1 + global_nobles_estate_power = 0.5 + global_levy_size_modifier = -0.1 + } + + country_modifier = { + potential_trigger = { legitimacy < 100 } + scale = { + value = legitimacy + multiply = -0.01 + add = 1 + } + nobles_estate_max_tax = -0.1 + } +} + +privilege_of_koszyce = { + estate = nobles_estate + + potential = { + has_variable = unlock_privilege_of_koszyce + } + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + estate_satisfaction:nobles_estate > 0.8 + } + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.25 + cultural_influence_modifier = 0.1 + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +nihil_novi = { + estate = nobles_estate + + potential = { + has_variable = unlock_nihil_novi + } + allow = { + + } + can_revoke = { + trigger_if = { + limit = { + NOT = { has_country_modifier = plc_strive_for_reform } + } + estate_satisfaction:nobles_estate > 0.8 + } + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.25 + change_policy_cost_modifier = 1 + global_peasants_migration_allowed = no + global_burghers_estate_power = -0.25 + nobles_estate_levy_size = 1 + } +} + +noble_sponsored_navy = { + estate = nobles_estate + + potential = { + has_ports = yes + } + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.33 + monthly_towards_naval = societal_value_minor_monthly_move + navy_galley_maintenance_cost_modifier = -0.1 + } +} + +charter_of_the_nobility = { + estate = nobles_estate + + potential = { + has_or_had_tag = RUS + has_variable = rus_pugachev_uprising + } + + country_modifier = { + global_nobles_estate_power = 0.15 + global_estate_target_satisfaction = small_privilege_target_satisfaction + monthly_towards_serfdom = societal_value_monthly_move + } +} + +reduced_responsibilities_for_the_nobles = { #Privilege of Koszyce + + estate = nobles_estate + + potential = { + has_variable = granted_privileges_to_secure_throne + } + + country_modifier = { + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + fort_maintenance_efficiency = -0.2 + global_nobles_food_consumption = 0.1 + } +} + +reduced_taxation_for_the_nobles = { #Privilege of Buda + estate = nobles_estate + + potential = { + has_variable = granted_privileges_to_secure_throne + } + + country_modifier = { + monthly_towards_aristocracy = societal_value_monthly_move + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.33 + nobles_estate_max_tax = -0.1 + } +} + +heritable_iqta = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = heritable_iqta + } + has_law = iqta_law + } + + country_modifier = { + nobles_estate_target_satisfaction = large_privilege_target_satisfaction + global_nobles_estate_power = 0.33 + global_max_control = -0.05 + } +} + +manifesto_of_freedom = { + estate = nobles_estate + + potential = { + has_or_had_tag = RUS + ruler ?= { + has_variable = rus_manifesto_of_freedom + } + } + + can_revoke = { + custom_tooltip = { + text = revoke_manifesto_of_freedom + NOT = { + ruler ?= { + has_variable = rus_manifesto_of_freedom + } + } + } + OR = { + AND = { + ruler ?= { + adm > 75 + } + has_policy = equal_power_relation_policy + } + has_policy = absolute_rule_policy + } + "estate_power(estate_type:crown_estate)" >= 0.5 + } + + country_modifier = { + + nobles_estate_levy_size = -0.5 + monthly_towards_decentralization = societal_value_minor_monthly_move + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + } +} + +bavarian_share_of_land = { #Bavarian Inheritance + estate = nobles_estate + + potential = { + has_variable = bavarian_inheritance_split + } + + country_modifier = { + monthly_towards_decentralization = societal_value_monthly_move + global_max_control = -0.1 + global_nobles_estate_power = 0.5 + } +} + +cas_fuero_viejo = { + estate = nobles_estate + + potential = { + has_or_had_tag = CAS + has_unlocked_estate_privilege_trigger = { + type = cas_fuero_viejo + } + } + + allow = { + } + + country_modifier = { + monthly_towards_aristocracy = societal_value_monthly_move + monthly_legitimacy = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + } +} + +justicia_de_aragon = { + estate = nobles_estate + + potential = { has_or_had_tag = ARA } + + allow = { + has_unlocked_estate_privilege_trigger = { + type = justicia_de_aragon + } + } + + can_revoke = { + legitimacy > 95 + "estate_power(estate_type:crown_estate)" > 0.5 + } + + location_modifier = { + potential_trigger = { + area = area:aragon_area + } + local_crown_estate_power = -0.25 + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + parliament_base_support = 0.2 + global_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +formalized_oath = { + estate = nobles_estate + + potential = { has_or_had_tag = ARA } + + allow = { + has_unlocked_estate_privilege_trigger = { + type = formalized_oath + } + } + + can_revoke = { + legitimacy > 95 + "estate_power(estate_type:crown_estate)" > 0.8 + } + + location_modifier = { + potential_trigger = { + area = area:aragon_area + } + local_nobles_estate_power = 0.25 + } + + country_modifier = { + monthly_towards_decentralization = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_monthly_move + global_nobles_estate_power = 0.1 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +ayans_privilege = { + + estate = nobles_estate + + + potential = { + has_or_had_tag = TUR + } + allow = { + #Unlocked by the Ayans Advance + } + can_revoke = { + "estate_power(estate_type:crown_estate)" >= 0.5 + } + + country_modifier = { + global_levy_size_modifier = 0.05 + tax_income_efficiency = tiny_tax_income_efficiency_bonus + global_nobles_estate_power = 0.33 + monthly_towards_decentralization = societal_value_monthly_move + } +} + +cas_regimiento = { + estate = nobles_estate + + potential = { + OR = { + has_or_had_tag = CAS + has_or_had_tag = SPA + } + has_unlocked_estate_privilege_trigger = { + type = cas_regimiento + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + stability_decay = -0.0001 + monthly_towards_aristocracy = societal_value_monthly_move + } +} + +lit_integrated_ruthenian_laws = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = lit_integrated_ruthenian_laws + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + legislative_efficiency = 0.05 + country_cabinet_efficiency = 0.05 + } +} + +lit_equal_status_of_orthodox_nobility = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = lit_equal_status_of_orthodox_nobility + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.25 + global_pop_conversion_speed_modifier = -0.1 + monthly_towards_humanist = societal_value_monthly_move + } +} + +mam_refined_furusiyya = { + content_priority = 700 + estate = nobles_estate + + potential = { + has_or_had_tag = MAM + has_unlocked_estate_privilege_trigger = { + type = mam_refined_furusiyya + } + } + + country_modifier = { + global_nobles_estate_power = 0.5 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_army_tradition = 0.05 + monthly_towards_quality = societal_value_monthly_move + } +} + +tur_banned_weaponry_for_peasants = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = tur_banned_weaponry_for_peasants + } + } + allow = { + NOT = { has_estate_privilege = estate_privilege:peasants_allowed_weapons_privilege } + } + can_revoke = { + } + + country_modifier = { + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + global_nobles_estate_power = 0.2 + peasants_estate_target_satisfaction = small_privilege_target_satisfaction_penalty + monthly_rebel_growth = -0.0002 + monthly_towards_serfdom = societal_value_monthly_move + } +} + +lat_latin_crusader_elite = { + estate = nobles_estate + + potential = { + is_frankokratia_state = yes + NOT = { culture = culture:greek_culture } + } + allow = { + "culture_percentage_in_country(root.culture)" < 0.33 + is_frankokratia_state = yes + NOT = { culture = culture:greek_culture } + } + + country_modifier = { + land_morale_modifier = 0.1 + change_primary_culture_cost_modifier = 0.75 + global_nobles_estate_power = 0.75 + accepted_culture_maintenance_cost_modifier = -0.15 + tolerated_culture_maintenance_cost_modifier = -0.15 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_quality = societal_value_monthly_move + } +} + + +noble_patronage_of_the_arts = { + estate = nobles_estate + + country_modifier = { + nobles_estate_target_satisfaction = small_privilege_target_satisfaction + monthly_towards_innovative = societal_value_monthly_move + artist_salary_modifier = -0.1 + global_nobles_estate_power = 0.5 + + } +} + +statutes_of_piotrkow = { + estate = nobles_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = statutes_of_piotrkow + } + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction + global_nobles_estate_power = 0.5 + monthly_towards_serfdom = societal_value_monthly_move + monthly_towards_aristocracy = societal_value_monthly_move + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/peasants_estate.txt b/in_game/common/estate_privileges/peasants_estate.txt new file mode 100644 index 0000000..c11d009 --- /dev/null +++ b/in_game/common/estate_privileges/peasants_estate.txt @@ -0,0 +1,692 @@ +#generic privileges +peasants_free_peasantry = { + estate = peasants_estate + potential = { + } + allow = { + trigger_if = { + limit = { has_estate_privilege = estate_privilege:statutes_of_piotrkow } + NOT = { has_estate_privilege = estate_privilege:statutes_of_piotrkow } + } + NOT = { has_estate_privilege = estate_privilege:ordinance_of_laborers } + } + can_revoke = { + # 10% довольствия (large) = 30% коронной мощи для отмены (сделано дороже для отката) + "estate_power(estate_type:crown_estate)" >= 0.30 + NOT = { has_estate_privilege = estate_privilege:land_owning_farmers } + } + country_modifier = { + # --- Политический вес и лояльность крестьянства (ФЛАГМАНСКАЯ ПРИВИЛЕГИЯ) --- + global_peasants_estate_power = 1.0 # +100% к влиянию крестьян (абсолютный политический сдвиг) + peasants_estate_target_satisfaction = large_privilege_target_satisfaction # +10% к довольствию крестьян + peasants_estate_max_tax = 0.1 # +10% к максимальному налогу (компенсация по формуле для влияния 1.0: свободные крестьяне платят короне) + + # --- Социальные и Экономические эффекты (Свобода и мобильность) --- + global_peasants_migration_allowed = yes # Разрешает миграцию крестьян + global_laborers_migration_allowed = yes # Разрешает миграцию рабочих + global_peasant_enfranchisment = 0.1 # +10% к правам крестьян + peasants_estate_allowed_to_build_rgo = yes # Разрешает крестьянам строить RGO + + # --- Штрафы Государству и Элите (Цена отмены крепостного права) --- + global_max_rural_control = -0.05 # -5% к максимальному контролю в сельской местности (мобильное свободное население сложнее контролировать напрямую) + nobles_estate_target_satisfaction = large_privilege_target_satisfaction_penalty # -10% к довольствию дворян (УВЕЛИЧЕНО: элита теряет бесплатную рабочую силу и феодальную власть) + + # --- Влияние на общественные ценности --- + monthly_towards_free_subjects = societal_value_large_monthly_move # Сильный сдвиг к свободе подданных + } +} + +peasants_represented_in_parliament = { + estate = peasants_estate + + potential = { + modifier:has_a_parliamentary_system = yes + } + allow = { + OR = { + parliament_type = parliament_type:estate_parliament + parliament_type = parliament_type:autocratic_parliament + parliament_type = parliament_type:constitutional_parliament + } + } + + can_revoke = { + NOT = { has_estate_privilege = estate_privilege:land_owning_farmers } + } + + country_modifier = { + peasants_estate_can_participate_in_parliament = yes + peasants_estate_target_satisfaction = large_privilege_target_satisfaction + global_peasants_estate_power = 0.5 + global_peasant_enfranchisment = 0.05 + monthly_towards_free_subjects = societal_value_monthly_move + } +} + +peasant_owns_their_food = { + estate = peasants_estate + + potential = { + } + allow = { + } + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_production_efficiency = medium_production_efficiency_penalty + global_peasants_estate_power = 0.2 + global_peasant_enfranchisment = 0.10 + monthly_towards_traditional_economy = societal_value_monthly_move + } +} + +peasants_fewer_levies = { + estate = peasants_estate + + potential = { + } + allow = { + } + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + peasants_estate_levy_size = -0.2 + global_peasants_estate_power = 0.33 + monthly_towards_free_subjects = societal_value_monthly_move + } + +} + +peasants_yeomanry = { + estate = peasants_estate + + potential = { + # blocked by yeomanry_advance + } + allow = { + } + can_revoke = { + } + + country_modifier = { + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + peasants_estate_levy_size = 0.20 + global_peasants_estate_power = 0.2 + monthly_towards_free_subjects = societal_value_monthly_move + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +peasants_allowed_weapons_privilege = { + estate = peasants_estate + + potential = { + } + allow = { + NOT = { has_estate_privilege = estate_privilege:tur_banned_weaponry_for_peasants } + } + can_revoke = { + } + + country_modifier = { + allow_peasants_training_grounds = yes + peasants_estate_levy_size = 0.25 + levy_combat_efficiency_modifier = 0.10 + levy_recovery_modifier = 0.1 + global_peasants_estate_power = 0.5 + global_peasant_enfranchisment = 0.10 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +peasants_protected_faith = { + estate = peasants_estate + allow = { + religious_unity < 0.66 + } + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.2 + global_peasants_conversion_blocked = yes + global_laborers_conversion_blocked = yes + global_soldiers_conversion_blocked = yes + + } + can_revoke = {} +} + +allow_hunting = { + estate = peasants_estate + + country_modifier = { + allow_peasants_hunting_grounds = yes + nobles_estate_target_satisfaction = small_privilege_target_satisfaction_penalty + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.25 + global_wild_game_output_modifier = 0.2 + monthly_towards_free_subjects = societal_value_minor_monthly_move + } +} + +no_labor_sunday = { + estate = peasants_estate + + potential = { + religion ?= { group = religion_group:christian } + } + + country_modifier = { + global_raw_material_output = -0.05 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.33 + } +} + +communal_lands = { + estate = peasants_estate + + country_modifier = { + monthly_towards_decentralization = societal_value_large_monthly_move + global_nobles_estate_power = -0.05 + global_peasant_enfranchisment = 0.10 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.33 + } +} + +partial_yield = { + estate = peasants_estate + + country_modifier = { + global_peasants_food_consumption = -0.1 + global_laborers_food_consumption = -0.1 + monthly_towards_free_subjects = societal_value_monthly_move + global_max_rgo_size_modifier_in_rural = -0.1 + global_peasants_estate_power = 0.33 + peasants_estate_target_satisfaction = large_privilege_target_satisfaction + } + +} + +access_to_royal_and_ecclesiastical_courts = { + estate = peasants_estate + + country_modifier = { + clergy_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + monthly_towards_communalism = societal_value_monthly_move + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.33 + } +} + +peasants_in_administration = { + estate = peasants_estate + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.5 + peasants_estate_allowed_in_cabinet = yes + global_peasant_enfranchisment = 0.05 + monthly_towards_decentralization = societal_value_monthly_move + } +} + +peasants_autonomous_villages = { + estate = peasants_estate + + country_modifier = { + monthly_towards_decentralization = societal_value_large_monthly_move + monthly_towards_free_subjects = societal_value_monthly_move + global_peasants_estate_power = 0.75 + rural_migration_attraction = 0.1 + local_max_rural_control = 0.1 + global_peasant_enfranchisment = 0.1 + peasants_estate_target_satisfaction = large_privilege_target_satisfaction + } +} + +#Unique privileges + +consolidated_corruption_of_the_peasants = { + estate = peasants_estate + + potential = { + has_estate_privilege = estate_privilege:consolidated_corruption_of_the_peasants + } + can_revoke = { + government_power > 95 + } + + country_modifier = { + global_production_efficiency = medium_production_efficiency_penalty + global_peasants_estate_power = 0.5 + global_manpower_modifier = -0.15 + } + + country_modifier = { + display_trigger = { + custom_description = { + text = has_sixty_books_of_the_basilika_trigger_text + has_bureaucracy_of_type = bureaucracy_type:sixty_books_of_the_basilika_bureaucracy + } + } + scale = { + value = { + value = 1 + if = { + limit = { has_variable = sixty_books_basilika_maintenance } + value = var:sixty_books_basilika_maintenance + } + } + multiply = -1.5 + add = 2 + } + peasants_estate_target_satisfaction = -0.1 + pure_tooltip_entry = sixty_books_basilika_satisfaction_scale_tt + } +} + +peasants_no_poll_tax_privilege = { + estate = peasants_estate + + potential = { + has_or_had_tag = ENG + } + allow = { + } + can_revoke = { + societal_value:serfdom_vs_free_subjects <= -20 + estate_satisfaction:peasants_estate >= 0.5 + } + + country_modifier = { + peasants_estate_max_tax = -0.25 + global_peasants_estate_power = 0.2 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_free_subjects = societal_value_monthly_move + } +} + +ara_sindicat_ara_remenca = { + estate = peasants_estate + + potential = { + has_variable = ara_sindicat_ara_remenca_flag + } + allow = { + } + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.2 + monthly_towards_free_subjects = societal_value_monthly_move + global_monthly_food_modifier = 0.1 + } +} + +creaghts_privilege = { + estate = peasants_estate + + potential = { + OR = { + culture ?= { has_culture_group = culture_group:hibernian_group } + has_reform = government_reform:celtic_traditions_reform + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + global_peasants_estate_power = -0.5 + global_peasants_migration_allowed = yes + global_migration_speed_modifier = 1.0 + global_livestock_output_modifier = 1.0 + monthly_towards_free_subjects = societal_value_large_monthly_move + monthly_towards_traditional_economy = societal_value_large_monthly_move + } +} + +masaniellos_fight = { + estate = peasants_estate + potential = { + has_variable = masaniellos_fight_flag + } + allow = { + } + can_revoke = { + "estate_power(estate_type:peasants_estate)" <= 0.08 + } + + country_modifier = { + peasants_estate_max_tax = -0.2 + global_peasants_estate_power = 0.1 + nobles_estate_target_satisfaction = large_privilege_target_satisfaction_penalty + peasants_estate_target_satisfaction = large_privilege_target_satisfaction + monthly_towards_free_subjects = societal_value_large_monthly_move + } +} + +double_sabbath = { + estate = peasants_estate + + potential = { + #This privilege can only be accessed through events (flavor_eth.200, flavor_eth.201) + has_variable = can_have_double_sabbath_flag + religion = religion:miaphysite + } + allow = { + } + can_revoke = { + custom_tooltip = { + text = can_revoke_double_sabbath_tt + OR = { + #The clergy is twice as powerfull as the peasants + "estate_power(estate_type:clergy_estate)" >= { + value = "estate_power(estate_type:peasants_estate)" + multiply = 2 + } + "estate_power(estate_type:peasants_estate)" <= 0.1 + } + } + } + + country_modifier = { + global_raw_material_output = -0.05 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.33 + } +} + +ius_teutonicum = { + estate = peasants_estate + + potential = { + culture ?= { has_culture_group = culture_group:bohemian_group } + } + + allow = { + } + + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.2 + peasants_estate_max_tax = -0.1 + wrong_culture_levy_size = 0.2 + nobles_estate_target_satisfaction = medium_privilege_target_satisfaction_penalty + } +} + +invite_german_settlers = { #Encourage German Migration + estate = peasants_estate + + potential = { #The culture of the country is German, but the main culture is not + + religion = religion:catholic + capital ?= { + OR = { + region = region:baltic_region + region = region:carpathia_region + area = area:baltic_area + area = area:bohemia_area + area = area:moravia_area + } + } + } + allow = { + NOT = {has_policy = closed_borders_law} #Incompatible + } + + can_revoke = { + } + + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.2 + peasants_estate_max_tax = -0.1 + enables_german_migration = yes + } + on_activate = { + custom_tooltip = invite_german_settlers.tt + } +} + +haudenosaunee_labor_division = { + estate = peasants_estate + + potential = { + culture ?= { has_culture_group = culture_group:haudenosaunee_group } + } + + allow = { + } + + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.33 + global_production_efficiency = medium_production_efficiency_bonus + monthly_towards_traditional_economy = societal_value_monthly_move + monthly_towards_communalism = societal_value_monthly_move + } +} + +mita_system = { + estate = peasants_estate + potential = { + culture ?= { has_culture_group = culture_group:andean_group } + } + allow = { + } + can_revoke = { + } + country_modifier = { + global_peasants_migration_allowed = yes + global_peasants_estate_power = 0.2 + global_build_buildings_efficiency = 0.2 + global_pop_assimilation_speed_modifier = 0.25 + monthly_towards_serfdom = societal_value_monthly_move + } +} + +gradozadanje_and_gradobljudenlje_rights = { + estate = peasants_estate + + potential = { + has_or_had_tag = SER + } + + country_modifier = { + fort_maintenance_efficiency = 0.2 + global_garrison_size_modifier = 0.1 + global_peasants_estate_power = 0.2 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +salt_tax_exemption = { + estate = peasants_estate + + potential = { + has_variable = mos_salt_tax_exemption_flag + } + allow = { + custom_tooltip = { + text = gained_access_to_this_privilege_tt + has_variable = mos_salt_tax_exemption_flag + } + } + can_revoke = { + exists = root.capital.market + goods:salt = { + price_in_market = { + market = root.capital.market + value <= 1.50 + } + } + } + + country_modifier = { + peasants_estate_max_tax = -0.1 + global_peasants_estate_power = 0.2 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + monthly_towards_mercantilism = societal_value_monthly_move + + } +} + +hab_tractatus_incorporalibus = { + estate = peasants_estate + + potential = { + has_variable = hab_tractatus_incorporalibus_granted + } + allow = { + custom_tooltip = { + text = gained_access_to_this_privilege_tt + has_variable = hab_tractatus_incorporalibus_granted + } + } + + country_modifier = { + expand_rgo_farming_cost_modifier = 0.2 + global_peasants_estate_power = 0.1 + monthly_towards_free_subjects = societal_value_monthly_move + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + } +} + +ayuntamientos = { + estate = peasants_estate + content_priority = 200 + potential = { + OR = { + has_or_had_tag = SPA + has_or_had_tag = CAS + } + } + + country_modifier = { + pop_join_rebel_threshold = 0.05 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.5 + } +} + +cas_caballeros_villanos = { + estate = peasants_estate + content_priority = 100 + potential = { + has_or_had_tag = CAS + } + allow = { + } + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.2 + global_pop_promotion_speed_modifier = 0.1 + monthly_towards_free_subjects = societal_value_monthly_move + } +} + +ukr_kholop_protection = { + estate = peasants_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = ukr_kholop_protection + } + } + allow = { + } + can_revoke = { + } + + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + global_peasants_estate_power = 0.25 + peasants_estate_max_tax = -0.05 + global_pop_promotion_speed_modifier = 0.1 + monthly_towards_free_subjects = societal_value_monthly_move + } +} + +land_owning_farmers = { + estate = peasants_estate + content_priority = 200 + potential = { + has_or_had_tag = SWE + } + allow = { + } + + can_revoke = { + "estate_power(estate_type:crown_estate)" > 0.66 + } + + country_modifier = { + levy_combat_efficiency_modifier = 0.05 + global_monthly_food_modifier = 0.1 + global_peasants_estate_power = 0.5 + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + + monthly_towards_free_subjects = societal_value_monthly_move + + } +} + +lat_compromise_with_greek_populace = { + estate = peasants_estate + potential = { + has_unlocked_estate_privilege_trigger = { type = lat_compromise_with_greek_populace } + NOT = { culture = culture:greek_culture } + } + allow = { + NOT = { culture = culture:greek_culture } + is_frankokratia_state = yes + religion = religion:catholic + } + + can_revoke = { + religious_unity > 0.50 + } + location_modifier = { + potential_trigger = { + dominant_religion ?= religion:orthodox + } + local_pop_conversion_speed_modifier = -1 + } + location_modifier = { + potential_trigger = { + dominant_culture ?= culture:greek_culture + } + local_pop_assimilation_speed_modifier = -0.25 + local_integration_speed = 0.10 + } + country_modifier = { + peasants_estate_target_satisfaction = medium_privilege_target_satisfaction + cultures_capacity = 2 + cultural_tradition_modifier = -0.15 + cultural_influence_modifier = -0.15 + global_nobles_city_desired_pop = -0.010 + tolerance_heretic = 3 + global_peasants_estate_power = 0.75 + } +} diff --git a/in_game/common/estate_privileges/readme.txt b/in_game/common/estate_privileges/readme.txt new file mode 100644 index 0000000..f877bc7 --- /dev/null +++ b/in_game/common/estate_privileges/readme.txt @@ -0,0 +1,20 @@ +# Estate Privileges +# +# A set of privileges that can be implemented for any of your estates. +# +# ATTRIBUTES +# +# - estate: the estate the privilege applies to +# - potential: trigger for whether the action is possible (root = country) +# - allow: trigger for whether the action can start (root = country) +# - years: +# - months: +# - weeks: +# - days: all used to define how long it takes to become fully implemented. Modifiers will be scaled by how much of this time is completed. +# - on_activate: fired when the action is chosen (root = country) +# - on_fully_activated: fired when the action's implementation reaches 100% (instant if there's no time delay) +# - on_deactivate: fired when the action is removed (root = country) +# - country_modifier: which is applied to whole countries +# - province_modifier: which is applied to provinces +# - location_modifier: which is applied to locations +# - can_revoke: trigger when you should be capable of removing an enacted privilege \ No newline at end of file diff --git a/in_game/common/estate_privileges/rov_clergy_estate.txt b/in_game/common/estate_privileges/rov_clergy_estate.txt new file mode 100644 index 0000000..63e78b0 --- /dev/null +++ b/in_game/common/estate_privileges/rov_clergy_estate.txt @@ -0,0 +1,25 @@ +clergy_literacy_rights = { + estate = clergy_estate + potential = { + has_advance = written_alphabet + } + allow = { + } + can_revoke = { + # 5% довольствия (medium) = 20% коронной мощи для отмены + "estate_power(estate_type:crown_estate)" >= 0.20 + } + country_modifier = { + # --- Инфраструктура и образование --- + allow_clerical_archives = yes # Разрешает строить церковные архивы + global_max_literacy = 2.5 # +2.5 к максимальной грамотности населения + + # --- Политический вес и лояльность духовенства --- + global_clergy_estate_power = 0.5 # +50% к влиянию духовенства (УВЕЛИЧЕНО) + clergy_estate_target_satisfaction = medium_privilege_target_satisfaction # +5% к довольствию духовенства + clergy_estate_max_tax = 0.05 # +5% к максимальному налогу (минимум для тира 0.5) + + # --- Влияние на общественные ценности --- + monthly_towards_traditionalist = societal_value_monthly_move + } +} \ No newline at end of file diff --git a/in_game/common/estate_privileges/tribes_estate.txt b/in_game/common/estate_privileges/tribes_estate.txt new file mode 100644 index 0000000..7969504 --- /dev/null +++ b/in_game/common/estate_privileges/tribes_estate.txt @@ -0,0 +1,207 @@ +#generic privileges +tribes_land_rights = { #oighreachd for the Scots + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribes_estate_power = 0.25 + monthly_towards_decentralization = societal_value_monthly_move + } +} + +tribes_allow_gatherings = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribes_estate_power = 0.25 + monthly_towards_communalism = societal_value_monthly_move + } +} + +tribes_pasture_access = { + estate = tribes_estate + + country_modifier = { + expand_rgo_farming_cost_modifier = -0.025 + global_tribes_estate_power = 0.2 + } +} + +tribes_tribal_levies = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = small_privilege_target_satisfaction + tribes_estate_levy_size = 0.3 + global_tribes_estate_power = 0.33 + } +} + +tribes_tribal_registry = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = small_privilege_target_satisfaction + global_tribesmen_pop_growth = 0.1 + global_tribes_estate_power = 0.5 + } +} + +tribes_protected_faith = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribal_promotion = -0.1 + global_tribes_estate_power = 0.5 + } +} + +tribes_respect_tribal_traditions = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + cultural_influence_modifier = -0.1 + global_tribes_estate_power = 0.33 + } +} + +tribes_creach = { #Scotland https://en.wikipedia.org/wiki/Scottish_clan + estate = tribes_estate + + potential = { culture ?= { has_culture_group = culture_group:scottish_group } } + + country_modifier = { + tribes_estate_target_satisfaction = small_privilege_target_satisfaction + global_livestock_output_modifier = 0.05 + global_tribes_estate_power = 0.25 + } +} + +tribes_fosterage = { + estate = tribes_estate + + potential = { culture ?= { has_culture_group = culture_group:scottish_group } } + + country_modifier = { + tribes_estate_target_satisfaction = small_privilege_target_satisfaction + research_speed_modifier = 0.02 + global_tribes_estate_power = 0.5 + } +} + +tribes_manrent = { + estate = tribes_estate + + potential = { culture ?= { has_culture_group = culture_group:scottish_group } } + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_defensive = 0.1 + global_tribes_estate_power = 0.5 + } +} + +tribes_scotland_gaelic_heritage = { + estate = tribes_estate + + potential = { + culture ?= { has_culture_group = culture_group:scottish_group } + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + NOT = { has_variable = preserved_clan_autonomy } + } + allow = { + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" > 0.33 + } + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribes_estate_power = 0.25 + global_monthly_control = -0.0010 + global_monthly_development = 0.002 + pure_tooltip_entry = gaelic_clans_pop_assignment_tt + } +} + +autonomous_tribes_scotland_gaelic_heritage = { + estate = tribes_estate + + potential = { + culture ?= { has_culture_group = culture_group:scottish_group } + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + has_variable = preserved_clan_autonomy + } + allow = { + NOT = { has_estate_privilege = estate_privilege:sco_statutes_of_iona } + } + can_revoke = { + "estate_power(estate_type:crown_estate)" > 0.33 + } + country_modifier = { + global_tribes_estate_power = -0.10 + global_monthly_control = 0.0005 + monthly_army_tradition = 0.2 + pure_tooltip_entry = gaelic_clans_pop_assignment_tt + } +} + +jaysh_armies = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + regiment_reinforcement_speed = 0.05 + monthly_towards_quantity = societal_value_monthly_move + global_tribes_estate_power = 0.5 + } +} + +tribes_in_administration = { + estate = tribes_estate + + country_modifier = { + tribes_estate_target_satisfaction = medium_privilege_target_satisfaction + global_tribes_estate_power = 0.5 + tribes_estate_allowed_in_cabinet = yes + monthly_towards_decentralization = societal_value_monthly_move + } +} + +local_tribal_strongholds = { + estate = tribes_estate + + potential = { + capital ?= { region = region:maghreb_region } + "estate_power(estate_type:tribes_estate)" > 0 + } + + country_modifier = { + global_max_rural_control = 0.05 + global_tribes_estate_power = 0.5 + } +} + +mch_tribal_favor = { + estate = tribes_estate + + potential = { + has_unlocked_estate_privilege_trigger = { + type = mch_tribal_favor + } + } + + country_modifier = { + global_tribes_estate_power = 0.25 + } + country_modifier = { + potential_trigger = { + NOT = { has_reform = government_reform:three_departments_system } + } + tribes_estate_target_satisfaction = medium_permanent_target_satisfaction + monthly_army_tradition = 0.1 + } +} \ No newline at end of file diff --git a/in_game/common/estates/00_default.txt b/in_game/common/estates/00_default.txt new file mode 100644 index 0000000..5eb397f --- /dev/null +++ b/in_game/common/estates/00_default.txt @@ -0,0 +1,1336 @@ + crown_estate = { + color = estate_crown + power_per_pop = 0 + tax_per_pop = 0 + rival = 0 + alliance = 0 + + revolt_court_language = court_language + + priority_for_dynasty_head = yes # when calculating a new dynasty head, the dynasty will check characters of this estate first before falling back to the other estates + + can_spawn_random_characters = no + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + #not shown for ruler-estate, and as satisfaction is always at max. + } + + + power = { + parliament_base_support = 0.5 + trade_income = 1.0 + monthly_political_influence_gain_modifier = 1.0 + country_cabinet_efficiency = 0.5 + diplomatic_reputation = 2 + power_projection = 5 + revoke_privilege_cost_modifier = -1 + estate_building_destruction_satisfaction_impact = -0.5 + change_policy_cost_modifier = -0.5 + monthly_legitimacy = 1.0 + + remove_bureaucracy_price_cost_modifier = -0.25 + maintain_bureaucracy_price_cost_modifier = -0.05 + global_estate_max_tax = 0.8 + + global_estate_target_satisfaction = crown_power_estate_satisfaction_impact + } + + ruler = yes + +} +bureaucrats_estate = { + color = estate_crown + tax_per_pop = 175 + revolt_court_language = court_language + characters_have_dynasty = sometimes + can_generate_mercenary_leaders = no + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + country_cabinet_efficiency = 0.50 + stability_cost_efficiency = 0.10 + } + + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + global_estate_max_tax = 0.10 + tax_income_efficiency = 0.10 + country_cabinet_efficiency = 0.20 + } + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + tax_income_efficiency = -0.10 + country_cabinet_efficiency = -0.10 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + } +} + +nobles_estate = { + color = pop_nobles + tax_per_pop = 150 + rival = -0.01 + alliance = 0.01 + + + + characters_have_dynasty = always # new characters always spawn with a dynasty + can_generate_mercenary_leaders = yes + bank = yes #can and will loan money + + revolt_court_language = court_language + + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + monthly_prestige = 0.2 + monthly_legitimacy = 0.2 + } + power = { + building_upkeep_multiplier= -1.0 + monthly_political_influence_gain_modifier = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + levy_combat_efficiency_modifier = 1.0 + fort_maintenance_efficiency = 1.0 + nobles_estate_max_tax = -1.0 + + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + nobles_estate_max_tax = 0.1 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + add = { + desc = "ESTATE_OPINION_PRESTIGE" + value = prestige + subtract = scope:target.prestige + multiply = 0.05 + } + + add = { + desc = "ESTATE_OPINION_POWER_PROJECTION" + value = power_projection + subtract = scope:target.power_projection + multiply = 0.1 + } + + add = { + desc = "aristocracy_vs_plutocracy" + value = { + value = scope:target.societal_value:aristocracy_vs_plutocracy + subtract = societal_value:aristocracy_vs_plutocracy + multiply = -1 + divide = 10 + } + } + + add = { + desc = "serfdom_vs_free_subjects" + value = { + value = scope:target.societal_value:serfdom_vs_free_subjects + subtract = societal_value:serfdom_vs_free_subjects + multiply = -1 + divide = 10 + } + } + + if = { + + limit = { + government_type = government_type:monarchy + scope:target = { government_type = government_type:monarchy } + } + add = { + desc = "ESTATE_OPINION_BOTH_MONARCHY" + value = 5 + } + } + + add = { + desc = "ESTATE_OPINION_TARGET_N_ESTATE_POWER" + value = "scope:target.estate_power(estate_type:nobles_estate)" + multiply = 5 + } + + add = { + desc = "ESTATE_OPINION_TARGET_DIPLOMATIC_REPUTATION" + value = scope:target.modifier:diplomatic_reputation + multiply = 0.25 + } + + if = { + limit = { + culture.cultural_influence < scope:target.culture.cultural_influence + } + + add = { + desc = "ESTATE_OPINION_HIGHER_CULTURE_INF" + value = 5 + } + } + + + if = { + limit = { + expected_army_size < scope:target.expected_army_size + } + add = { + desc = "ESTATE_OPINION_HIGHER_MIL_POWER" + value = -10 + } + } + + + if = { + limit = { + country_art_quality > scope:target.country_art_quality + } + + + add = { + desc = "ESTATE_OPINION_LOWER_ART" + value = -10 + } + } + + + + if = { + limit = { + is_neighbor_of = scope:target + } + + add = { + desc = "ESTATE_OPINION_NEIGHBOR" + value = -5 + } + } + + if = { + limit = { + court_language = scope:target.court_language + } + add = { + desc = "ESTATE_OPINION_SAME_COURT_LANGUAGE" + value = 5 + } + } + + if = { + limit = { + language = scope:target.court_language + } + add = { + desc = "ESTATE_OPINION_COURT_LANGUAGE_IS_OUR_COMMON_LANGUAGE" + value = 5 + } + } + + + if = { + limit = { + is_subject_of = scope:target + } + if = { + limit = { is_disloyal_subject = yes } + add = { + desc = "ESTATE_OPINION_SUBJECT_DISLOYAL" + value = -10 + } + } + else = { + add = { + desc = "ESTATE_OPINION_SUBJECT_LOYAL" + value = 10 + } + } + } + else_if = { + limit = { any_subject = { this = scope:target } } + if = { + limit = { + scope:target = { is_disloyal_subject = yes } + } + add = { + desc = "ESTATE_OPINION_SUBJECT_DISLOYAL" + value = -10 + } + } + else = { + add = { + desc = "ESTATE_OPINION_SUBJECT_LOYAL" + value = 10 + } + } + } + + if = { + limit = { + "estate(estate_type:nobles_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:nobles_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:nobles_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:nobles_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + + +clergy_estate = { + color = pop_clergy + tax_per_pop = 50 + rival = -0.01 + alliance = 0.01 + + revolt_court_language = liturgical_language + characters_have_dynasty = sometimes # new characters may spawn with a dynasty + can_generate_mercenary_leaders = no + + bank = yes #can and will loan money + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + research_speed_modifier = 0.5 + diplomatic_reputation = 2 + } + power = { + building_upkeep_multiplier= -1.0 + monthly_political_influence_gain_modifier = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + clergy_estate_max_tax = -0.50 + global_pop_conversion_speed_modifier = 2.0 + stability_cost_efficiency = 1 + monthly_towards_spiritualist = societal_value_significant_monthly_move + court_language_is_liturgical_language_importance_modifier = 12 + monthly_legitimacy = -0.2 + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + clergy_estate_max_tax = 0.1 + court_language_is_liturgical_language_importance_modifier = -6 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { + desc = "ESTATE_OPINION_TRUE_FAITH" + value = 10 + multiply = modifier:tolerance_own + } + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { + this != scope:target.religion + group = scope:target.religion.group + } + } + } + add = { + desc = "ESTATE_OPINION_HERETIC" + value = 10 + multiply = modifier:tolerance_heretic + } + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { group != scope:target.religion.group } + } + } + add = { + desc = "ESTATE_OPINION_HEATHEN" + value = 10 + multiply = modifier:tolerance_heathen + } + } + + + add = { + desc = "ESTATE_OPINION_TARGET_C_ESTATE_POWER" + value = "scope:target.estate_power(estate_type:clergy_estate)" + subtract = 0.15 + multiply = 6 + } + + + + if = { + limit = { + scope:target.religious_unity < 0.90 + } + add = { + desc = "ESTATE_OPINION_RELIGIOUS_UNITY" + value = 1 + subtract = scope:target.religious_unity + multiply = -10 + } + } + + + add = { + desc = "spiritualist_vs_humanist" + value = { + value = scope:target.societal_value:spiritualist_vs_humanist + subtract = societal_value:spiritualist_vs_humanist + multiply = -1 + divide = 10 + multiply = "religion.religious_view_impact(scope:target.religion)" + } + } + + + + + add = { + desc = "ESTATE_OPINION_TARGET_ADVANCED" + value = num_of_advances_researched + subtract = scope:target.num_of_advances_researched + multiply = -0.05 + max = 5 + } + + + if = { + limit = { + scope:target = { + government_type = government_type:theocracy + } + } + add = { + desc = "ESTATE_OPINION_THEOCRACY" + value = 5 + multiply = "religion.religious_view_impact(scope:target.religion)" + } + } + + + + if = { + limit = { + scope:target.liturgical_language ?= liturgical_language + } + add = { + desc = "ESTATE_OPINION_SAME_LITURGICAL" + value = 10 + } + } + + if = { + limit = { + scope:target.court_language ?= liturgical_language + } + add = { + desc = "ESTATE_OPINION_THEIR_COURT_LITURGICAL" + value = 10 + } + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + scope:target = { + has_reform =government_reform:papacy_reform + } + } + add = { + desc = "ESTATE_OPINION_HOLY_SEE" + value = 20 + } + } + + + + if = { + limit = { + OR = { + has_reform =government_reform:military_order_reform + has_estate_privilege = estate_privilege:clergy_military_orders + } + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + scope:target = { + OR = { + has_reform =government_reform:military_order_reform + has_estate_privilege = estate_privilege:clergy_military_orders + } + } + } + add = { + desc = "ESTATE_OPINION_BOTH_MIL_ORDERS" + value = 10 + } + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:clergy_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:clergy_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:clergy_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + + +burghers_estate = { + color = pop_burghers + tax_per_pop = 85 + rival = -0.01 + alliance = 0.01 + + revolt_court_language = common_language + characters_have_dynasty = sometimes # new characters may spawn with a dynasty + can_generate_mercenary_leaders = yes + + bank = yes #can and will loan money + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + global_merchant_power = 1.0 + global_production_efficiency = large_production_efficiency_bonus + } + power = { + building_upkeep_multiplier= -1.0 + monthly_political_influence_gain_modifier = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + burghers_estate_max_tax = -1.0 + global_merchant_capacity_modifier = 1.0 + navy_maintenance_efficiency = 0.5 + court_language_is_market_language_importance_modifier = 12 + monthly_legitimacy = -0.2 + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + burghers_estate_max_tax = 0.1 + court_language_is_market_language_importance_modifier = -6 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + + + + add = { + desc = "ESTATE_OPINION_TARGET_B_ESTATE_POWER" + value = "scope:target.estate_power(estate_type:burghers_estate)" + subtract = 0.2 + multiply = 5 + } + + + add = { + desc = "ESTATE_OPINION_MERCHANT_CAPACITY" + value = total_merchant_capacity + subtract = scope:target.total_merchant_capacity + multiply = 0.1 + max = 5 + min = -5 + } + + add = { + desc = "capital_economy_vs_traditional_economy" + value = { + value = scope:target.societal_value:capital_economy_vs_traditional_economy + subtract = societal_value:capital_economy_vs_traditional_economy + multiply = -1 + divide = 10 + } + } + + add = { + desc = "aristocracy_vs_plutocracy" + value = { + value = scope:target.societal_value:aristocracy_vs_plutocracy + subtract = societal_value:aristocracy_vs_plutocracy + divide = 10 + } + } + + add = { + desc = "mercantilism_vs_free_trade" + value = { + value = scope:target.societal_value:mercantilism_vs_free_trade + subtract = societal_value:mercantilism_vs_free_trade + divide = 10 + } + } + + + if = { + limit = { + capital.market.language = scope:target.capital.market.language + } + add = { + desc = "ESTATE_OPINION_OUR_MARKET_LANGUAGE" + value = 10 + } + } + + + if = { + limit = { + capital.market = { has_merchant = scope:target } + } + add = { + desc = "ESTATE_OPINION_MERCHANT_IN_CAPITAL" + value = -5 + } + } + + + if = { + limit = { + scope:target.capital.market = { has_merchant = root } + } + add = { + desc = "ESTATE_OPINION_OUR_MERCHANT_IN_THEIR_CAPITAL" + value = 10 + } + } + + + if = { + + limit = { + government_type = government_type:republic + scope:target = { government_type = government_type:republic } + } + add = { + desc = "ESTATE_OPINION_BOTH_REPUBLIC" + value = 5 + } + } + + + if = { + limit = { + is_embargoed_by = scope:target + } + add = { + desc = "ESTATE_OPINION_EMBARGOING_US" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:burghers_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:burghers_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:burghers_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:burghers_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + + +peasants_estate = { + color = pop_peasants + power_per_pop = 0.025 + tax_per_pop = 2.5 + rival = -0.01 + alliance = 0.01 + + disenfranchise_to = nobles_estate + + + bank = yes #can and will loan money + + revolt_court_language = common_language + characters_have_dynasty = never # new characters never spawn with a dynasty + use_diminutive = yes + can_generate_mercenary_leaders = yes + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + stability_cost_efficiency = 0.4 + global_monthly_food_modifier = 0.25 + levy_recovery_modifier = 0.5 + } + power = { + building_upkeep_multiplier= -1.0 + monthly_political_influence_gain_modifier = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + peasants_estate_max_tax = -0.25 + food_purchase_efficiency = 1 + global_estate_target_satisfaction = medium_permanent_target_satisfaction + monthly_towards_free_subjects = societal_value_significant_monthly_move + court_language_is_common_language_importance_modifier = 12 + monthly_legitimacy = -0.2 + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + peasants_estate_max_tax = 0.1 + court_language_is_common_language_importance_modifier = -6 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + + add = { + desc = "ESTATE_OPINION_TARGET_P_ESTATE_POWER" + value = "scope:target.estate_power(estate_type:peasants_estate)" + subtract = 0.2 + multiply = 5 + } + + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + dominant_religion ?= { + this != scope:target.religion + group = scope:target.religion.group + } + } + } + add = { + desc = "ESTATE_OPINION_HERETIC" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + dominant_religion ?= { group != scope:target.religion.group } + } + } + add = { + desc = "ESTATE_OPINION_HEATHEN" + value = -10 + } + } + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + NOT = { scope:target.culture = { has_shared_culture_group = prev.dominant_culture } } + } + } + add = { + desc = "ESTATE_OPINION_DIFFERENT_CULTURE_GROUP" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + exists = dominant_culture.language + scope:target.culture.language = dominant_culture.language + } + } + add = { + desc = "ESTATE_OPINION_SAME_COMMON_LANGUAGE" + value = 5 + } + } + + if = { + limit = { + is_rival_of = scope:target + } + add = { + desc = "ESTATE_OPINION_RIVAL" + value = -20 + } + } + + + if = { + limit = { + scope:target = { + has_reform = government_reform:peasant_republic_reform + } + } + add = { + desc = "ESTATE_OPINION_PEASANT_REPUBLIC" + value = 10 + } + } + + add = { + desc = "capital_economy_vs_traditional_economy" + value = { + value = scope:target.societal_value:capital_economy_vs_traditional_economy + subtract = societal_value:capital_economy_vs_traditional_economy + divide = 10 + } + } + + add = { + desc = "spiritualist_vs_humanist" + value = { + value = scope:target.societal_value:spiritualist_vs_humanist + subtract = societal_value:spiritualist_vs_humanist + divide = 10 + } + } + + add = { + desc = "serfdom_vs_free_subjects" + value = { + value = scope:target.societal_value:serfdom_vs_free_subjects + subtract = societal_value:serfdom_vs_free_subjects + divide = 10 + } + } + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:peasants_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:peasants_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:peasants_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + +dhimmi_estate = { + color = estate_dhimmi + power_per_pop = 0.02 + tax_per_pop = 1 + rival = -0.01 + alliance = 0.01 + can_generate_mercenary_leaders = no + + disenfranchise_to = nobles_estate + + revolt_court_language = common_language + characters_have_dynasty = never # new characters never spawn with a dynasty + use_diminutive = yes + + bank = yes #can and will loan money + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + tolerance_heathen = 2 + country_cabinet_efficiency = 0.1 + } + power = { + building_upkeep_multiplier= -1.0 + political_influence = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + dhimmi_estate_max_tax = -0.3 + monthly_towards_humanist = societal_value_significant_monthly_move + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + dhimmi_estate_max_tax = 0.5 + pop_join_rebel_threshold = -0.1 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + if = { + limit = { + "estate(estate_type:dhimmi_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:dhimmi_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:dhimmi_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:dhimmi_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + +tribes_estate = { + color = pop_tribes + power_per_pop = 0.01 + tax_per_pop = 0.01 + rival = -0.01 + alliance = 0.01 + can_generate_mercenary_leaders = yes + + revolt_court_language = common_language + characters_have_dynasty = never # new characters never spawn with a dynasty + use_diminutive = yes + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + global_raw_material_output = 0.05 + global_monthly_food_modifier = 0.10 + } + power = { + building_upkeep_multiplier= -1.0 + political_influence = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + global_raw_material_output = 0.1 + tribes_estate_max_tax = -0.3 + monthly_towards_traditional_economy = societal_value_significant_monthly_move + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + tribes_estate_max_tax = 0.5 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + + + + add = { + desc = "ESTATE_OPINION_TARGET_T_ESTATE_POWER" + value = "scope:target.estate_power(estate_type:tribes_estate)" + subtract = 0.2 + multiply = 5 + } + + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_religion + dominant_religion ?= { + this != scope:target.religion + group = scope:target.religion.group + } + } + } + add = { + desc = "ESTATE_OPINION_HERETIC" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_religion + dominant_religion ?= { group != scope:target.religion.group } + } + } + add = { + desc = "ESTATE_OPINION_HEATHEN" + value = -10 + } + } + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_culture + NOT = { scope:target.culture = { has_shared_culture_group = prev.dominant_culture } } + } + } + add = { + desc = "ESTATE_OPINION_DIFFERENT_CULTURE_GROUP" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_culture.language + scope:target.culture.language = dominant_culture.language + } + } + add = { + desc = "ESTATE_OPINION_SAME_COMMON_LANGUAGE" + value = 5 + } + } + + if = { + limit = { + is_rival_of = scope:target + } + add = { + desc = "ESTATE_OPINION_RIVAL" + value = -20 + } + } + + if = { + limit = { + scope:target = { + government_type = government_type:tribe + } + } + add = { + desc = "ESTATE_OPINION_TRIBE" + value = 10 + } + } + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_culture + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_culture + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_culture + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:tribes_estate)" = { + exists = dominant_religion + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } + +} + +cossacks_estate = { + color = map_cossack + power_per_pop = 0.5 + tax_per_pop = 0.02 + rival = -0.01 + alliance = 0.01 + + revolt_court_language = common_language + characters_have_dynasty = never # new characters never spawn with a dynasty + use_diminutive = yes + can_generate_mercenary_leaders = yes + + #multiplied with (satisfaction - LOW_SATISFACTION_THRESHOLD) + satisfaction = { + monthly_war_exhaustion = -0.05 + global_monthly_food_modifier = 0.10 + } + power = { + building_upkeep_multiplier= -1.0 + political_influence = -1.0 + } + #multiplied with (relative_power - LOW_POWER_THRESHOLD) if > LOW_POWER_THRESHOLD + high_power = { + cossacks_estate_max_tax = -0.3 + military_tactics = 0.1 + + monthly_towards_offensive = societal_value_significant_monthly_move + } + + + #multiplied with -(relative_power - LOW_POWER_THRESHOLD) if < LOW_POWER_THRESHOLD + low_power = { + cossacks_estate_max_tax = 0.5 + pop_join_rebel_threshold = -0.1 + } + + opinion = { + add = { + desc = "ESTATE_OPINION_BASE" + value = "opinion(scope:target)" + multiply = 0.05 + } + + if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + dominant_religion ?= { + this != scope:target.religion + group = scope:target.religion.group + } + } + } + add = { + desc = "ESTATE_OPINION_HERETIC" + value = -5 + } + } + + if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + dominant_religion ?= { group != scope:target.religion.group } + } + } + add = { + desc = "ESTATE_OPINION_HEATHEN" + value = -10 + } + } + + if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + scope:target.culture.language = dominant_culture.language + } + } + add = { + desc = "ESTATE_OPINION_SAME_COMMON_LANGUAGE" + value = 5 + } + } + + if = { + limit = { + is_rival_of = scope:target + } + add = { + desc = "ESTATE_OPINION_RIVAL" + value = -20 + } + } + + if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + dominant_culture ?= { this = scope:target.culture } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_CULTURE" value = 20 } + } + else_if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + scope:target = { has_accepted_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_ACCEPTED_ESTATE_CULTURE" value = 10 } + } + else_if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + scope:target = { has_tolerated_culture = prev.dominant_culture } + } + } + add = { desc = "ESTATE_OPINION_TOLERATED_ESTATE_CULTURE" value = 5 } + } + + if = { + limit = { + "estate(estate_type:cossacks_estate)" = { + dominant_religion ?= { this = scope:target.religion } + } + } + add = { desc = "ESTATE_OPINION_SAME_ESTATE_RELIGION" value = 20 } + } + + } +} + diff --git a/in_game/common/generic_actions/estate_emergency_actions.txt b/in_game/common/generic_actions/estate_emergency_actions.txt new file mode 100644 index 0000000..73a4496 --- /dev/null +++ b/in_game/common/generic_actions/estate_emergency_actions.txt @@ -0,0 +1,1092 @@ +ask_for_extra_levies = { + icon = ask_for_extra_levies + type = owncountry + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + any_estate = { + estate_tax_base > 0.01 + } + } + } + + allow = { + } + + cooldown = { + type = ask_for_extra_levies_cooldown + years = 5 + } + + price = price:ask_for_extra_levies + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_tax_base > 0.01 + } + } + + effect = { + scope:actor = { + add_country_modifier = { + modifier = estate_emergency_extra_levies + months = 12 + mode = add_and_extend + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + add_estate_satisfaction = { + type = scope:target.estate_type + value = -0.0625 + } + } + else = { + add_estate_satisfaction = { + type = scope:target.estate_type + value = -0.125 + } + } + } + } + + ai_prerequisite = { + at_war = yes + lowest_war_score < -10 + any_estate = { + satisfaction > 0.55 + } + } + + ai_will_do = { + add = -1 #base reluctance + + if = { + limit = { + scope:actor = { + at_war = yes + lowest_war_strength_balance < 0.6 + } + } + + add = { + value = 2 + desc = "we need more units for war" + } + } + } +} + + +extraordinary_taxes = { + icon = extraordinary_taxes + type = owncountry + estate_interaction_action = yes + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + any_estate = { + estate_tax_base > 0.01 + } + } + } + + allow = { + # ПОРОГ САБОТАЖА: нельзя обирать сословие, если его лояльность ниже 40% + scope:target = { + satisfaction >= 0.40 + } + + # НАКОПИТЕЛЬНЫЙ ГНЕВ: нельзя собирать налоги повторно, пока висит модификатор обиды + scope:target = { + NOT = { has_modifier = estate_forced_taxation_resentment } + NOT = { has_modifier = estate_forced_taxation_resentment_defensive } + } + } + + cooldown = { + type = extraordinary_taxes_cooldown + years = 5 + } + + price = price:extraordinary_taxes + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + # Catholic clergy is tax-free by religion definition (christian.txt: clergy_estate_max_tax = -1.0). + # Block the clergy target for Catholic actors so the +10% emergency modifier cannot bypass that rule. + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_tax_base > 0.01 + NOR = { + AND = { + estate_type = estate_type:clergy_estate + scope:actor = { religion = religion:catholic } + } + } + } + } + + effect = { + scope:actor = { + # === БАЗОВЫЙ ЭФФЕКТ: +10% к max_tax сословия на 12 месяцев === + if = { + limit = { scope:target = { estate_type = estate_type:nobles_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_nobles + months = 31 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:burghers_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_burghers + months = 31 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:clergy_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_clergy + months = 12 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:peasants_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_peasants + months = 31 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:tribes_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_tribes + months = 31 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:dhimmi_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_dhimmi + months = 31 + mode = add_and_extend + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:cossacks_estate } } + add_country_modifier = { + modifier = estate_emergency_taxes_cossacks + months = 31 + mode = add_and_extend + } + } + + # === НОВЫЕ 5-ЛЕТНИЕ УБЫВАЮЩИЕ ПОЛИТИЧЕСКИЕ ПОСЛЕДСТВИЯ === + + # 1. ЦЕЛЕВОЕ СОСЛОВИЕ: обида + потеря власти + scope:target = { + if = { + limit = { + scope:actor = { is_in_defensive_war = yes } + } + # В оборонительной войне: -10% лояльности за 5 лет (убывающий) + add_modifier = { + modifier = estate_forced_taxation_resentment_defensive + years = 5 + } + } + else = { + # Базовый случай: -20% лояльности за 5 лет (убывающий) + add_modifier = { + modifier = estate_forced_taxation_resentment + years = 5 + } + } + + # Потеря политического влияния: -10% власти на 5 лет (убывающий) + add_modifier = { + modifier = estate_forced_taxation_weakened + years = 5 + } + } + + # 2. ОСТАЛЬНЫЕ СОСЛОВИЯ: тревога от действий короля (-5% лояльности за 5 лет, убывающий) + every_estate = { + limit = { + always_loyal = no + NOT = { estate_type = scope:target.estate_type } + } + add_modifier = { + modifier = estate_taxation_anxiety + years = 5 + } + } + } + } + + ai_prerequisite = { + OR = { + AND = { + monthly_balance < -2 + gold < 100 + } + AND = { + at_war = yes + gold < 10 + } + } + any_estate = { satisfaction > 0.55 } + political_influence >= 100 + } + + ai_will_do = { + if = { + limit = { + exists = scope:target + scope:target = { satisfaction > 0.55 } + scope:actor = { + OR = { + AND = { monthly_balance < -2 gold < 100 } + AND = { at_war = yes gold < 10 } + } + } + } + if = { + limit = { scope:actor = { monthly_balance < 0 } } + subtract = { + desc = "Monthly deficit" + value = scope:actor.monthly_balance + } + } + if = { + limit = { scope:actor = { at_war = yes lowest_war_score < 0 } } + add = { desc = "At war and losing" value = 15 } + } + add = { + desc = "Estate satisfaction buffer" + value = scope:target.satisfaction + multiply = 20 + } + if = { + limit = { scope:target = { satisfaction < 0.55 } } + multiply = 0 + } + } + } +} + + +ask_clergy_for_legitimacy = { + icon = ask_clergy_for_legitimacy + type = owncountry + estate_reward_action = clergy_estate + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + country_has_estate = estate_type:clergy_estate + } + scope:target ?= { + estate_type = estate_type:clergy_estate + } + } + + allow = { + scope:actor = { + has_ruler = yes + ruler = { + custom_tooltip = { + text = ask_clergy_for_legitimacy_ruler_tt + not = { has_variable = endorsed_by_clergy } + } + } + } + } + + cooldown = { + type = estate_emergency_favor_cooldown + years = 5 + } + + price = price:ask_clergy_for_legitimacy + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_type = estate_type:clergy_estate + } + } + + effect = { + scope:actor = { + add_legitimacy = legitimacy_severe_bonus + add_estate_satisfaction = { + type = scope:target.estate_type + value = -0.075 + } + ruler = { + set_variable = endorsed_by_clergy + } + } + } + + ai_prerequisite = { + legitimacy < 25 + "estate_satisfaction:clergy_estate" > 0.55 + } + + ai_will_do = { + if = { + limit = { + scope:actor = { + legitimacy < 25 + "estate_satisfaction:clergy_estate" > 0.55 + } + } + + add = { + desc = "Legitimacy deficit" + value = 25 + subtract = scope:actor.legitimacy + } + + if = { + limit = { scope:actor = { "estate_satisfaction:clergy_estate" < 0.55 } } + multiply = 0 + } + } + } +} + + +ask_nobility_for_diplomats = { + icon = ask_nobility_for_diplomats + type = owncountry + estate_reward_action = nobles_estate + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 90 + automation_tick = never + + cooldown = { + type = estate_emergency_favor_cooldown + years = 5 + } + + price = price:ask_nobility_for_diplomats + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + potential = { + scope:actor = { + country_has_estate = estate_type:nobles_estate + } + scope:target ?= { + estate_type = estate_type:nobles_estate + } + } + + allow = { + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_type = estate_type:nobles_estate + } + } + + effect = { + scope:actor = { + add_diplomats = 5 + add_estate_satisfaction = { + type = scope:target.estate_type + value = -0.1 + } + } + } + + ai_prerequisite = { + num_of_diplomats <= 1 + "estate_satisfaction:nobles_estate" > 0.55 + } + + ai_will_do = { + if = { + limit = { + scope:actor = { + num_of_diplomats <= 1 + "estate_satisfaction:nobles_estate" > 0.55 + } + } + + add = { + desc = "Diplomat shortage" + value = 3 + subtract = scope:actor.num_of_diplomats + multiply = 5 + } + + if = { + limit = { scope:actor = { "estate_satisfaction:nobles_estate" < 0.55 } } + multiply = 0 + } + } + } +} + + +ask_burghers_for_loan = { + icon = ask_burghers_for_loan + type = owncountry + estate_reward_action = burghers_estate + estate_interaction_action = yes + + # ai_tick = never — AI bailout still goes through take_estate_loan (real loans against + # RemainingLoanCapacity), because the AI needs more headroom than the burgher pool + # can typically spare. The grant is a player-only convenience. + ai_tick = never + automation_tick = never + + potential = { + scope:actor = { + country_has_estate = estate_type:burghers_estate + } + scope:target ?= { + estate_type = estate_type:burghers_estate + } + } + + # Burghers must have enough gold to make the grant worthwhile. The C++ effect first caps the + # transfer at BURGHER_GRANT_MAX_FRACTION of the pool, THEN refuses to pay out anything below the + # BURGHER_GRANT_MIN_TRANSFER floor. So the break-even pool is MIN_TRANSFER / MAX_FRACTION + # (5.0 / 0.5 = 10.0): below it the capped amount falls under the floor and the grant no-ops to + # 0.00. Gating directly on MIN_TRANSFER (the old behavior) let pools of 5-10 pass the gate yet + # still transfer nothing. Deriving the threshold from both defines keeps the gate synced if + # either is retuned. + allow = { + scope:actor = { + any_estate = { + estate_type = estate_type:burghers_estate + estate_gold >= { + value = "define:NEconomy|BURGHER_GRANT_MIN_TRANSFER" + divide = "define:NEconomy|BURGHER_GRANT_MAX_FRACTION" + } + } + } + } + + cooldown = { + type = estate_emergency_favor_cooldown + years = 5 + } + + price = price:ask_burghers_for_loan + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_type = estate_type:burghers_estate + } + } + + # Burghers pay from their own treasury (capped at BURGHER_GRANT_MAX_FRACTION of their pool in C++). + # No loan, no interest, no impact on country loan capacity — the bankruptcy spiral the legacy + # create_estate_loan caused is gone with it. Requested amount is the legacy 12x trickle for parity + # with the old payout ceiling; the C++ cap kicks in when the burghers cannot afford that much. + effect = { + scope:actor = { + transfer_gold_from_estate = { + estate_type = estate_type:burghers_estate + value = { + value = country_estate_loan_size + multiply = 6 + } + } + add_estate_satisfaction = { + type = estate_type:burghers_estate + value = -0.15 + } + } + } +} + + +ask_commoners_for_stability = { + icon = ask_commoners_for_stability + type = owncountry + estate_reward_action = peasants_estate + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + OR = { + country_has_estate = estate_type:peasants_estate + country_has_estate = estate_type:dhimmi_estate + } + } + scope:target ?= { + OR = { + estate_type = estate_type:peasants_estate + estate_type = estate_type:dhimmi_estate + } + } + } + + allow = { + } + + cooldown = { + type = estate_emergency_favor_cooldown + years = 5 + } + + price = price:ask_commoners_for_stability + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + OR = { + estate_type = estate_type:peasants_estate + estate_type = estate_type:dhimmi_estate + } + } + } + + effect = { + scope:actor = { + add_stability = { + value = 10 + multiply = { + value = societal_value:serfdom_vs_free_subjects + multiply = 0.005 + add = 1 + } + } + if = { + limit = { scope:target = { estate_type = estate_type:peasants_estate } } + add_estate_satisfaction = { + type = estate_type:peasants_estate + value = -0.15 + } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:dhimmi_estate } } + add_estate_satisfaction = { + type = estate_type:dhimmi_estate + value = -0.15 + } + } + } + } + + ai_prerequisite = { + stability < 10 + OR = { + "estate_satisfaction:peasants_estate" > 0.55 + "estate_satisfaction:dhimmi_estate" > 0.55 + } + } + + ai_will_do = { + if = { + limit = { + scope:actor = { + stability < 10 + OR = { + "estate_satisfaction:peasants_estate" > 0.55 + "estate_satisfaction:dhimmi_estate" > 0.55 + } + } + } + + add = { + desc = "Stability deficit" + value = 10 + subtract = scope:actor.stability + } + + if = { + limit = { + scope:actor = { + "estate_satisfaction:peasants_estate" < 0.55 + "estate_satisfaction:dhimmi_estate" < 0.55 + } + } + multiply = 0 + } + } + } +} + + +ask_tribes_for_manpower = { + icon = ask_tribes_for_manpower + type = owncountry + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + OR = { + country_has_estate = estate_type:tribes_estate + country_has_estate = estate_type:cossacks_estate + } + + monthly_manpower > 0 + } + scope:target ?= { + OR = { + estate_type = estate_type:tribes_estate + estate_type = estate_type:cossacks_estate + } + } + } + + allow = { + } + + cooldown = { + type = estate_emergency_favor_cooldown + years = 5 + } + + price = price:ask_tribes_for_manpower + price_modifier = { + add = { + value = 1 + desc = BASE_VALUE + } + if = { + limit = { + scope:actor = { + is_in_defensive_war = yes + } + } + multiply = { + value = 0.5 + desc = estate_emergency_war_defender_discount + } + } + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + OR = { + estate_type = estate_type:tribes_estate + estate_type = estate_type:cossacks_estate + } + } + } + + effect = { + scope:actor = { + add_manpower = { + value = scope:actor.monthly_manpower + multiply = 12 + } + add_estate_satisfaction = { + type = scope:target.estate_type + value = -0.20 + } + } + } + + ai_prerequisite = { + at_war = yes + max_manpower < 5 + OR = { + "estate_satisfaction:tribes_estate" > 0.55 + "estate_satisfaction:cossacks_estate" > 0.55 + } + } + + ai_will_do = { + if = { + limit = { + scope:actor = { + at_war = yes + max_manpower < 5 + } + } + + add = { + desc = "Manpower shortage" + value = 5 + subtract = scope:actor.max_manpower + } + + if = { + limit = { scope:actor = { lowest_war_score < -10 } } + add = { desc = "Losing war" value = 15 } + } + + if = { + limit = { + scope:actor = { + "estate_satisfaction:tribes_estate" < 0.55 + "estate_satisfaction:cossacks_estate" < 0.55 + } + } + multiply = 0 + } + } + } +} + + +call_emergency_parliament = { + icon = call_emergency_parliament + type = owncountry + estate_interaction_action = yes + + ai_tick = never + automation_tick = never + + potential = { + scope:actor = { + has_parliament = yes + } + } + + allow = { + scope:actor = { + is_active_parliament = no + months_since_last_parliament_called <= "define:NCountry|PARLIAMENT_COOLDOWN_MONTHS" + at_war = yes + NOT = { + modifier:parliament_abolished = yes + modifier:has_a_parliamentary_system = no + } + } + } + + cooldown = { + type = call_emergency_parliament_cooldown + years = 5 + } + + select_trigger = { + looking_for_a = parliament_issue + interaction_source_list = { + scope:actor = { + every_possible_parliament_issue = { + add_to_list = source + } + } + } + cache_interaction_source_list = yes + cache_targets = yes + target_flag = parliament_issue + name = "select_parliament_debate" + none_available_msg_key = "select_parliament_debate_none_available" + column = { + data = parliament_issue_widget + } + visible = { + is_available_for = scope:actor + } + } + + effect = { + scope:actor = { + set_parliament_location = scope:actor.capital + set_parliament_active = yes + if = { + limit = { exists = scope:parliament_issue } + set_parliament_issue = scope:parliament_issue + set_parliament_issue_support = { + add = { + desc = parliament_base_support + value = modifier:parliament_base_support + } + if = { + limit = { + scope:parliament_issue.estate_type = { + always_loyal = no + } + } + add = { + desc = estate_power + value = "estate_power(scope:parliament_issue.estate_type)" + } + } + } + } + add_legitimacy = legitimacy_mild_penalty + add_political_influence = political_influence_severe_penalty + } + } +} + +press_estate_private_regiments_action = { + icon = press_estate_private_regiments_action + type = owncountry + estate_interaction_action = yes + + ai_tick = daily + ai_tick_frequency = 180 + automation_tick = never + + potential = { + scope:actor = { + OR = { + has_estate_privilege = estate_privilege:noble_private_armies_privilege + has_estate_privilege = estate_privilege:cossack_private_armies_privilege + } + } + } + + allow = { + scope:actor = { + any_estate = { + estate_unraised_regiment_count >= 1 + } + } + } + + cooldown = { + type = press_estate_private_regiments_cooldown + years = 3 + } + + select_trigger = { + looking_for_a = estate + source = actor + target_flag = target + name = "mission_select_estate" + column = { + data = name + } + enabled = { + estate_unraised_regiment_count >= 1 + } + } + + effect = { + scope:actor = { + add_legitimacy = legitimacy_mild_penalty + if = { + limit = { scope:target = { estate_type = estate_type:nobles_estate } } + press_estate_private_regiments = { estate = estate_type:nobles_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:cossacks_estate } } + press_estate_private_regiments = { estate = estate_type:cossacks_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:burghers_estate } } + press_estate_private_regiments = { estate = estate_type:burghers_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:clergy_estate } } + press_estate_private_regiments = { estate = estate_type:clergy_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:peasants_estate } } + press_estate_private_regiments = { estate = estate_type:peasants_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:tribes_estate } } + press_estate_private_regiments = { estate = estate_type:tribes_estate } + } + else_if = { + limit = { scope:target = { estate_type = estate_type:dhimmi_estate } } + press_estate_private_regiments = { estate = estate_type:dhimmi_estate } + } + add_political_influence = political_influence_extreme_penalty + } + } + + ai_prerequisite = { + at_war = yes + any_estate = { + estate_unraised_regiment_count >= 1 + } + } + + ai_will_do = { + if = { + limit = { + exists = scope:target + scope:actor = { + at_war = yes + lowest_war_strength_balance < 0.6 + } + } + add = { desc = "At war with low balance" value = 20 } + } + } +} diff --git a/in_game/common/generic_actions/parliament.txt b/in_game/common/generic_actions/parliament.txt new file mode 100644 index 0000000..a530fdf --- /dev/null +++ b/in_game/common/generic_actions/parliament.txt @@ -0,0 +1,1406 @@ + +call_parliament = { + type = owncountry + + + ai_tick = never + automation_tick = never + player_automated_category = parliament + + allow = { + scope:actor = { + is_active_parliament = no + months_since_last_parliament_called > "define:NCountry|PARLIAMENT_COOLDOWN_MONTHS" + NOT = { + modifier:parliament_abolished = yes + modifier:has_a_parliamentary_system = no + } + } + } + + select_trigger = { + show_if = { + scope:actor = { + NOR = { + country_type = building + country_type = pop + } + modifier:permanent_parliament_location = no + } + } + + looking_for_a = location + source = actor + ai_interaction_source_list = { + scope:actor = { + capital = { + add_to_list = source + } + } + } + target_flag = parliament_location + name = "select_parliament_location" + none_available_msg_key = "call_parliament_no_locations" + column = { + data = rank + } + column = { + data = name_no_rank + } + column = { + data = population + } + column = { + data = control + } + visible = { + has_owner = yes + owner ?= scope:actor + controller ?= scope:actor + local_control > 0 + OR = { + is_capital = yes + AND = { + OR = { + is_core_of = scope:actor + modifier:has_parliament_seat = yes + } + OR = { + is_province_capital = yes + has_fort = yes + } + OR = { + is_city = yes + scope:actor = { modifier:can_call_rural_parliaments = yes } + } + } + } + } + } + + select_trigger = { + looking_for_a = parliament_issue + interaction_source_list = { + scope:actor = { + every_possible_parliament_issue = { + add_to_list = source + } + } + } + ai_interaction_source_list = { + scope:actor = { + every_possible_parliament_issue = { + if = { + limit = { + "ai_parliament_issue_resolution_vote_bias(scope:actor)" >= 0 + } + add_to_list = source + } + } + } + } + cache_interaction_source_list = yes + cache_targets = yes + target_flag = parliament_issue + name = "select_parliament_debate" + none_available_msg_key = "select_parliament_debate_none_available" + column = { + data = parliament_issue_widget + } + visible = { + is_available_for = scope:actor + } + } + + effect = { + scope:actor = { + if = { + limit = { + exists = scope:parliament_location + } + + set_parliament_location = scope:parliament_location + custom_tooltip = { + text = select_parliament_location_modifier_tooltip + } + + if = { + limit = { scope:parliament_location = scope:actor.capital } + custom_tooltip = { + text = select_parliament_location_capital_modifier_tooltip + } + } + else = { + custom_tooltip = { + text = select_parliament_location_not_capital_modifier_tooltip + } + } + scope:parliament_location = { + add_location_modifier = { + modifier = parliament_location + mode = replace + days = 180 + } + } + } + else = { + custom_tooltip = select_parliament_location_inform_choice_tt + set_parliament_location = scope:actor.capital + scope:actor.capital = { + add_location_modifier = { + modifier = parliament_location + mode = replace + days = 180 + } + } + } + + + set_parliament_active = yes + + if = { + limit = { exists = scope:parliament_issue } + set_parliament_issue = scope:parliament_issue + set_parliament_issue_support = { + add = { + desc = parliament_base_support + value = modifier:parliament_base_support + } + if = { + limit = { + scope:parliament_issue.estate_type = { + always_loyal = no + } + } + add = { + desc = estate_power + value = "estate_power(scope:parliament_issue.estate_type)" + } + } + } + } + } + } + + ai_will_do = { + add = { + if = { + limit = { + scope:actor = { + months_since_last_parliament_called < 72 + stability < 0 + } + } + value = -10000 + } + + if = { + limit = { + scope:actor = { + months_since_last_parliament_called > 120 + } + } + value = 500 + } + + #Wants to get a CB out of parliament + if = { + limit = { + scope:actor = { + OR = { + any_neighbor_country = { + scope:actor = { + wants_casus_belli_with = prev + } + } + any_rival = { + scope:actor = { + wants_casus_belli_with = prev + } + } + } + } + } + value = 100 + } + } + + scope:actor = { + if = { + limit = { + exists = scope:parliament_issue + } + add = "parliament_issue_chance(scope:parliament_issue)" + add = "object_bias(scope:parliament_issue)" + } + } + if = { + limit = { + exists = scope:parliament_location + } + scope:parliament_location = { + save_temporary_scope_as = this_parliament_location + } + } + else = { + scope:actor = { + capital = { + save_temporary_scope_as = this_parliament_location + } + } + } + + multiply = { + scope:this_parliament_location = { + if = { + limit = { + scope:actor = { + capital = scope:this_parliament_location + modifier:can_call_rural_parliaments = no + } + } + value = 30 + } + else = { + value = proximity # proximity goes from 0 to 100 + add = { + value = local_control # control goes from 0 to 1 + multiply = 10 + } + add = { + value = scope:actor.societal_value:centralization_vs_decentralization + multiply = 0.1 + } + + add = { + value = random_integer + modulo = 10 + } + } + + if = { + limit = { location_rank = location_rank:town } + add = 2 + } + else_if = { + limit = { OR = { location_rank = location_rank:city location_rank = location_rank:megalopolis } } + add = 10 + } + + add = { + value = modifier:fort_level + multiply = 2 + } + } + } + } +} + + +request_more_taxes = { + type = parliament + + sound = PARLIAMENT_REQUEST_MORE_TAXES + + ai_tick = daily + ai_tick_frequency = 100 + + + automation_tick = daily + automation_tick_frequency = 1 + player_automated_category = parliament + + + allow = { + scope:actor = { + is_active_parliament = yes + NOT = { has_country_modifier = parliament_approved_extra_taxes } + parliament_issue_support > modifier:parliament_request_issue_support_needed + } + } + + effect = { + scope:actor = { + add_country_modifier = { modifier = parliament_approved_extra_taxes years = 1 mode = add_and_extend } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + add = { + if = { + limit = { + scope:actor = { + OR = { + parliament_issue_support > 0.9 + stability >= 20 + } + higher_temporary_taxes_needed >= 0.05 + NOT = { + any_country_in_diplomatic_range = { + scope:actor = { + wants_casus_belli_with = prev + } + NOT = { + has_target_casus_belli_on_us = scope:actor + } + } + } + } + } + value = 10 + } + } + } +} + + +prepare_for_war = { + type = parliament + show_message_to_target = no + + sound = PARLIAMENT_PREPARE_FOR_WAR + + ai_tick = daily + ai_tick_frequency = 30 + automation_tick = daily + automation_tick_frequency = 7 + player_automated_category = parliament + + + allow = { + scope:actor = { + country_type = location + is_active_parliament = yes + parliament_issue_support > { + value = parliament_request_support + } + } + } + + select_trigger = { + looking_for_a = country + ai_interaction_source_list = { + scope:actor = { + every_country_wants_casus_belli_with = { + limit = { + NOT = { this = scope:actor } + scope:actor = { + NOT = { + has_casus_belli_of_type_on = { + type = casus_belli:cb_parliament_conquer_province + target = prev + } + is_at_war_with = prev + } + } + } + add_to_list = source + } + every_country_wants_to_attack = { + limit = { + NOT = { this = scope:actor } + scope:actor = { + NOT = { + has_casus_belli_on = prev + is_at_war_with = prev + } + } + } + add_to_list = source + } + if = { + limit = { + scope:actor = { + OR = { + ai_personality = ai_personality:ai_expansionist + ai_personality = ai_personality:ai_aggressive + } + } + } + every_potential_expansion_target = { #Countries we want some CBs against + limit = { + scope:actor = { + NOT = { + has_casus_belli_on = prev + is_at_war_with = prev + } + } + } + add_to_list = source + } + } + } + } + target_flag = target + pre_evaluation_sort_value = { + if = { + limit = { + scope:target ?= { + is_rival_of = scope:actor + } + } + add = { + desc = "game_concept_rival" + value = 100 + } + } + if = { + limit = { + exists = scope:actor + exists = scope:target + } + subtract = { + desc = "OUR_OPINION_TOOLTIP" + value = "scope:actor.opinion(scope:target)" + divide = 10 + } + } + } + pre_evaluation_number_to_evaluate_fully = 1 + name = "prepare_for_war_select_title" + none_available_msg_key = "prepare_for_war_no_countries" + column = { + data = name + } + column = { + data = population + } + visible = { + NOT = { has_target_casus_belli_on_us = root } + NOT = { has_truce_with = scope:actor } + NOT = { is_subject_of = scope:actor } + is_rebel_country = no + scope:actor = { + within_diplomatic_range = root + } + capital ?= { + is_discovered_by = scope:actor + } + } + } + + select_trigger = { + looking_for_a = province + source = target + target_flag = target_province + pre_evaluation_sort_value = { + add = { + value = { + capital = { + add = { + value = "border_distance_to(scope:actor)" # capital location only — one cache lookup vs O(locations_per_province) + multiply = -10 + } + } + } + } + + add = province_tax_base + } + pre_evaluation_number_to_evaluate_fully = 1 + name = "prepare_for_war_select_province_title" + none_available_msg_key = "no_valid_provinces" + column = { + data = name + } + column = { + data = population + } + column = { + data = province_our_primary_culture_percentage + } + column = { + data = province_tax_base + } + } + + effect = { + scope:actor = { + if = { + limit = { exists = scope:target exists = scope:target_province } + add_casus_belli = { + target = scope:target + type = casus_belli:cb_parliament_conquer_province + province = scope:target_province + } + } + else = { custom_tooltip = select_a_country_to_get_casus_belli_on } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + # we are aggressive and dont have any CBs + if = { + limit = { + or = { + scope:actor = { ai_personality = ai_personality:ai_expansionist } + scope:actor = { ai_personality = ai_personality:ai_aggressive } + } + scope:actor.num_cbs < 1 + } + + add = { + value = 100 + desc = "we want CBs" + } + } + + # we want to attack specifically this target and we dont have any CBs, or we want a CB + if = { + limit = { + scope:actor = { + or = { + and = { + wants_to_attack = scope:target + not = { + scope:actor = { has_casus_belli_on = scope:target_country } + } + } + wants_casus_belli_with = scope:target + } + } + } + + add = { + value = 1000 + desc = "we want to attack" + } + } + + add = { + value = -1 + desc = "base reluctance" + } + } +} + +ask_for_larger_levies = { + type = parliament + + sound = PARLIAMENT_ASK_FOR_LARGER_LEVIES + + ai_tick = daily + ai_tick_frequency = 100 + automation_tick = daily + automation_tick_frequency = 7 + player_automated_category = parliament + + allow = { + scope:actor = { + is_active_parliament = yes + NOT = { has_country_modifier = parliament_approved_extra_levies } + parliament_issue_support > modifier:parliament_request_issue_support_needed + } + } + + effect = { + scope:actor = { + add_country_modifier = { modifier = parliament_approved_extra_levies years = 3 mode = add_and_extend } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + #Base + subtract = { + value = 1 + } + + + add = { + if = { + limit = { + scope:actor = { + OR = { + is_in_losing_war = yes + AND = { + at_war = yes + stability >= 10 + } + } + } + } + value = 2 + } + } + + } +} + +ask_for_law_changes = { + type = parliament + + sound = PARLIAMENT_ASK_FOR_LAW_CHANGES + + ai_tick = daily + ai_tick_frequency = 100 + automation_tick = daily + automation_tick_frequency = 7 + player_automated_category = parliament + + ai_prerequisite = { + discount_needed_for_law_change > 0 + has_ai_preferred_parliament_law_change = yes + } + + allow = { + scope:actor = { + is_active_parliament = yes + parliament_issue_support > modifier:parliament_request_issue_support_needed + } + } + + select_trigger = { + looking_for_a = law + interaction_source_list = { + scope:actor = { + every_current_law = { + limit = { NOT = { is_locked_for = scope:actor } } + add_to_list = source + } + } + } + ai_interaction_source_list = { + scope:actor = { + every_current_law = { + limit = { + NOT = { is_locked_for = scope:actor } + is_ai_preferred_parliament_change_law = scope:actor + } + add_to_list = source + } + } + } + cache_interaction_source_list = yes + target_flag = target_law + name = "ask_for_law_changes_select_law_title" + none_available_msg_key = "no_valid_laws" + column = { + data = law_attribute_column + } + } + + select_trigger = { + looking_for_a = policy + interaction_source_list = { + scope:target_law = { + every_policy_in_law = { + limit = { + policy_possible_for_country = scope:actor + } + add_to_list = source + } + } + } + ai_interaction_source_list = { + scope:target_law = { + every_policy_in_law = { + limit = { is_ai_preferred_parliament_change_policy = scope:actor } + add_to_list = source + } + } + } + target_flag = target_policy + name = "ask_for_law_changes_select_policies_title" + none_available_msg_key = "no_valid_policies" + top_widget = law_card_header_at_parlaiment_policy_select + column = { + data = policy_name_desc + } + } + + effect = { + scope:actor = { + if = { + limit = { + exists = scope:target_law + exists = scope:target_policy + } + add_policy = scope:target_policy + } + else = { + custom_tooltip = ask_for_law_changes_select_law_title + } + pay_scaled_price = { + price = price:change_policy + scale = 0.2 + reason = ask_for_law_changes_price_reason + } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + add = { + value = 250 + desc = "PREFERRED_LAW_CHANGE" + } + add = { + value = "scope:actor.policy_utility(scope:target_law|scope:target_policy|yes)" + } + } +} + + + +change_parliament_type = { + type = owncountry + + allow = { + scope:actor = { + is_active_parliament = no + modifier:parliament_abolished = no + } + } + + price = price:change_parliament_type + + select_trigger = { + looking_for_a = parliament_type + source = actor + target_flag = parliament_type + name = "select_parliament_type" + none_available_msg_key = "change_parliament_type_no_types" + top_widget = parliament_Type_context_widget + column = { + data = parliament_type_widget + } + visible = { + is_visible_for = scope:actor + } + enabled = { + is_allowed_for = scope:actor + } + } + + effect = { + scope:actor = { + if = { + limit = { + exists = scope:parliament_type + } + set_parliament_type = scope:parliament_type + } + } + } + + ai_tick = never #done in code + + automation_tick = daily + automation_tick_frequency = 365 + player_automated_category = parliament +} + +force_parliament_issue = { + icon = call_parliament + type = parliament + allow = { + scope:actor = { + is_active_parliament = yes + trigger_if = { + limit = { tag = HUN } + OR = { + AND = { + has_ruler = yes + ruler = { + has_character_modifier = hun_absolute_rule + } + } + parliament_type = parliament_type:autocratic_parliament + } + } + trigger_else = { parliament_type = parliament_type:autocratic_parliament } + } + } + + cooldown = { #only once per parliament session + type = has_forced_parliament_issue + years = 5 + } + + effect = { + scope:actor = { + set_parliament_issue_support = { + value = 1 + } + if = { + limit = { + current_age_or_later = { age = age_5_absolutism } + } + change_societal_value = { + type = absolutism_vs_liberalism + value = societal_value_move_to_left + } + } + } + } + ai_tick = daily + ai_tick_frequency = 90 + + automation_tick = daily + automation_tick_frequency = 1 + player_automated_category = parliament + + ai_will_do = { + #Base + subtract = { + value = 1 + } + + add = { + if = { + limit = { + scope:actor = { + calc_true_if = { + estate_satisfaction:nobles_estate > 0.5 + estate_satisfaction:clergy_estate > 0.5 + estate_satisfaction:burghers_estate > 0.5 + amount >= 2 + } + } + } + value = 2 + } + } + } +} + +challenge_bureaucratic_entrenchment = { + type = parliament + + ai_tick = never + + potential = { + scope:actor = { + any_current_bureaucracy = { count > 0 } + } + } + + allow = { + scope:actor = { + is_active_parliament = yes + modifier:parliament_abolished = no + parliament_issue_support > modifier:parliament_request_issue_support_needed + any_current_bureaucracy = { entrenchment > entrenchment_radical_penalty } + } + } + + select_trigger = { + looking_for_a = bureaucracy + interaction_source_list = { + scope:actor = { + every_current_bureaucracy = { + limit = { entrenchment > entrenchment_radical_penalty } + add_to_list = source + } + } + } + target_flag = target_bureaucracy + name = "select_bureaucracy" + none_available_msg_key = "no_bureaucracies_available" + column = { data = name } + } + + effect = { + if = { + limit = { exists = scope:target_bureaucracy } + scope:target_bureaucracy = { + change_entrenchment = entrenchment_extreme_bonus + } + } + else = { custom_tooltip = selected_bureaucracy_entrenchment_extreme_bonus_tt } + if = { + limit = { + scope:actor = { + NOT = { has_country_modifier = bureaucratic_spending_reform_modifier } + } + } + scope:actor = { + add_country_modifier = { + modifier = bureaucratic_spending_reform_modifier + years = modifier_duration_years_short + mode = replace + size = { + value = 1 + if = { + limit = { exists = scope:target_bureaucracy } + add = { + value = scope:target_bureaucracy.entrenchment + multiply = 0.01 + desc = current_entrenchment_of_selected_bureaucracy_desc + } + } + } + } + } + } + scope:actor = { + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + add = { + value = 25 + desc = BASE_VALUE + } + + if = { + limit = { exists = scope:target_bureaucracy } + add = { + value = scope:target_bureaucracy.entrenchment + desc = "[target_bureaucracy.GetName] entrenchment" + } + } + } +} + +declare_holidays_request = { + type = parliament + + ai_tick = daily + ai_tick_frequency = 100 + + + automation_tick = daily + automation_tick_frequency = 1 + player_automated_category = parliament + + potential = { + scope:actor = { + has_reform = government_reform:enlightened_council_reform + } + } + + allow = { + scope:actor = { + has_reform = government_reform:enlightened_council_reform + is_active_parliament = yes + NOT = { has_country_modifier = parliament_declared_holidays } + parliament_issue_support > modifier:parliament_request_issue_support_needed + } + } + + effect = { + scope:actor = { + add_country_modifier = { modifier = parliament_declared_holidays years = 1 mode = add_and_extend } + add_stability = stability_severe_bonus + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + add = { + if = { + limit = { + scope:actor = { + OR = { + parliament_issue_support > 0.9 + stability <= -20 + } + NOT = { + any_country_in_diplomatic_range = { + scope:actor = { + wants_casus_belli_with = prev + } + NOT = { + has_target_casus_belli_on_us = scope:actor + } + } + } + } + } + value = 10 + } + } + } +} + +force_parliament_support = { + type = parliament + + sound = PARLIAMENT_REQUEST_MORE_TAXES + + ai_tick = daily + ai_tick_frequency = 100 + automation_tick = daily + automation_tick_frequency = 7 + player_automated_category = parliament + + allow = { + scope:actor = { + is_active_parliament = yes + political_influence >= 50 + } + } + + effect = { + scope:actor = { + add_political_influence = -50 + change_parliament_issue_support = { + value = 0.25 + } + if = { + limit = { + modifier:nobles_estate_can_participate_in_parliament = yes + country_has_estate = estate_type:nobles_estate + } + add_estate_satisfaction = { + type = estate_type:nobles_estate + value = -0.10 + } + } + if = { + limit = { + modifier:clergy_estate_can_participate_in_parliament = yes + country_has_estate = estate_type:clergy_estate + } + add_estate_satisfaction = { + type = estate_type:clergy_estate + value = -0.10 + } + } + if = { + limit = { + modifier:burghers_estate_can_participate_in_parliament = yes + country_has_estate = estate_type:burghers_estate + } + add_estate_satisfaction = { + type = estate_type:burghers_estate + value = -0.10 + } + } + if = { + limit = { + modifier:peasants_estate_can_participate_in_parliament = yes + country_has_estate = estate_type:peasants_estate + } + add_estate_satisfaction = { + type = estate_type:peasants_estate + value = -0.10 + } + } + } + } + + ai_will_do = { + # Base negative — costs 75 PI and upsets every participating estate + subtract = { + value = 2 + desc = "base reluctance" + } + + # Never waste this if support is already above the request threshold + add = { + if = { + limit = { + scope:actor = { + or = { + parliament_issue_support >= modifier:parliament_request_issue_support_needed + parliament_issue_support < 0.25 + } + } + } + value = -1000 + } + desc = "too high or too low support" + } + + # Core value: support is below threshold and we cannot act without a boost + add = { + if = { + limit = { + scope:actor = { + parliament_issue_support < modifier:parliament_request_issue_support_needed + } + } + value = 5 + } + desc = "below threshold" + } + + # Urgency when at war — need taxes and levies from parliament + add = { + if = { + limit = { + scope:actor = { at_war = yes } + } + value = 3 + } + desc = "at war" + } + + # Strong urgency when losing — every parliamentary tool matters + add = { + if = { + limit = { + scope:actor = { is_in_losing_war = yes } + } + value = 5 + } + desc = "losing war" + } + + # Caution: avoid compounding estate grievances when multiple estates already discontented + add = { + if = { + limit = { + scope:actor = { + calc_true_if = { + amount >= 2 + estate_satisfaction:nobles_estate < 0.5 + estate_satisfaction:clergy_estate < 0.5 + estate_satisfaction:burghers_estate < 0.5 + } + } + } + value = -4 + } + desc = "low estate satisfaction" + } + } +} + +iw_militarize_country = { + type = parliament + + sound = PARLIAMENT_ASK_FOR_LARGER_LEVIES + + ai_tick = daily + ai_tick_frequency = 100 + automation_tick = daily + automation_tick_frequency = 7 + player_automated_category = parliament + + potential = { + situation:italian_wars = { situation_is_active = yes } + + scope:actor = { can_see_situation = situation:italian_wars } + } + + allow = { + scope:actor = { + is_active_parliament = yes + NOT = { has_country_modifier = parliament_approved_extra_levies } + parliament_issue_support > modifier:parliament_request_issue_support_needed + regular_army_size > 0 + } + + situation:italian_wars = { var:iw_tension >= 50 } + } + + effect = { + scope:actor = { + add_country_modifier = { + modifier = parliament_approved_militarization + years = 3 + mode = add_and_extend + } + add_army_tradition = army_tradition_extreme_bonus + if = { + limit = { regular_army_size > 0 } + ordered_army = { + limit = { NOT = { has_unit_modifier = extensive_training_modifier} } + order_by = num_subunits + max = 1 + check_range_bounds = no + save_scope_as = target_army + add_unit_modifier = { + modifier = extensive_training_modifier + years = modifier_duration_years_short + mode = replace + } + } + } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + } + } + + ai_will_do = { + add = { + value = -25 + desc = "BASE_VALUE" + } + add = { + value = situation:italian_wars.var:iw_tension + desc = "[situation_tension|e]" + } + add = { + value = scope:actor.military_strength + desc = "military_strength" + } + + } +} + +seat_the_itinerant_court = { + type = parliament + + ai_tick = daily + ai_tick_frequency = 100 + + potential = { + scope:actor = { has_policy = itinerant_court_policy } + } + + allow = { + scope:actor = { + is_active_parliament = yes + has_policy = itinerant_court_policy + parliament_issue_support > modifier:parliament_request_issue_support_needed + } + } + + cooldown = { + type = seat_the_itinerant_court + years = 5 + } + + select_trigger = { + looking_for_a = location + source = actor + ai_interaction_source_list = { + scope:actor = { + every_owned_non_rural_location = { + add_to_list = source + } + } + } + target_flag = court_seat_location + name = "seat_the_itinerant_court_select_title" + none_available_msg_key = "no_locations_available" + column = { data = name } + column = { data = population } + column = { data = control } + column = { data = rank } + visible = { + owner ?= scope:actor + controller ?= scope:actor + local_control > 0 + is_core_of = scope:actor + # Cannot Seat the Itinerant Court where a Local Governor or a Lieutenancy already sits + NOR = { + has_building = building_type:local_governor + has_building = building_type:lieutenancy + } + OR = { + is_city = yes + # Rural locations qualify only if they are a province capital. + is_province_capital = yes + } + } + } + + effect = { + scope:actor = { + custom_tooltip = { + text = seat_the_itinerant_court_passed_tt + if = { + limit = { any_owned_location = { has_building = building_type:itinerant_court_seat } } + random_owned_location = { + limit = { has_building = building_type:itinerant_court_seat } + save_scope_as = old_court_seat + } + scope:court_seat_location ?= { + move_building = { + from = scope:old_court_seat + type = itinerant_court_seat + owner = scope:actor + } + } + } + else = { + scope:court_seat_location = { + change_building_level_in_location = { + building = building_type:itinerant_court_seat + value = 1 + owner = scope:actor + } + } + } + } + custom_tooltip = { + text = seat_the_itinerant_court_in_session_tt + scope:court_seat_location ?= { + add_location_modifier = { + modifier = itinerant_court_in_session + years = 1 + } + } + } + change_parliament_issue_support = { + value = modifier:parliament_request_issue_support_needed + multiply = -1 + } + hidden_effect = { + remove_variable = seat_the_itinerant_court_ai_cd + set_variable = { + name = seat_the_itinerant_court_ai_cd + value = yes + days = 7300 + } + } + } + } + + ai_will_do = { + value = -250 + if = { + limit = { scope:court_seat_location = { is_city = no } } + subtract = { + desc = "not a city" + value = 1000 + } + } + add = { + desc = "distance to capital" + value = "scope:actor.capital.distance_to(scope:court_seat_location)" + divide = 2 + } + add = { + desc = "target control" + value = 100 + subtract = scope:court_seat_location.max_control + divide = 2 + } + add = { + desc = "location ranks" + value = scope:court_seat_location.rank_index + multiply = 10 + } + if = { + limit = { + scope:actor = { + has_variable = seat_the_itinerant_court_ai_cd + } + } + subtract = { + desc = "ai already moved the itinerant court before" + value = 1000 + } + } + } +} diff --git a/in_game/common/goods/00_raw_materials.txt b/in_game/common/goods/00_raw_materials.txt new file mode 100644 index 0000000..47ce9c3 --- /dev/null +++ b/in_game/common/goods/00_raw_materials.txt @@ -0,0 +1,664 @@ + +horses = { #War Horses + method = farming + category = raw_material + color = goods_horses + default_market_price = 2 + transport_cost = 1 + + demand_add = { + nobles = 0.01 + soldiers = 0.005 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + + +} + +clay = { + method = gathering + category = raw_material + color = goods_clay + default_market_price = 0.25 + + transport_cost = 1 + + base_production = 0.02 + + ai_rgo_expansion_priority = 0.025 + + +} + +sand = { + method = gathering + category = raw_material + color = goods_sand + default_market_price = 0.25 + + transport_cost = 1 + + base_production = 0.01 +} + +coal = { + method = mining + category = raw_material + color = goods_coal + default_market_price = 2 + transport_cost = 2 + + + demand_add = { + all = 0.0003 + } + + demand_multiply = { + upper = 25 + tribesmen = 0 + } + + winter_demand_modifier = { + none = 0 + mild = 0.5 + normal = 1 + severe = 2 + } + topography_demand_modifier = { + mountains = 1.2 + } +} + +iron = { + method = mining + category = raw_material + color = goods_iron + default_market_price = 2.5 + transport_cost = 1 + ai_rgo_size_importance = 10 # ai preference to avoid building a city on this rgo + + ai_rgo_expansion_priority = 0.025 + + +} + +copper = { + method = mining + category = raw_material + color = goods_copper + default_market_price = 2.5 + transport_cost = 1 + + +} + +goods_gold = { + method = mining + category = raw_material + color = goods_gold + default_market_price = 6 + + transport_cost = 2 + + ai_rgo_size_importance = 10 # ai preference to avoid building a city on this rgo + + ai_rgo_expansion_priority = 0.2 + + demand_add = { + nobles = 0.0375 + } + + wealth_impact_threshold = { + all = 0.8 + } + + + +} + +silver = { + method = mining + category = raw_material + color = goods_silver + default_market_price = 5 + ai_rgo_size_importance = 10 # ai preference to avoid building a city on this rgo + + transport_cost = 2 + + + ai_rgo_expansion_priority = 0.2 + + demand_add = { + nobles = 0.0375 + } + + wealth_impact_threshold = { + all = 0.65 + } + + +} + +stone = { + method = mining + category = raw_material + color = goods_stone + default_market_price = 0.5 + base_production = 0.012 + transport_cost = 2 + + ai_rgo_expansion_priority = 0.025 + + +} + +tin = { + method = mining + category = raw_material + color = goods_tin + default_market_price = 2 + transport_cost = 1 + + +} + +lead = { + method = mining + category = raw_material + color = goods_lead + default_market_price = 2 + transport_cost = 1 + + +} + +silk = { + method = gathering + category = raw_material + color = goods_silk + default_market_price = 3 + ai_rgo_size_importance = 2 +} + +dyes = { + method = gathering + category = raw_material + color = goods_dyes + default_market_price = 3 + transport_cost = 0.25 + ai_rgo_size_importance = 2 + max_rgo_size = 0.5 +} + +incense = { + method = farming + category = raw_material + color = goods_incense + default_market_price = 2 + transport_cost = 0.5 + + demand_add = { + clergy = 0.015 + } + + wealth_impact_threshold = { + all = 0.25 + } +} + +tea = { + method = farming + category = raw_material + color = goods_tea + default_market_price = 2.5 + + demand_add = { + nobles = 0.3 + burghers = 0.015 + clergy = 0.015 + } + + wealth_impact_threshold = { + all = 0.50 + } + +} + +cocoa = { + method = farming + category = raw_material + color = goods_cocoa + default_market_price = 4 + ai_rgo_size_importance = 5 + demand_add = { + nobles = 0.15 + burghers = 0.015 + clergy = 0.015 + } + + wealth_impact_threshold = { + all = 0.50 + } + + origin_in_new_world = yes + custom_tags = { new_world_goods } + +} + +coffee = { + method = farming + category = raw_material + color = goods_coffee + default_market_price = 3 + ai_rgo_size_importance = 3 + + demand_add = { + nobles = 0.015 + burghers = 0.0015 + clergy = 0.00075 + soldiers = 0.0015 + } + + wealth_impact_threshold = { + all = 0.50 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + +} + +fiber_crops = { + method = farming + category = raw_material + color = goods_fiber_crops + default_market_price = 2 + + +} + +ivory = { + method = hunting + category = raw_material + color = goods_ivory + default_market_price = 4 + ai_rgo_size_importance = 4 + + demand_add = { + nobles = 0.075 + } + + development_threshold = 20 + + wealth_impact_threshold = { + all = 0.75 + } + + sub_continent_demand_modifier = { + south_asia = 1.2 + } +} + +lumber = { + method = forestry + category = raw_material + color = goods_lumber + default_market_price = 1 + base_production = 0.01 + + transport_cost = 1 + + ai_rgo_size_importance = 3 # ai preference to avoid building a city on this rgo + + ai_rgo_expansion_priority = 0.025 + + demand_add = { + all = 0.00075 + } + + demand_multiply = { + upper = 5 + tribesmen = 0 + } + + winter_demand_modifier = { + none = 0 + mild = 0.5 + normal = 1 + severe = 2 + } + topography_demand_modifier = { + mountains = 1.2 + } + + location_potential = { + location_wants_lumber_trigger = yes + } +} + +salt = { + method = gathering + category = raw_material + color = goods_salt + default_market_price = 3 + + + demand_add = { + nobles = 0.15 + burghers = 0.06 + clergy = 0.06 + } + + + wealth_impact_threshold = { + all = 0.5 + } + + winter_demand_modifier = { + none = 0.75 + mild = 1 + normal = 1.2 + severe = 2 + } +} + +medicaments = { #Medicinal plants, Pills, Opium, Mummy Powder, etc + method = gathering + category = raw_material + color = goods_medicaments + default_market_price = 1 + transport_cost = 0.5 + + demand_add = { + all = 0.0008 + } + + demand_multiply = { + nobles = 5 + clergy = 2.5 + burghers = 1.5 + slaves = 0.1 + tribesmen = 0 + } + + + wealth_impact_threshold = { + all = 0.65 + } + + disease_demand_modifier = 2 + +} + +gems = { + method = mining + category = raw_material + color = goods_gems + default_market_price = 3 + transport_cost = 0.5 + + ai_rgo_size_importance = 5 # ai preference to avoid building a city on this rgo + + demand_add = { + nobles = 0.075 + } + + wealth_impact_threshold = { + all = 0.75 + } + + +} + +pearls = { + method = gathering + category = raw_material + color = goods_pearls + default_market_price = 3 + + demand_add = { + nobles = 0.075 + burghers = 0.00375 + } + + development_threshold = 20 + + wealth_impact_threshold = { + nobles = 0.75 + burghers = 1 + } + + sub_continent_demand_modifier = { + south_asia = 2 + } +} + +amber = { + method = gathering + category = raw_material + color = goods_amber + default_market_price = 2.5 + + demand_add = { + nobles = 0.15 + burghers = 0.0075 + } + + wealth_impact_threshold = { + nobles = 1.0 + burghers = 1.5 + } + + market_unavailability_demand_modifier = 0.5 + + region_demand_modifier = { + scandinavian_region = 1.5 + north_german_region = 1.5 + baltic_region = 1.5 + } +} + +saltpeter = { + method = mining + category = raw_material + color = goods_saltpeter + default_market_price = 1 + +} + +alum = { + method = mining + category = raw_material + color = goods_alum + default_market_price = 2 +} + +wine = { + method = farming + category = raw_material + color = goods_wine + default_market_price = 2.5 + + + demand_add = { + all = 0.0006 + } + demand_multiply = { + upper = 10 + nobles = 1.5 + + slaves = 0 + tribesmen = 0 + } + origin_in_old_world = yes + custom_tags = { old_world_goods } + region_demand_modifier = { + iberia_region = 2 + italy_region = 2 + balkan_region = 2 + } + sub_continent_demand_modifier = { + south_asia = 0.6 + } +} + +elephants = { + method = farming + category = raw_material + color = goods_elephants + default_market_price = 4 + transport_cost = 3 + + demand_add = { + nobles = 0.15 + } + + wealth_impact_threshold = { + nobles = 1 + } + + demand_only_in_sub_continent = south_asia + demand_only_in_region = indochina_region +} + +marble = { + method = mining + category = raw_material + color = goods_marble + default_market_price = 3 + + transport_cost = 2 + + + demand_add = { + nobles = 0.075 + } + + development_threshold = 40 + wealth_impact_threshold = { + nobles = 0.75 + } +} + +mercury = { + method = mining + category = raw_material + color = goods_mercury + default_market_price = 2.5 + + + demand_add = { + all = 0.0001 + } + + wealth_impact_threshold = { + all = 0.75 + } + + demand_multiply = { + tribesmen = 0 + } +} + +saffron = { + method = farming + category = raw_material + color = goods_saffron + default_market_price = 3.5 + transport_cost = 0.5 + + demand_add = { + nobles = 0.075 + burghers = 0.003 + clergy = 0.0075 + } + + wealth_impact_threshold = { + all = 0.75 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } +} + +pepper = { + method = farming + category = raw_material + color = goods_pepper + default_market_price = 4 + transport_cost = 0.5 + + demand_add = { + nobles = 0.075 + burghers = 0.00375 + clergy = 0.0075 + } + + wealth_impact_threshold = { + all = 0.75 + } + origin_in_old_world = yes + custom_tags = { old_world_goods } + sub_continent_demand_modifier = { + south_asia = 1.5 + } +} + +cloves = { + method = farming + category = raw_material + color = goods_cloves + default_market_price = 5 + transport_cost = 0.5 + + demand_add = { + nobles = 0.075 + burghers = 0.00375 + clergy = 0.0075 + } + + wealth_impact_threshold = { + all = 1.1 + } + origin_in_old_world = yes + custom_tags = { old_world_goods } +} + +chili = { + method = farming + category = raw_material + color = goods_chili + default_market_price = 5 + transport_cost = 0.5 + + demand_add = { + nobles = 0.075 + burghers = 0.00375 + clergy = 0.0075 + } + + + wealth_impact_threshold = { + all = 1.1 + } + + origin_in_new_world = yes + custom_tags = { new_world_goods } +} + + +wool = { + method = farming + category = raw_material + color = goods_wool + default_market_price = 2 + + base_production = 0.0005 + + ai_rgo_size_importance = 1.5 # ai preference to avoid building a city on this rgo + + origin_in_old_world = yes + custom_tags = { old_world_goods } +} diff --git a/in_game/common/goods/01_plantation_goods.txt b/in_game/common/goods/01_plantation_goods.txt new file mode 100644 index 0000000..4fce89f --- /dev/null +++ b/in_game/common/goods/01_plantation_goods.txt @@ -0,0 +1,47 @@ +cotton = { + method = farming + category = raw_material + color = goods_cotton + default_market_price = 3 + ai_rgo_size_importance = 5 + + origin_in_old_world = yes + custom_tags = { old_world_goods } +} + +sugar = { + method = farming + category = raw_material + color = goods_sugar + default_market_price = 3 + ai_rgo_size_importance = 5 + + demand_add = { + nobles = 0.1 + burghers = 0.01 + clergy = 0.01 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + +} + +tobacco = { + method = farming + category = raw_material + color = goods_tobacco + default_market_price = 3 + ai_rgo_size_importance = 5 + + + demand_add = { + nobles = 0.1 + burghers = 0.01 + clergy = 0.01 + } + + origin_in_new_world = yes + custom_tags = { new_world_goods } +} + diff --git a/in_game/common/goods/02_produced_goods.txt b/in_game/common/goods/02_produced_goods.txt new file mode 100644 index 0000000..7fec3f9 --- /dev/null +++ b/in_game/common/goods/02_produced_goods.txt @@ -0,0 +1,390 @@ +tar = { + category = produced + color = goods_tar + default_market_price = 1 +} + +porcelain = { + category = produced + color = goods_porcelain + default_market_price = 1.5 + transport_cost = 0.5 + + demand_add = { + upper = 0.0135 + burghers = 0.0045 + } + demand_multiply = { + nobles = 2 + } + + development_threshold = 20 + + wealth_impact_threshold = { + all = 0.75 + } + + +} + +naval_supplies = { #All things required for ships to run + category = produced + color = goods_naval_supplies + default_market_price = 2.5 + + +} + +firearms = { #Guns, Gunpowder, Grenades + category = produced + color = goods_firearms + default_market_price = 3 + transport_cost = 1.0 + + demand_add = { + nobles = 0.4 + soldiers = 0.002 + } + + wealth_impact_threshold = { + all = 0.75 + } +} + +cannons = { #Cannons, Cannon Ammunition + category = produced + color = goods_cannons + default_market_price = 4 + transport_cost = 1.0 + +} + +weaponry = { #Swords, clubs, spears, halberds, bows, crossbows, etc + category = produced + color = goods_weaponry + default_market_price = 3 + + demand_add = { + nobles = 0.2 + soldiers = 0.05 + laborers = 0.001 + peasants = 0.001 + } + + wealth_impact_threshold = { + all = 0.75 + } + +} +glass = { #Everything from beads and bottles to fine Lenses + category = produced + color = goods_glass + default_market_price = 3 + transport_cost = 0.5 + + demand_add = { + nobles = 0.2 + burghers = 0.05 + clergy = 0.02 + } + + development_threshold = 20 + +} + +steel = { #Late Game Steel - Needs a purpose. How about railroads? Eh? + category = produced + color = goods_steel + default_market_price = 4 + transport_cost = 1 + +} + +cloth = { #Daily clothing, Canvas, Uniforms, Course table cloth, etc + category = produced + color = goods_cloth + default_market_price = 3 + transport_cost = 0.5 + + demand_add = { + peasants = 0.00375 + soldiers = 0.0135 + laborers = 0.01014 + slaves = 0.00339 + burghers = 0.135 + clergy = 0.27 + } + + wealth_impact_threshold = { + all = 0.75 + } + + winter_demand_modifier = { + none = 0.5 + mild = 1 + normal = 1.5 + severe = 2 + } +} + +fine_cloth = { #Embroidery, Silks, Luxury Clothing, etc + category = produced + color = goods_fine_cloth + default_market_price = 5 + transport_cost = 0.5 + + demand_add = { + nobles = 0.375 + burghers = 0.045 + clergy = 0.06 + } + + + development_threshold = 20 + + wealth_impact_threshold = { + all = 1 + } + +} + +liquor = { #What it says + category = produced + color = goods_liquor + default_market_price = 2.5 + transport_cost = 0.5 + + demand_add = { + all = 0.00144 + } + + demand_multiply = { + upper = 5 + nobles = 2 + + slaves = 0 + tribesmen = 0 + } + + wealth_impact_threshold = { + all = 0.25 + } + + region_demand_modifier = { + iberia_region = 0.5 + italy_region = 0.5 + balkan_region = 0.5 + scandinavian_region = 2 + ural_region = 2 + russian_region = 2 + } +} + +beer = { #the nectar of the gods + category = produced + color = goods_beer + default_market_price = 2 + transport_cost = 0.5 + + demand_add = { + all = 0.0048 + } + + demand_multiply = { + upper = 5 + nobles = 2 + clergy = 2 + burghers = 2 + laborers = 2 + soldiers = 3 + slaves = 0 + tribesmen = 0 + } + + wealth_impact_threshold = { + all = 0.50 + } + + region_demand_modifier = { + iberia_region = 0.5 + italy_region = 0.5 + balkan_region = 0.5 + } +} + +paper = { #Paper + category = produced + color = goods_paper + default_market_price = 2 + + transport_cost = 0.5 + + demand_add = { + nobles = 0.034 + burghers = 0.068 + clergy = 0.134 + } + + development_threshold = 20 + + literacy_demand_factor = 1 + + wealth_impact_threshold = { + all = 0.8 + } + +} + +books = { #books, newspapers, booklets, pamphlets, etc + category = produced + color = goods_books + default_market_price = 3 + + transport_cost = 0.5 + + demand_add = { + nobles = 0.03 + burghers = 0.06 + clergy = 0.12 + } + + development_threshold = 30 + + literacy_demand_factor = 1 + + wealth_impact_threshold = { + all = 0.8 + } + +} + + +jewelry = { + category = produced + color = goods_jewelry + default_market_price = 4 + transport_cost = 0.5 + + demand_add = { + nobles = 0.15 + burghers = 0.0075 + } + + wealth_impact_threshold = { + all = 0.75 + } + +} + +leather = { + category = produced + color = goods_leather + default_market_price = 2 + + demand_add = { + nobles = 0.05 + soldiers = 0.01 + laborers = 0.005 + peasants = 0.0005 + } + +} + +tools = { + category = produced + color = goods_tools + default_market_price = 2.5 + + transport_cost = 0.5 + + demand_add = { + laborers = 0.005 + } + + wealth_impact_threshold = { + all = 0.5 + } + +} + +masonry = { # basically bricks etc.. + category = produced + color = goods_masonry + default_market_price = 0.5 + + demand_add = { + all = 0.00002 + laborers = 0.0006 + peasants = 0.0004 + } + demand_multiply = { + upper = 1.5 + slaves = 0 + tribesmen = 0 + } + + wealth_impact_threshold = { + all = 0.5 + } + + + ai_rgo_expansion_priority = 0.25 +} + +lacquerware = { + category = produced + color = goods_lacquerware + default_market_price = 4 + + transport_cost = 0.5 + demand_add = { + nobles = 0.075 + burghers = 0.03 + } + + development_threshold = 20 + wealth_impact_threshold = { + all = 0.5 + } + +} + +pottery = { + category = produced + color = goods_pottery + default_market_price = 1 + + transport_cost = 0.5 + + demand_add = { + all = 0.004 + } + demand_multiply = { + laborers = 1.5 + burghers = 2.0 + slaves = 0 + tribesmen = 0 + } +} + +furniture = { + category = produced + color = goods_furniture + default_market_price = 2 + + transport_cost = 0.5 + + demand_add = { + all = 0.0018 + } + demand_multiply = { + upper = 10 + nobles = 2 + slaves = 0 + tribesmen = 0 + } + + wealth_impact_threshold = { + all = 0.5 + } +} diff --git a/in_game/common/goods/03_food.txt b/in_game/common/goods/03_food.txt new file mode 100644 index 0000000..9820e0d --- /dev/null +++ b/in_game/common/goods/03_food.txt @@ -0,0 +1,327 @@ +wild_game = { + method = hunting + category = raw_material + color = goods_wild_game + + food = 3.5 + + default_market_price = 0.75 + demand_add = { + all = 0.0012 + } + demand_multiply = { + nobles = 20 + clergy = 5 + burghers = 5 + tribesmen = 0 + } + + no_demand_if_no_market_availability = yes +} + +fur = { + method = hunting + category = raw_material + color = goods_fur + default_market_price = 1.5 + + food = 2.0 + + demand_add = { + upper = 0.1 + } + + demand_multiply = { + nobles = 10 + } + + + wealth_impact_threshold = { + all = 1.0 + } + + winter_demand_modifier = { + none = 0 + mild = 0.5 + normal = 1 + severe = 2 + } + topography_demand_modifier = { + mountains = 1.1 + } +} + +fish = { + method = gathering + category = raw_material + color = goods_fish + + food = 4.0 + + default_market_price = 0.50 + demand_add = { + all = 0.003 + peasants = 0.006 + laborers = 0.006 + soldiers = 0.006 + } + + demand_multiply = { + tribesmen = 0 + } +} + +wheat = { + method = farming + category = raw_material + color = goods_wheat + + food = 8.0 + + default_market_price = 0.50 + + demand_add = { + all = 0.003 + peasants = 0.006 + laborers = 0.0045 + soldiers = 0.0045 + } + demand_multiply = { + upper = 2.5 + slaves = 0 + tribesmen = 0 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + + continent_demand_modifier = { + europe = 2 + } + climate_demand_modifier = { + subtropical = 0.5 + tropical = 0.5 + } +} + +maize = { + method = farming + category = raw_material + color = goods_maize + + food = 8.0 + + default_market_price = 0.5 + + demand_add = { + all = 0.024 + } + demand_multiply = { + upper = 2 + tribesmen = 0 + } + origin_in_new_world = yes + custom_tags = { new_world_goods } + + demand_only_in_continent = america +} + +rice = { + method = farming + category = raw_material + color = goods_rice + + food = 8.0 + + default_market_price = 0.25 + demand_add = { + all = 0.0015 + } + + demand_multiply = { + upper = 2 + tribesmen = 0 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + + climate_demand_modifier = { + subtropical = 2 + tropical = 2 + } + no_demand_if_no_market_availability = yes +} + +millet = { + method = farming + category = raw_material + color = goods_millet + + food = 6 + + default_market_price = 0.5 + demand_add = { + all = 0.006 + } + + demand_multiply = { + upper = 2 + tribesmen = 0 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + + sub_continent_demand_modifier = { + south_asia = 1.2 + } + no_demand_if_no_market_availability = yes +} + +legumes = { + method = farming + category = raw_material + color = goods_legumes + + food = 6 + default_market_price = 0.5 + transport_cost = 2 + demand_add = { + all = 0.003 + } + + demand_multiply = { + upper = 2 + tribesmen = 0 + } + + no_demand_if_no_market_availability = yes +} + +potato = { + method = farming + category = raw_material + color = goods_potato + + food = 8 + default_market_price = 0.5 + + demand_add = { + all = 0.003 + } + + demand_multiply = { + upper = 2 + } + + origin_in_new_world = yes + custom_tags = { new_world_goods } +} + +livestock = { + method = farming + category = raw_material + color = goods_livestock + + food = 8 + default_market_price = 0.75 + ai_rgo_size_importance = 1.5 # ai preference to avoid building a city on this rgo + + demand_add = { + all = 0.003 + soldiers = 0.009 + laborers = 0.003 + } + demand_multiply = { + nobles = 30 + clergy = 10 + burghers = 10 + slaves = 0 + tribesmen = 0 + } + + + + origin_in_old_world = yes + custom_tags = { old_world_goods } +} + +olives = { + method = farming + category = raw_material + color = goods_olives + + food = 4 + default_market_price = 0.5 + + demand_add = { + all = 0.003 + } + + demand_multiply = { + upper = 2 + tribesmen = 0 + } + + origin_in_old_world = yes + custom_tags = { old_world_goods } + + no_demand_if_no_market_availability = yes +} + +fruit = { + method = farming + category = raw_material + color = goods_fruit + + food = 3 + default_market_price = 1 + + transport_cost = 2 + + demand_add = { + all = 0.006 + } + + demand_multiply = { + upper = 2 + tribesmen = 0 + } + + climate_demand_modifier = { + arctic = 0 + cold_arid = 0.5 + tropical = 1.2 + mediterranean = 1.4 + } +} + +beeswax = { + method = farming + category = raw_material + color = goods_beeswax + + food = 2.5 + + default_market_price = 1 + + demand_add = { + all = 0.0024 + } + demand_multiply = { + upper = 2 + slaves = 0 + tribesmen = 0 + } + + winter_demand_modifier = { + none = 0.5 + mild = 0.5 + normal = 1.2 + severe = 2 + } + origin_in_old_world = yes + custom_tags = { old_world_goods } + no_demand_if_no_market_availability = yes +} diff --git a/in_game/common/goods/04_special.txt b/in_game/common/goods/04_special.txt new file mode 100644 index 0000000..68d8926 --- /dev/null +++ b/in_game/common/goods/04_special.txt @@ -0,0 +1,10 @@ +slaves_goods = { + category = produced + color = goods_slaves + + is_slaves = yes + + default_market_price = 3 + +} + diff --git a/in_game/common/goods/readme.txt b/in_game/common/goods/readme.txt new file mode 100644 index 0000000..7eeef1b --- /dev/null +++ b/in_game/common/goods/readme.txt @@ -0,0 +1,23 @@ +# = { +# is_slaves = yes/no #Defaults to no, mark that good as a slave good +# block_rgo_upgrade = yes/no #Defaults to no, blocks the expansion of the rgo for this good +# inflation = yes/no #Defaults to no, will cause inflation when produced +# base_production = #Defaults to 0 +# color = #What color the goods should have in the map mode +# food = #Defaults to 0, how much food this good provides with +# transport_cost = #Defaults to 1, how expensive it is to transport the good +# default_market_price = #Defaults to 1, the default price of the good on a market +# category = raw_material/produced #Defaults to raw_material, defines if the goods is a raw_material or not +# method = mining/farming/hunting/gathering/forestry #Defaults to farming, defines the category of the good +# ai_rgo_size_importance = # ai preference to avoid building a city on this rgo +# demand_add = { +# all = +# = +# } +# demand_multiply = { +# upper = +# = +# } +# location_potential = { location trigger } # gives error log if this is false on setup +# custom_tags = { } #A list of custom strings to use to identify that good +#} \ No newline at end of file diff --git a/in_game/common/goods_demand/army_demands.txt b/in_game/common/goods_demand/army_demands.txt new file mode 100644 index 0000000..bd08903 --- /dev/null +++ b/in_game/common/goods_demand/army_demands.txt @@ -0,0 +1,326 @@ +#Land Units + +#Recruitment: + +infantry_construction = { + firearms = 0.2 + weaponry = 0.2 + leather = 0.1 + category = regiment_construction +} + +heavy_infantry_construction = { + firearms = 0.2 + weaponry = 0.2 + leather = 0.1 + tools = 0.1 + category = regiment_construction +} +early_infantry_construction = { + weaponry = 0.2 + leather = 0.1 + category = regiment_construction +} +early_heavy_infantry_construction = { + weaponry = 0.4 + leather = 0.1 + tools = 0.2 + category = regiment_construction +} +archer_infantry_construction = { + weaponry = 0.1 + leather = 0.1 + lumber = 0.1 + category = regiment_construction +} + +pikemen_construction = { + weaponry = 0.2 + lumber = 0.2 + leather = 0.2 + tools = 0.1 + category = regiment_construction +} +rifle_infantry_construction = { + firearms = 1.2 # 6x more expensive than muskets + weaponry = 0.2 + leather = 0.1 + category = regiment_construction +} + +cavalry_construction = { + leather = 0.2 + cloth = 0.2 + horses = 1.0 + weaponry = 0.2 + category = regiment_construction +} +heavy_cavalry_construction = { + leather = 0.4 + cloth = 0.2 + horses = 2.0 + weaponry = 0.4 + tools = 0.4 + category = regiment_construction +} +expensive_heavy_cavalry_construction = { + leather = 0.6 + cloth = 0.4 + horses = 2.4 + weaponry = 1.0 + tools = 0.8 + category = regiment_construction +} + +steppe_horse_archers_construction = { + leather = 0.2 + horses = 2.0 + weaponry = 0.2 + category = regiment_construction +} + +steppe_auxiliary_construction = { + horses = 2.0 + leather = 0.2 + category = regiment_construction +} + + +artillery_construction = { + cannons = 2.0 + copper = 2.0 + tin = 0.2 + category = regiment_construction +} + +auxuliary_construction = { + tools = 0.2 + leather = 0.1 + copper = 0.2 + category = regiment_construction +} + +elephant_auxiliary_construction = { + tools = 0.3 + leather = 0.3 + copper = 0.5 + tin = 0.3 + elephants = 2.0 + category = regiment_construction +} + +elephant_cavalry_construction = { + leather = 0.2 + cloth = 0.2 + elephants = 2.0 + weaponry = 0.2 + category = regiment_construction +} + +elephant_infantry_construction = { + leather = 0.2 + cloth = 0.4 + elephants = 2.0 + weaponry = 0.4 + category = regiment_construction +} + +a_tribesmen_construction = { + weaponry = 0.1 + category = regiment_construction +} +a_warriors_construction = { + weaponry = 0.2 + leather = 0.2 + category = regiment_construction +} +a_champions_construction = { + weaponry = 0.4 + leather = 0.4 + category = regiment_construction +} +a_chieftains_construction = { + weaponry = 0.4 + leather = 0.4 + jewelry = 0.2 + category = regiment_construction +} + +clan_retainers_construction = { + leather = 0.04 + weaponry = 0.02 + category = regiment_construction +} + +clan_retainer_cavalry_construction = { + leather = 0.04 + weaponry = 0.02 + horses = 0.2 + category = regiment_construction +} + +#Maintenance: + +infantry_maintenance = { + firearms = 0.1 + weaponry = 0.1 + leather = 0.06 + category = regiment_maintenance +} + + +heavy_infantry_maintenance = { + firearms = 0.1 + weaponry = 0.1 + leather = 0.06 + tools = 0.04 + category = regiment_maintenance +} +early_infantry_maintenance = { + weaponry = 0.1 + leather = 0.06 + category = regiment_maintenance +} +early_heavy_infantry_maintenance = { + weaponry = 0.1 + leather = 0.06 + category = regiment_maintenance +} +archer_infantry_maintenance = { + weaponry = 0.06 + leather = 0.06 + lumber = 0.06 + category = regiment_maintenance +} + +pikemen_maintenance = { + weaponry = 0.08 + leather = 0.08 + lumber = 0.08 + tools = 0.08 + category = regiment_maintenance +} + +steppe_horse_archers_maintenance = { + leather = 0.02 + horses = 0.4 + weaponry = 0.02 + category = regiment_maintenance +} +rifle_infantry_maintenance = { + firearms = 0.60 # 6x more expensive than muskets + weaponry = 0.1 + leather = 0.06 + category = regiment_maintenance +} + + +steppe_horse_auxiliary_maintenance = { + leather = 0.02 + horses = 1.0 + salt = 0.02 + category = regiment_maintenance +} + +cavalry_maintenance = { + leather = 0.08 + cloth = 0.08 + horses = 0.5 + weaponry = 0.1 + category = regiment_maintenance +} +heavy_cavalry_maintenance = { + leather = 0.1 + weaponry = 0.2 + cloth = 0.1 + horses = 1.0 + tools = 0.2 + category = regiment_maintenance +} +expensive_heavy_cavalry_maintenance = { + leather = 0.2 + weaponry = 0.4 + cloth = 0.2 + horses = 2.0 + tools = 0.4 + category = regiment_maintenance +} + +artillery_maintenance = { + cannons = 1.0 #Ammunition + copper = 0.2 + tin = 0.1 + + category = regiment_maintenance +} + +auxuliary_maintenance = { + paper = 0.04 + medicaments = 0.04 + tools = 0.04 + leather = 0.04 + salt = 0.05 + category = regiment_maintenance +} + +elephant_auxiliary_maintenance = { + paper = 0.1 + medicaments = 0.1 + tools = 0.1 + leather = 0.1 + cloth = 0.1 + salt = 0.05 + elephants = 0.4 + category = regiment_maintenance +} + +elephant_cavalry_maintenance = { + leather = 0.1 + cloth = 0.1 + elephants = 2.0 + weaponry = 0.1 + category = regiment_maintenance +} + +elephant_infantry_maintenance = { + leather = 0.1 + elephants = 1.0 + weaponry = 0.2 + lumber = 1.0 + category = regiment_maintenance +} + + +a_tribesmen_maintenance = { + weaponry = 0.1 + category = regiment_maintenance +} +a_warriors_maintenance = { + weaponry = 0.1 + leather = 0.1 + category = regiment_maintenance +} +a_champions_maintenance = { + weaponry = 0.2 + leather = 0.2 + category = regiment_maintenance +} +a_chieftains_maintenance = { + weaponry = 0.2 + leather = 0.2 + jewelry = 0.1 + category = regiment_maintenance +} + +clan_retainers_maintenance = { + weaponry = 0.04 + leather = 0.02 + category = regiment_maintenance +} + +clan_retainer_cavalry_maintenance = { + weaponry = 0.04 + leather = 0.02 + horses = 0.04 + category = regiment_maintenance +} diff --git a/in_game/common/goods_demand/building_construction_costs.txt b/in_game/common/goods_demand/building_construction_costs.txt new file mode 100644 index 0000000..8090928 --- /dev/null +++ b/in_game/common/goods_demand/building_construction_costs.txt @@ -0,0 +1,777 @@ +horse_breeders_construction = { + masonry = 0.5 + lumber = 0.2 + wheat = 0.25 + horses = 0.15 + + category = building_construction +} + +farm_constructions = { + lumber = 0.2 + + category = building_construction +} + +soldier_building_construction = { + leather = 1 + masonry = 1 + lumber = 1 + weaponry = 1 + + category = building_construction +} + +early_soldier_building_construction = { + leather = 1 + masonry = 0.4 + lumber = 1 + weaponry = 1 + + category = building_construction +} + +nahuatl_warrior_building_construction = { + lumber = 1 + masonry = 0.8 + weaponry = 1 + + category = building_construction +} + +village_construction = { + masonry = 0.25 + + category = building_construction +} + + +mercury_patio_construction = { + lumber = 0.5 + tools = 0.5 + masonry = 0.5 + + category = building_construction +} + +incamisana_construction = { + stone = 0.5 + tools = 0.2 + + category = building_construction +} + +tambo_construction = { + stone = 0.3 + wool = 0.2 + + category = building_construction +} + +terraces_construction = { + stone = 0.5 + + category = building_construction +} + + +school_construction = { + paper = 2 + books = 1 + masonry = 1 + + category = building_construction +} + +academy_construction = { + paper = 2 + masonry = 2 + books = 1 + tools = 1 + + category = building_construction +} + +university_construction = { + masonry = 2 + paper = 2 + lumber = 1 + books = 2 + tools = 1 + + category = building_construction +} + +opera_house_construction = { + cloth = 2 + masonry = 2 + lumber = 2 + tools = 1 + + category = building_construction +} + +library_construction = { + masonry = 2 + paper = 1 + books = 2 + tools = 1 + + category = building_construction +} +theater_construction = { + cloth = 2 + masonry = 2 + lumber = 2 + tools = 1 + + category = building_construction +} + +venetian_palaces_construction = { + masonry = 2 + stone = 1 + paper = 1 + books = 2 + tools = 1 + jewelry = 0.15 + category = building_construction +} + +art_school_construction = { + cloth = 1 + masonry = 1 + lumber = 1 + + category = building_construction +} + + + + + + + +guild_construction = { + masonry = 0.5 + category = building_construction +} + + +workshop_construction = { + masonry = 1.0 + category = building_construction +} + +manufactory_construction = { + tools = 0.25 + masonry = 2 + category = building_construction + +} + +hippodrome_construction = { + masonry = 2.5 + stone = 2 + glass = 1 + lumber = 1 + marble = 0.5 + category = building_construction +} + + + +mill_construction = { + tools = 0.5 + masonry = 4 + + category = building_construction + +} + +cathedral_construction = { + masonry = 0.1 + stone = 0.1 + glass = 0.1 + lumber = 0.2 + marble = 0.25 + category = building_construction +} + +minting_office_construction = { + masonry = 0.1 + glass = 0.1 + lumber = 0.2 + marble = 0.25 + category = building_construction +} + +town_building_construction = { + masonry = 0.75 + glass = 0.2 + category = building_construction + +} + +aqueduct_system_construction = { + masonry = 0.3 + lumber = 0.25 + tools = 0.15 + stone = 0.3 + category = building_construction + +} + +granary_construction = { + lumber = 0.5 + masonry = 0.5 + category = building_construction +} + +qullqa_construction = { + masonry = 1 + category = building_construction +} + + +sofa_stockade_construction = { + clay = 2.5 + + category = building_construction +} + +stockade_construction = { + lumber = 2.0 + + category = building_construction +} + +peel_towers_construction = { + masonry = 1.0 + lumber = 0.5 + category = building_construction +} + +dun_fort_construction = { + masonry = 1.5 + category = building_construction +} + + +ostrog_construction = { + lumber = 2.5 + category = building_construction +} + +fortress_church_construction = { + masonry = 1.5 + category = building_construction +} + +merchant_guild_chapel_construction = { + masonry = 1 + lumber = 1 + glass = 0.5 + category = building_construction +} + +fortress_granary_construction = { + masonry = 1.5 + category = building_construction +} + +pukara_construction = { + stone = 1 + category = building_construction +} + +fort_construction = { + stone = 2.0 + + category = building_construction +} + +castle_construction = { + stone = 2.0 + + category = building_construction +} + +city_walls_construction = { + stone = 5.0 + + category = building_construction +} + +ruined_great_wall_of_china_construction = { + lumber = 2.5 + clay = 2 + category = building_construction +} + +repaired_great_wall_of_china_construction = { + lumber = 2 + clay = 0.5 + stone = 2 + category = building_construction +} + +korean_gunnery_construction = { + firearms = 0.5 + masonry = 0.5 + category = building_construction +} + + + +port_building_construction = { + masonry = 0.1 + naval_supplies = 0.2 + tools = 0.2 + lumber = 1.0 + category = building_construction +} + + + + +plantation_construction = { + masonry = 0.1 + naval_supplies = 0.2 + tools = 0.2 + lumber = 1.0 + category = building_construction +} + +kontor_construction = { + lumber = 0.2 + masonry = 0.2 + tools = 0.2 + glass = 0.2 + paper = 0.2 + category = building_construction +} + +fondaco_construction = { + lumber = 0.2 + masonry = 0.2 + glass = 0.2 + paper = 0.1 + category = building_construction +} + + +market_center_building_construction = { + lumber = 0.2 + masonry = 0.2 + tools = 0.2 + glass = 0.2 + paper = 0.2 + category = building_construction +} + + +caravanserai_building_construction = { + lumber = 0.3 + masonry = 0.1 + livestock = 0.3 + horses = 0.2 + category = building_construction +} + +funduq_building_construction = { + lumber = 0.3 + masonry = 0.1 + goods_gold = 0.05 + tools = 0.2 + paper = 0.1 + category = building_construction +} + +caravan_stop_building_construction = { + salt = 0.1 + goods_gold = 0.05 + livestock = 0.3 + category = building_construction +} + + +warehouse_construction = { + lumber = 0.2 + masonry = 0.2 + tools = 0.2 + category = building_construction +} + + +early_capital_building_construction = { + lumber = 2 + tools = 2 + glass = 2 + fine_cloth = 2 + goods_gold = 2 + category = building_construction +} + +early_capital_building_silver_construction = { + lumber = 2 + tools = 2 + glass = 2 + fine_cloth = 2 + silver = 2 + category = building_construction +} + + + + + +admiralty_construction = { + masonry = 5 + tools = 4 + naval_supplies = 1 + glass = 1 + fine_cloth = 1 + marble = 2 + category = building_construction +} + + +important_building_construction = { + masonry = 5 + tools = 4 + glass = 1 + fine_cloth = 1 + marble = 1 + category = building_construction +} + + +capital_building_construction = { + lumber = 2 + tools = 2 + glass = 2 + fine_cloth = 2 + goods_gold = 2 + marble = 2 + category = building_construction +} + +local_governor_construction = { + masonry = 5 + tools = 5 + glass = 5 + fine_cloth = 2 + goods_gold = 2 + category = building_construction +} + +prestige_building_construction = { + masonry = 3 + tools = 2 + glass = 2 + copper = 2 + tin = 2 + goods_gold = 2 + marble = 5 + category = building_construction +} + +grand_apartment_construction = { + lumber = 1 + tools = 1 + glass = 1 + marble = 1 + category = building_construction +} + + +cardinal_construction = { + masonry = 0.25 + books = 0.1 + fine_cloth = 0.1 + lumber = 0.5 + glass = 0.4 + + category = building_construction +} + + +simple_colony_construction = { + masonry = 0.5 + lumber = 0.5 + category = building_construction +} + +colony_construction = { + masonry = 0.5 + lumber = 0.5 + category = building_construction +} + + +missionary_construction = { + masonry = 0.5 + lumber = 0.5 + paper = 0.5 + category = building_construction +} + +order_stronghold_construction = { + masonry = 0.1 + weaponry = 0.25 + paper = 0.2 + + category = building_construction +} + +order_commandery_construction = { + masonry = 0.1 + weaponry = 0.1 + lumber = 0.2 + + category = building_construction +} + + + +bank_construction = { + lumber = 0.2 + masonry = 0.2 + tools = 0.2 + glass = 0.2 + paper = 0.2 + category = building_construction +} + +basic_construction_needs = { + #No Demands so the economy can not hardlock itself + category = building_construction +} + + + +estate_construct_building = { + + category = building_construction +} + +bridge_construction = { + masonry = 2.0 + lumber = 2.0 + + category = building_construction +} + +pound_lock_canal_infrastructure_construction = { + masonry = 0.5 + lumber = 0.5 + tools = 0.25 + + category = building_construction +} + +pomor_outpost_construction = { + lumber = 1.5 + category = building_construction +} + +woodhenge_of_cahokia_construction = { + lumber = 2 + clay = 1.0 + category = building_construction +} + +polders_construction = { + masonry = 3.0 + lumber = 1.0 + category = building_construction +} + +globe_construction = { + lumber = 5 + masonry = 1 + glass = 0.25 + tools = 0.5 + + category = building_construction +} + +kremlin_building_construction = { + clay = 0.10 + masonry = 0.10 + weaponry = 0.25 + + category = building_construction +} + +novodevichy_building_construction = { + lumber = 1 + masonry = 3 + weaponry = 1 + + category = building_construction +} + +ibadat_khana_construction = { + paper = 2 + lumber = 1 + books = 1 + masonry = 1 + glass = 2 + + category = building_construction +} + +bolshoi_construction = { + lumber = 2 + masonry = 3 + marble = 1 + glass = 1 + goods_gold = 0.5 + + category = building_construction +} + +sukharev_tower_construction = { + masonry = 2 + lumber = 0.5 + category = building_construction +} + +hanseatic_town_hall_construction = { + lumber = 2 + masonry = 2 + tools = 2 + glass = 2 + fine_cloth = 2 + goods_gold = 2 + marble = 2 + category = building_construction +} + +college_of_poets_construction = { + lumber = 2 + masonry = 3 + marble = 1 + glass = 2 + books = 2 + + category = building_construction +} + +swi_collegium_helveticum_construction = { + lumber = 2 + masonry = 3 + glass = 1 + books = 2 + + category = building_construction +} + +hexamilion_wall_construction = { + masonry = 6 + category = building_construction +} + +khmer_baray_construction = { + masonry = 3 + lumber = 2 + tools = 2 + + category = building_construction +} + +eghabho_nore_mansion_construction = { + masonry = 2 + lumber = 4 + paper = 1 + + category = building_construction +} + +por_feitoria_building_construction = { + masonry = 3 + lumber = 3 + naval_supplies = 3 + + category = building_construction +} + +rahdar_construction = { + lumber = 1 + masonry = 1 + weaponry = 1 + + category = building_construction +} + +herrenchiemsee_abbey_construction = { + lumber = 2 + masonry = 3 + marble = 1 + glass = 2 + books = 2 + + category = building_construction +} + +zhixian_construction = { + paper = 2 + tools = 1 + masonry = 1 + + category = building_construction +} + +tur_kodjabashi_office_construction = { + paper = 4 + lumber = 2 + masonry = 2 + + category = building_construction +} + +phanariot_district_construction = { + lumber = 2 + masonry = 2 + sand = 2 + + category = building_construction +} + +jewish_district_construction = { + lumber = 2 + masonry = 2 + sand = 2 + + category = building_construction +} + +japanese_clan_building_construction = { + masonry = 0.1 + lumber = 0.5 + + category = building_construction +} + + +########################################################################### +# code will use the following as default if no scripted in the building +########################################################################## + + +default_construct_building = { + masonry = 0.5 + lumber = 0.5 + + category = building_construction +} + + + + + + + + diff --git a/in_game/common/goods_demand/change_building_cost.txt b/in_game/common/goods_demand/change_building_cost.txt new file mode 100644 index 0000000..d1ad503 --- /dev/null +++ b/in_game/common/goods_demand/change_building_cost.txt @@ -0,0 +1,10 @@ +cveg_clear_forest_for_construction_construction = { + tools = 1 + category = building_construction +} +cveg_drain_wetlands_for_construction_construction = { + tools = 2 + stone = 0.8 + lumber = 0.6 + category = building_construction +} \ No newline at end of file diff --git a/in_game/common/goods_demand/hardcoded.txt b/in_game/common/goods_demand/hardcoded.txt new file mode 100644 index 0000000..23ecd8c --- /dev/null +++ b/in_game/common/goods_demand/hardcoded.txt @@ -0,0 +1,28 @@ +road_maintenance = { + lumber = 0.2 + masonry = 0.2 + sand = 0.2 + category = building_maintenance +} + +colonial_charter_maintenance = { + medicaments = 0.1 + salt = 0.2 + weaponry = 0.05 + cloth = 0.2 + tools = 0.05 + category = special_demands +} + + +slave_rgo_demands = { + category = special_demands + slaves_goods = 0.2 +} + +bureaucracy_maintenance = { + category = special_demands + paper = 1.0 + furniture = 0.5 + books = 0.5 +} \ No newline at end of file diff --git a/in_game/common/goods_demand/navy_demands.txt b/in_game/common/goods_demand/navy_demands.txt new file mode 100644 index 0000000..da78470 --- /dev/null +++ b/in_game/common/goods_demand/navy_demands.txt @@ -0,0 +1,506 @@ + +# GALLEY +canoe_construction = { + lumber = 1.0 + category = ship_construction +} +canoe_maintenance = { + lumber = 0.1 + category = ship_maintenance +} +galley_0_construction = { + naval_supplies = 0.5 + tools = 0.5 + weaponry = 0.5 + lumber = 3.0 + category = ship_construction +} +galley_0_maintenance = { + naval_supplies = 0.05 + weaponry = 0.05 + liquor = 0.01 + salt = 0.01 + category = ship_maintenance +} +galley_1_construction = { + naval_supplies = 1.0 + tools = 1.0 + weaponry = 1.0 + lumber = 6.0 + cloth = 0.3 + category = ship_construction +} +galley_1_maintenance = { + naval_supplies = 0.1 + weaponry = 0.1 + liquor = 0.02 + salt = 0.02 + cloth = 0.03 + category = ship_maintenance +} +# +galley_2_construction = { + naval_supplies = 1.0 + tools = 1.0 + weaponry = 1.1 + lumber = 7.0 + cloth = 0.4 + category = ship_construction +} +galley_2_maintenance = { + naval_supplies = 0.18 + weaponry = 0.2 + liquor = 0.036 + salt = 0.036 + cloth = 0.04 + category = ship_maintenance +} +# +galley_3_construction = { + naval_supplies = 1.0 + tools = 1.0 + cannons = 1.5 + lumber = 8.0 + cloth = 0.4 + category = ship_construction +} +galley_3_maintenance = { + naval_supplies = 0.26 + cannons = 0.2 + liquor = 0.052 + salt = 0.052 + cloth = 0.04 + category = ship_maintenance +} +# +galley_4_construction = { + naval_supplies = 1.0 + tools = 1.0 + cannons = 2.0 + lumber = 10.0 + cloth = 0.5 + category = ship_construction +} +galley_4_maintenance = { + naval_supplies = 0.34 + cannons = 0.2 + liquor = 0.068 + salt = 0.068 + cloth = 0.05 + category = ship_maintenance +} +cakradonya_construction = { + naval_supplies = 3.0 + tools = 2.0 + cannons = 4.0 + lumber = 12.0 + cloth = 0.6 + category = ship_construction +} +cakradonya_maintenance = { + naval_supplies = 0.3 + cannons = 0.4 + liquor = 0.04 + salt = 0.04 + cloth = 0.06 + category = ship_maintenance +} +# +galley_5_construction = { + naval_supplies = 1.0 + tools = 1.0 + cannons = 3.0 + lumber = 16.0 + cloth = 0.8 + category = ship_construction +} +galley_5_maintenance = { + naval_supplies = 0.42 + cannons = 0.3 + liquor = 0.084 + salt = 0.084 + cloth = 0.08 + category = ship_maintenance +} +# +galley_6_construction = { + naval_supplies = 1.0 + tools = 1.0 + cannons = 3.7 + lumber = 20.0 + cloth = 1.0 + category = ship_construction +} +galley_6_maintenance = { + naval_supplies = 0.5 + cannons = 0.4 + liquor = 0.1 + salt = 0.1 + cloth = 0.1 + category = ship_maintenance +} + + + + +# LIGHT SHIP +light_ship_1_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 4.0 + weaponry = 0.5 + copper = 0.5 + tin = 0.05 + cloth = 0.4 + category = ship_construction +} +light_ship_1_maintenance = { + naval_supplies = 0.1 + liquor = 0.02 + weaponry = 0.05 + salt = 0.02 + cloth = 0.04 + category = ship_maintenance +} +# +light_ship_2_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 6.0 + weaponry = 1.0 + copper = 0.5 + tin = 0.05 + cloth = 0.6 + category = ship_construction +} +light_ship_2_maintenance = { + naval_supplies = 0.18 + liquor = 0.036 + weaponry = 0.1 + salt = 0.036 + cloth = 0.06 + category = ship_maintenance +} +# +light_ship_3_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 8.0 + cannons = 1.3 + copper = 0.5 + tin = 0.05 + cloth = 0.8 + category = ship_construction +} +light_ship_3_maintenance = { + naval_supplies = 0.26 + liquor = 0.052 + cannons = 0.2 + salt = 0.052 + cloth = 0.08 + category = ship_maintenance +} +# +light_ship_4_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 10.0 + cannons = 1.5 + copper = 0.5 + tin = 0.05 + cloth = 1.0 + category = ship_construction +} +light_ship_4_maintenance = { + naval_supplies = 0.34 + liquor = 0.068 + cannons = 0.2 + salt = 0.068 + cloth = 0.1 + category = ship_maintenance +} +# +light_ship_5_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 16.0 + cannons = 2.5 + copper = 0.5 + tin = 0.05 + cloth = 1.6 + category = ship_construction +} +light_ship_5_maintenance = { + naval_supplies = 0.42 + liquor = 0.084 + cannons = 0.3 + salt = 0.084 + cloth = 0.2 + category = ship_maintenance +} +# +light_ship_6_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 20.0 + cannons = 3.0 + copper = 0.5 + tin = 0.05 + cloth = 2.0 + category = ship_construction +} +light_ship_6_maintenance = { + naval_supplies = 0.5 + liquor = 0.1 + cannons = 0.3 + salt = 0.1 + cloth = 0.2 + category = ship_maintenance +} + +# TRANSPORT +fishing_boat_construction = { + naval_supplies = 0.2 + lumber = 4.0 + category = ship_construction +} +fishing_boat_maintenance = { + naval_supplies = 0.02 + lumber = 0.4 + category = ship_maintenance +} +# +transport_1_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 9.0 + weaponry = 0.4 + cloth = 0.9 + category = ship_construction +} +transport_1_maintenance = { + naval_supplies = 0.1 + weaponry = 0.04 + liquor = 0.02 + salt = 0.02 + cloth = 0.09 + category = ship_maintenance +} +# +transport_2_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 12.0 + weaponry = 0.5 + cloth = 1.2 + category = ship_construction +} +transport_2_maintenance = { + naval_supplies = 0.18 + weaponry = 0.05 + liquor = 0.036 + salt = 0.036 + cloth = 0.2 + category = ship_maintenance +} +# +transport_3_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 15.0 + cannons = 0.6 + cloth = 1.5 + category = ship_construction +} +transport_3_maintenance = { + naval_supplies = 0.26 + cannons = 0.06 + liquor = 0.052 + salt = 0.052 + cloth = 0.2 + category = ship_maintenance +} +# +transport_4_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 18.0 + cannons = 0.8 + cloth = 1.8 + category = ship_construction +} +transport_4_maintenance = { + naval_supplies = 0.34 + cannons = 0.08 + liquor = 0.068 + salt = 0.068 + cloth = 0.2 + category = ship_maintenance +} +# +transport_5_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 30.0 + cannons = 1.3 + cloth = 3.0 + category = ship_construction +} +transport_5_maintenance = { + naval_supplies = 0.42 + cannons = 0.2 + liquor = 0.084 + salt = 0.084 + cloth = 0.3 + category = ship_maintenance +} +# +transport_6_construction = { + naval_supplies = 1.0 + tools = 1.0 + lumber = 36.0 + cannons = 1.5 + cloth = 3.6 + category = ship_construction +} +transport_6_maintenance = { + naval_supplies = 0.5 + cannons = 0.2 + liquor = 0.1 + salt = 0.1 + cloth = 0.4 + category = ship_maintenance +} + +# HEAVY SHIP +heavy_ship_1_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 15.0 + weaponry = 3.8 + copper = 2.5 + tin = 0.2 + cloth = 1.5 + category = ship_construction +} +heavy_ship_1_maintenance = { + naval_supplies = 0.2 + weaponry = 0.4 + liquor = 0.02 + salt = 0.02 + cloth = 0.2 + category = ship_maintenance +} +# +heavy_ship_2_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 20.0 + weaponry = 5.0 + copper = 2.5 + tin = 0.2 + cloth = 2.0 + category = ship_construction +} +heavy_ship_2_maintenance = { + naval_supplies = 0.36 + weaponry = 0.5 + liquor = 0.036 + salt = 0.036 + cloth = 0.2 + category = ship_maintenance +} +# +heavy_ship_3_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 25.0 + cannons = 6.3 + copper = 2.5 + tin = 0.2 + cloth = 2.5 + category = ship_construction +} +heavy_ship_3_maintenance = { + naval_supplies = 0.52 + cannons = 0.7 + liquor = 0.052 + salt = 0.052 + cloth = 0.3 + category = ship_maintenance +} +# +heavy_ship_4_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 30.0 + cannons = 7.5 + copper = 2.5 + tin = 0.2 + cloth = 3.0 + category = ship_construction +} +heavy_ship_4_maintenance = { + naval_supplies = 0.68 + cannons = 0.8 + liquor = 0.068 + salt = 0.068 + cloth = 0.3 + category = ship_maintenance +} +# +heavy_ship_5_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 50.0 + cannons = 12.5 + copper = 2.5 + tin = 0.2 + cloth = 5.0 + category = ship_construction +} +heavy_ship_5_maintenance = { + naval_supplies = 0.84 + cannons = 1.3 + liquor = 0.084 + salt = 0.084 + cloth = 0.5 + category = ship_maintenance +} +# +heavy_ship_6_construction = { + naval_supplies = 2.0 + tools = 1.0 + lumber = 60.0 + cannons = 15.0 + copper = 2.5 + tin = 0.2 + cloth = 6.0 + category = ship_construction +} +heavy_ship_6_maintenance = { + naval_supplies = 1.0 + cannons = 1.5 + liquor = 0.1 + salt = 0.1 + cloth = 0.6 + category = ship_maintenance +} +ship_of_the_line_construction = { + naval_supplies = 4.0 + tools = 2.0 + lumber = 120.0 + cannons = 30.0 + copper = 5.0 + tin = 0.4 + cloth = 12.0 + category = ship_construction +} +ship_of_the_line_maintenance = { + naval_supplies = 1.2 + cannons = 3.0 + liquor = 0.2 + salt = 0.2 + cloth = 1.2 + category = ship_maintenance +} diff --git a/in_game/common/government_reforms/readme.txt b/in_game/common/government_reforms/readme.txt new file mode 100644 index 0000000..055848f --- /dev/null +++ b/in_game/common/government_reforms/readme.txt @@ -0,0 +1,22 @@ +# GOVERNMENT REFORMS +# +# - age: optional age the reform can be used from +# - government: optional government type that supports the reform +# - major: These are exclusive reforms, you can only implement one major one per country +# - unique: Has additional UI fluff +# - block_for_rebel: Cannot be used by rebels +# - locked: to determine if the law is currently locked and cannot be interacted with +# - male_regnal_names: optional list of male names assumed by rulers of the country +# - female_regnal_names: optional list of female names assumed by rulers of the country +# - potential: trigger for whether the action is possible (root = country) +# - allow: trigger for whether the action can start (root = country) +# - years: +# - months: +# - weeks: +# - days: all used to define how long it takes to become fully implemented. Modifiers will be scaled by how much of this time is completed. +# - on_activate: fired when the action is chosen (root = country) +# - on_fully_activated: fired when the action's implementation reaches 100% (instant if there's no time delay) +# - on_deactivate: fired when the action is removed (root = country) +# - country_modifier: which is applied to whole countries +# - province_modifier: which is applied to provinces +# - location_modifier: which is applied to locations diff --git a/in_game/common/government_reforms/republic.txt b/in_game/common/government_reforms/republic.txt new file mode 100644 index 0000000..b777a2f --- /dev/null +++ b/in_game/common/government_reforms/republic.txt @@ -0,0 +1,266 @@ +sortition = { + government = republic + + country_modifier = { + global_burghers_estate_power = 0.1 + tax_income_efficiency = medium_tax_income_efficiency_bonus + monthly_towards_plutocracy = societal_value_monthly_move + } + + years = 2 +} + +merchant_republic = { + major = yes + government = republic + + country_modifier = { + global_merchant_capacity_modifier = 0.50 + trade_income = 0.10 + global_foreign_build_buildings_efficiency = 1.0 + + merchant_maintenance_efficiency = 0.15 + global_integration_speed_modifier = -0.15 + court_language_is_market_language_importance_modifier = 15 + + } + + years = 2 +} + +peasant_republic_reform = { + major = yes + government = republic + + potential = { country_has_estate = estate_type:peasants_estate } + + allow = { + OR = { + has_or_had_tag = DIT + AND = { + "estate_power(estate_type:peasants_estate)" > 0.1 + societal_value:serfdom_vs_free_subjects > 80 + } + + #This is added for countries that should be given access to this through an event etc + has_reform = government_reform:peasant_republic_reform + } + } + + country_modifier = { + global_peasants_estate_power = 1 + global_nobles_estate_power = -0.25 + base_peasants_estate_power_modifier = 9.0 + base_nobles_estate_power_modifier = -0.9 + global_raw_material_output = 0.33 + peasants_estate_target_satisfaction = medium_permanent_target_satisfaction + nobles_estate_target_satisfaction = small_permanent_target_satisfaction_penalty + monthly_towards_decentralization = societal_value_monthly_move + monthly_towards_free_subjects = societal_value_monthly_move + peasants_estate_can_participate_in_parliament = yes + government_reform_slots = 1 + court_language_is_common_language_importance_modifier = 15 + } + + years = 3 +} + +pirate_brethren_reform = { + major = yes + government = republic + + potential = { + has_unlocked_government_reform_trigger = { type = pirate_brethren_reform } + } + + locked = { + always = yes + } + + country_modifier = { + can_hire_privateers = yes + monthly_towards_naval = societal_value_large_monthly_move + navy_maintenance_efficiency = 0.5 + court_language_is_common_language_importance_modifier = 15 + government_reform_slots = 1 + } + + on_activate = { + change_heir_selection = heir_selection:pirate_elective + } + + on_deactivate = { + if = { + limit = { + is_wokou_nation = yes + } + remove_list_global_variable = { + name = wokou_nation_list + target = this + } + } + } + + months = 3 +} + +formalized_measures = { + government = republic + age = age_3_discovery + + country_modifier = { + estate_enrichment = -0.1 + tax_income_efficiency = large_tax_income_efficiency_bonus + monthly_towards_individualism = societal_value_monthly_move + } + + years = 2 +} + +dynastic_signoria_reform = { + content_priority = 1000 + major = yes + government = republic + + potential = { + OR = { + court_language = language:north_italian_language + court_language = language:south_italian_language + } + } + + allow = { + OR = { + "estate_power(estate_type:crown_estate)" > 0.3 + + #Starting tags that are already hereditary + has_or_had_tag = MLO + has_or_had_tag = FER + has_or_had_tag = PAD + has_or_had_tag = RAV + has_or_had_tag = VER + has_or_had_tag = RIM + } + } + + locked = { + OR = { + has_estate_privilege = estate_privilege:visconti_city_states + "estate_power(estate_type:crown_estate)" <= 0.5 + "estate_power(estate_type:nobles_estate)" >= 0.5 + } + } + + on_activate = { + change_heir_selection = heir_selection:signoria_selection + } + + country_modifier = { + government_reform_slots = 1 + nobles_estate_levy_size = 0.1 + replace_cabinet_member_cost_modifier = -0.1 + monthly_prestige = 0.1 + estate_enrichment = -0.1 + } + + years = 2 +} + +signoria_reform = { + major = yes + government = republic + + potential = { + OR = { + court_language = language:north_italian_language + court_language = language:south_italian_language + } + } + + allow = { + } + + locked = { + } + + on_activate = { + change_heir_selection = heir_selection:podesta_elective + } + + country_modifier = { + global_crown_estate_power = -0.1 + improve_relation_impact = 0.1 + replace_cabinet_member_cost_modifier = -0.1 + monthly_towards_decentralization = societal_value_monthly_move + } + + years = 2 +} + +revolutionary_republic = { + major = yes + unique = yes + government = republic + months = 6 + potential = { is_revolutionary = yes } + locked = { + is_locked_mechanic = { + mechanic = government_reform + type = revolutionary_republic + } + } + country_modifier = { + monthly_towards_free_subjects = societal_value_large_monthly_move + global_nobles_estate_power = -1 + nobles_estate_target_satisfaction = huge_permanent_target_satisfaction_penalty + government_reform_slots = 1 + government_size = 1 + } +} + +revolutionary_autocracy = { + major = yes + unique = yes + government = republic + months = 6 + potential = { is_revolutionary = yes } + locked = { + is_locked_mechanic = { + mechanic = government_reform + type = revolutionary_autocracy + } + } + country_modifier = { + monthly_republican_tradition = -0.03 + global_crown_estate_power = 0.5 + government_reform_slots = 1 + government_size = 1 + monthly_towards_absolutism = societal_value_monthly_move + } +} + +hanseatic_merchant_federation = { + content_priority = 1100 + unique = yes + government = republic + + potential = { + has_or_had_tag = HSA + country_type = building + } + + locked = { + country_type = building + } + + country_modifier = { + cannot_be_subjugated = yes + global_burghers_estate_power = -0.5 + merchant_maintenance_efficiency = 0.50 + allows_hanseatic_federation_buildings = yes + legislative_efficiency = -0.5 + court_language_is_market_language_importance_modifier = 15 + } + + years = 2 +} \ No newline at end of file diff --git a/in_game/common/international_organization_payments/readme.txt b/in_game/common/international_organization_payments/readme.txt new file mode 100644 index 0000000..f4207c8 --- /dev/null +++ b/in_game/common/international_organization_payments/readme.txt @@ -0,0 +1,17 @@ +# International Organization Payments +# +# A regular monthly payment that [optionally] goes from some members of the organization [optionally] to others. +# +# ATTRIBUTES +# +# - get_payer_list: effect to populate a list with the payers. Payers can be anything that has an account - that means countries or estates. Use add_to_local_variable_list = payers in the scope of the objects you want to add. (root = international organization) +# - get_payee_list: effect to populate a list with the payees. Payees can be anything that has an account - that means countries or estates. Use add_to_local_variable_list = payees in the scope of the objects you want to add. (root = international organization) +# - price: base price of the total payment +# - price_multiplier: